From 2eef0a9361e7e248a561796932973c7e8554f7f5 Mon Sep 17 00:00:00 2001 From: Mikhail Malyshev Date: Mon, 27 Jul 2026 17:10:28 +0000 Subject: [PATCH 1/4] api: add CPU placement policy, topology reporting and structured error codes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit One-shot additive API for topology-aware CPU placement (SMT/NUMA-aware pinning and isolation), sized for all delivery phases so later phases only populate and honor a growing subset: - info/hardware.proto: extend the per-logical-CPU CPU message with topology coordinates (socket_id, core_id, numa_node, l2_id, l3_id), core class (P/E/LP) and base/max frequency; add CacheDomain (cache -> cores linkage) and CPUCapabilities (CPU-silicon RDT facts) to CPUInfo; add granular kernel/boot-level isolation facts (NodeCapabilities) to HardwareInventory — consumers derive higher-level notions such as "isolation tier achievable for this workload type" from these ingredients instead of the node precomputing them; add NUMA/CPU affinity to PCIDevice for future device-local placement and RDT-for-I/O. NodeCapabilities is deliberately scoped to what the hardware and the RUNNING KERNEL provide; what the EVE software is able to do with those facts is reported separately (see below), so a hardware fact never changes meaning when EVE gains or loses a feature. - info/info.proto: report EVE-software ability separately from hardware facts. Add OptionalCapabilities.managed_cpu_isolation (EVE can derive a CPU-isolation kernel command line from its own placement plan and apply it, reboot-gated) — an EVE-software ability, not a hardware or kernel fact. Add API_CAPABILITY_CPU_PLACEMENT_POLICY so a controller can tell whether an EVE parses and honors the new VmConfig fields at all, following the existing api_capability convention. A consumer deciding whether a feature is offerable must consult both channels: hardware/ kernel capable AND EVE software capable — they fail differently, one is fixable by updating EVE, the other is not fixable on that node. - config/vm.proto: per-workload CPU placement intent on VmConfig (cpu_policy, full_pcpus_only, threads_per_core, numa_policy, io_placement, isolation_tier, disruption_policy), Kubernetes-aligned vocabulary. Legacy pin_cpu=true maps to CPU_POLICY_DEDICATED with default allocation. Document the two-channel capability gating a controller must apply before offering or sending these fields, mirroring the API_CAPABILITY_ENFORCED_NET_INTERFACE_ORDER precedent. - info/common.proto: machine-parseable, namespaced error_code on ErrorInfo (e.g. cpu.placement.insufficient) alongside the free-text description. Signed-off-by: Mikhail Malyshev --- proto/config/vm.proto | 146 +++++++++++++++++++++++++++++++++++++- proto/info/common.proto | 6 ++ proto/info/hardware.proto | 95 +++++++++++++++++++++++++ proto/info/info.proto | 9 +++ 4 files changed, 255 insertions(+), 1 deletion(-) diff --git a/proto/config/vm.proto b/proto/config/vm.proto index ff32e986..ec46f800 100644 --- a/proto/config/vm.proto +++ b/proto/config/vm.proto @@ -23,6 +23,84 @@ enum VmMode { LEGACY = 5; // HVM, but with fully emulated legacy I/O (IDE disks and e1000 net) } +// CpuPolicy selects how a workload's vCPUs are placed on host CPUs. +// Vocabulary follows the Kubernetes CPUManager model so the same intent +// translates to both the eve-kvm and eve-k (KubeVirt) variants. +enum CpuPolicy { + // Not set: legacy behavior. If pin_cpu is true the workload is treated + // as CPU_POLICY_DEDICATED with default allocation; otherwise shared. + CPU_POLICY_UNSPECIFIED = 0; + // Best-effort placement in the shared pool (no pinning). + CPU_POLICY_SHARED = 1; + // The workload gets host CPUs of its own; no other workload runs on + // them. Details are refined by full_pcpus_only / threads_per_core. + CPU_POLICY_DEDICATED = 2; +} + +// NumaPolicy expresses how strictly a dedicated workload's CPUs (and +// memory) must be confined to a single NUMA node. Mirrors the Kubernetes +// TopologyManager policies. +enum NumaPolicy { + // Defaults to NUMA_POLICY_BEST_EFFORT. + NUMA_POLICY_UNSPECIFIED = 0; + // No NUMA preference. + NUMA_POLICY_NONE = 1; + // Prefer a single NUMA node; span nodes only if it does not fit. + NUMA_POLICY_BEST_EFFORT = 2; + // Restricted placement: minimize the nodes spanned; fail-closed only + // if no placement exists at all. + NUMA_POLICY_RESTRICTED = 3; + // Must fit in one NUMA node; the workload does not start otherwise. + NUMA_POLICY_SINGLE_NUMA_NODE = 4; +} + +// IoPlacement selects where the hypervisor's non-vCPU threads (emulator, +// IO) of a dedicated workload run. +enum IoPlacement { + // Defaults to IO_PLACEMENT_DEDICATED. + IO_PLACEMENT_UNSPECIFIED = 0; + // Emulator/IO threads stay within the workload's dedicated CPU set. + IO_PLACEMENT_DEDICATED = 1; + // Emulator/IO threads are pinned off the dedicated cores onto the + // node's housekeeping set, so device emulation cannot steal cycles + // from busy (e.g. poll-mode) vCPUs. + IO_PLACEMENT_HOUSEKEEPING = 2; +} + +// IsolationTier expresses how strongly a workload's CPUs must be shielded +// from interference. It is workload intent: the device derives whether the +// requested tier is achievable for this workload type from the node's +// granular capability report (info NodeCapabilities) and fails closed with +// a structured error if it is not. +enum IsolationTier { + // Defaults: ISOLATION_TIER_NONE for shared workloads, + // ISOLATION_TIER_SOFT for dedicated (pinned) workloads. + ISOLATION_TIER_UNSPECIFIED = 0; + // No isolation beyond best-effort shared scheduling. + ISOLATION_TIER_NONE = 1; + // cpuset pinning + SMT/NUMA-aware placement; no other workload runs on + // the workload's cores. Applied at runtime, no reboot required. + ISOLATION_TIER_SOFT = 2; + // Kernel-level isolation (isolcpus/nohz_full/rcu_nocbs) on top of soft + // isolation; sheds kernel housekeeping from the cores. Requires a kernel + // command-line change and therefore a node reboot to apply. + ISOLATION_TIER_HARD = 3; +} + +// DisruptionPolicy guards a running workload against collateral +// node-level disruptive actions (reboot/shutdown). +enum DisruptionPolicy { + // Defaults to DISRUPTION_POLICY_ALLOW. + DISRUPTION_POLICY_UNSPECIFIED = 0; + // Node-level disruptive actions proceed normally. + DISRUPTION_POLICY_ALLOW = 1; + // A node-level disruptive action that would take this running workload + // down is deferred and reported; the controller must re-issue the + // action with an explicit acknowledge to proceed. A targeted per-app + // restart is not deferred — it is itself the explicit decision. + DISRUPTION_POLICY_PROTECT = 2; +} + // Boot mechanisms supported by the BIOS of the Virtual Machine enum VmBootMode { VM_BOOT_MODE_UNSPECIFIED = 0; // Boot mode not specified, use default @@ -47,11 +125,17 @@ message VmConfig { string rootdev = 7; string extraargs = 8; string bootloader = 9; - // Currently is not handled by EVE. + // Currently is not handled by EVE, and superseded — do not build on it. // CPU mask of the CPUs assigned to the VM. Represented in the form // "d[[,-]d]*". E.g. "0-2" or "0-2,5,6". CPUs start with 0. For example, the // mask "0,3" would mean that only physical CPUs 0 and 3 are available for // the VM. + // + // EVE has never parsed this field, and it is not planned to: naming concrete + // host CPUs is the device's responsibility, not the controller's. A workload + // expresses *what it needs* through the CPU placement policy below + // (cpu_policy and friends) and the device selects cores that satisfy it, + // topology-aware. Use cpu_policy instead. string cpus = 10; string devicetree = 11; repeated string dtdev = 12; @@ -72,6 +156,12 @@ message VmConfig { // for running QEMU threads are picked automatically by Pillar: it just takes // that amount of available physical CPUs that is defined with the 'vcpus' // parameter defined above. + // + // Superseded by cpu_policy below, which expresses HOW to pin (whole cores vs + // threads, NUMA strictness, where emulator/IO threads go, isolation) instead + // of only WHETHER to pin. Retained for backward compatibility: pin_cpu=true + // with cpu_policy unset is treated as CPU_POLICY_DEDICATED with default + // allocation; when cpu_policy is set it takes precedence over pin_cpu. bool pin_cpu = 20; // Maximum amount of memory in kbytes allowed for VM monitor to occupy, // aka "overhead". E.g. for the qemu-kvm hypervisor the memory limit @@ -115,4 +205,58 @@ message VmConfig { // The setting is passed to OVMF via fw_cfg "opt/eve.bootorder" when the VM starts. // Changes take effect on the next VM restart. org.lfedge.eve.common.BootOrder boot_order = 27; + + // ------------------------------------------------------------------ + // CPU placement policy (topology-aware pinning & isolation). + // + // The controller expresses intent; the device picks the concrete host + // CPUs. A workload with no policy (cpu_policy unset, pin_cpu false) + // behaves exactly as before — best-effort shared placement. + // + // Back-compat: cpu_policy unset with legacy pin_cpu=true (field 20) is + // treated as CPU_POLICY_DEDICATED with default allocation. When + // cpu_policy is set, it takes precedence over pin_cpu. + // + // Capability gating — the controller MUST consult two independent channels + // before offering or sending these fields, because they fail differently: + // 1. EVE software: check "ZInfoDevice.api_capability" >= + // "API_CAPABILITY_CPU_PLACEMENT_POLICY", otherwise an older EVE will + // silently ignore the fields (fixable by updating EVE). For abilities + // that are not a linear API progression, e.g. whether EVE can manage the + // CPU-isolation kernel command line itself, see + // "ZInfoDevice.optional_capabilities". + // 2. Hardware/kernel: check the node's reported topology and facts in info + // HardwareInventory (CPUInfo.cpus topology coordinates, CPUInfo.caches, + // CPUInfo.capabilities for RDT, node_capabilities for kernel isolation), + // otherwise the node cannot satisfy the request at all (not fixable on + // that node). + // A request that the node cannot satisfy fails closed with a structured + // error_code (see info ErrorInfo.error_code), it is never silently degraded. + // ------------------------------------------------------------------ + + // Pin or not; see enum. CPU_POLICY_DEDICATED activates the fields below. + CpuPolicy cpu_policy = 28; + // Require whole physical cores: no other workload runs on any SMT + // sibling of the workload's cores. Without it, allocation is at + // SMT-thread granularity and a physical core may be shared. + // Mirrors the Kubernetes CPUManager "full-pcpus-only" option. + bool full_pcpus_only = 29; + // With full_pcpus_only, how many SMT siblings of each core become + // vCPUs: 2 = whole-core-SMT (both siblings are vCPUs, guest sees + // threads=2; requires an even vcpus count), 1 = one-per-core (sibling + // parked idle, guest sees threads=1). 0/unset defaults to 2 on SMT + // hardware. The guest is shown a truthful sockets/cores/threads + // topology and vCPUs are pinned 1:1, so guest sibling pairs correspond + // to real host sibling pairs. + uint32 threads_per_core = 30; + // NUMA confinement for the dedicated CPUs; default best-effort. + NumaPolicy numa_policy = 31; + // Placement of hypervisor emulator/IO threads; default dedicated. + IoPlacement io_placement = 32; + // Requested isolation tier; default soft for dedicated workloads. + // Requesting a tier this node/workload-type cannot satisfy fails closed + // with a structured error. + IsolationTier isolation_tier = 33; + // Protection against collateral node-level disruption; default allow. + DisruptionPolicy disruption_policy = 34; } diff --git a/proto/info/common.proto b/proto/info/common.proto index 9e660574..04976d01 100644 --- a/proto/info/common.proto +++ b/proto/info/common.proto @@ -16,6 +16,12 @@ message ErrorInfo { Severity severity = 3; // Severity level of the error. repeated DeviceEntity entities = 4; // Device entities referenced in the description or retry condition. string retry_condition = 5; // Condition under which the operation may be retried. + // Machine-parseable, namespaced error token (e.g. + // "cpu.placement.insufficient"), stable across EVE releases, so the + // controller can react programmatically without parsing the free-text + // description. Namespaces form an open registry extended additively + // per domain; an empty value means no structured code is available. + string error_code = 6; } // Severity tells the severity type diff --git a/proto/info/hardware.proto b/proto/info/hardware.proto index 043cbe12..3048e29b 100644 --- a/proto/info/hardware.proto +++ b/proto/info/hardware.proto @@ -65,6 +65,15 @@ message PCIDevice { uint64 subclass_id = 9; // IOMMU group names apparently are strings: https://elixir.bootlin.com/linux/v6.16.9/source/drivers/iommu/iommu.c#L1101 string iommu_group = 10; + // NUMA node this device's DMA/interrupts are local to, from sysfs + // /sys/bus/pci/devices//numa_node. -1 means the platform does + // not report an affinity. Unset means EVE did not populate it. + // Cross-references CPU.numa_node in CPUInfo, enabling NUMA-local + // placement of a workload relative to its passthrough device. + optional int32 numa_node = 11; + // Logical CPU ids local to this device, from sysfs local_cpulist. + // Cross-references CPU.id in CPUInfo. + repeated uint32 local_cpu_ids = 12; } message SerialPort { @@ -108,15 +117,99 @@ message BIOS { map attributes = 1000; } +// CoreClass distinguishes core types on heterogeneous (hybrid) CPUs, +// e.g. Intel P/E cores or ARM big.LITTLE. Homogeneous parts report +// CORE_CLASS_UNSPECIFIED for all cores. +enum CoreClass { + CORE_CLASS_UNSPECIFIED = 0; + CORE_CLASS_PERFORMANCE = 1; // e.g. Intel P-core, ARM "big" + CORE_CLASS_EFFICIENCY = 2; // e.g. Intel E-core, ARM "LITTLE" + CORE_CLASS_LOW_POWER = 3; // e.g. Intel LP E-core +} + +// CacheLevel identifies a CPU cache level for CacheDomain. +enum CacheLevel { + CACHE_LEVEL_UNSPECIFIED = 0; + CACHE_LEVEL_L1D = 1; // level-1 data cache + CACHE_LEVEL_L1I = 2; // level-1 instruction cache + CACHE_LEVEL_L2 = 3; + CACHE_LEVEL_L3 = 4; +} + +// One entry per logical CPU (SMT thread) — the schedulable unit. +// The topology coordinates (socket/core/NUMA/cache ids) are opaque +// grouping keys: equal values mean "same domain"; the values are not +// guaranteed contiguous or zero-based. Logical CPUs sharing +// (socket_id, core_id) are SMT siblings of one physical core. message CPU { string model = 1; string vendor = 2; // e.g. "GenuineIntel" uint32 id = 3; // logical CPU id uint64 freq = 4; // nominal frequency + uint32 socket_id = 5; // physical package (socket) + uint32 core_id = 6; // physical core within the socket + uint32 numa_node = 7; // NUMA node the CPU belongs to + uint32 l2_id = 8; // L2 cache domain id + uint32 l3_id = 9; // L3 cache domain id + CoreClass core_class = 10; // P/E/LP class on hybrid parts + uint64 base_freq_khz = 11; // base frequency, kHz + uint64 max_freq_khz = 12; // max (turbo) frequency, kHz +} + +// CacheDomain describes one cache instance and the logical CPUs sharing +// it — the cache→cores linkage (values of CPU.id). Note that on some +// parts a cache domain spans multiple physical cores that are NOT SMT +// siblings (e.g. an Intel E-core module shares one L2 across four +// distinct cores); sibling grouping must use (socket_id, core_id), never +// a cache id. +message CacheDomain { + CacheLevel level = 1; + uint64 size_bytes = 2; + // Logical CPU ids (CPU.id) sharing this cache instance. + repeated uint32 cpu_ids = 3; + // Domain id as reported by the platform; opaque grouping key, + // matching CPU.l2_id / CPU.l3_id for the respective level. + uint32 id = 4; +} + +// CPUCapabilities reports CPU-hardware (silicon) resource-control +// features. Kernel/boot-level facts are NOT CPU properties and are +// reported separately in NodeCapabilities. +message CPUCapabilities { + bool rdt_l3_cat = 1; // Intel RDT L3 cache allocation available + bool rdt_mba = 2; // Intel RDT memory-bandwidth allocation available + uint32 num_clos = 3; // number of RDT classes of service (if rdt_*) } message CPUInfo { repeated CPU cpus = 1; + // Cache domains with their cache→cores linkage. + repeated CacheDomain caches = 2; + CPUCapabilities capabilities = 3; +} + +// NodeCapabilities reports granular kernel/boot-level facts relevant to +// workload CPU isolation. Deliberately low-level and factual: higher-level +// notions (e.g. which isolation tier is achievable for a given workload +// type) are derived by the consumer from these ingredients rather than +// precomputed by the node, so new ingredients can be added additively +// without changing the meaning of existing ones. +// +// Scope: this message reports only what the HARDWARE and the RUNNING KERNEL +// provide. What the EVE software itself is able to do with those facts is a +// separate concern and is reported through the device's software-capability +// channels (ZInfoDevice.optional_capabilities and ZInfoDevice.api_capability), +// so a hardware fact never has to change meaning when EVE gains or loses a +// feature. A consumer deciding whether a feature is offerable must consult +// both: hardware/kernel capable AND EVE software capable. +message NodeCapabilities { + // Logical CPUs currently isolated from the scheduler by the + // running kernel (isolcpus), from /sys/devices/system/cpu/isolated. + repeated uint32 isolated_cpu_ids = 1; + // Logical CPUs with the scheduler tick shed (nohz_full). + repeated uint32 nohz_full_cpu_ids = 2; + // Logical CPUs whose RCU callbacks are offloaded (rcu_nocbs). + repeated uint32 rcu_nocbs_cpu_ids = 3; } message TPM { @@ -153,6 +246,8 @@ message HardwareInventory { bool watchdog_present = 13; TPM tpm = 14; bool status_led_present = 15; + // Granular kernel/boot-level isolation facts (node, not CPU, properties). + NodeCapabilities node_capabilities = 16; // Free-form extension for things not modeled yet. // New keys must be promoted to typed fields in a follow-up. map misc = 1000; diff --git a/proto/info/info.proto b/proto/info/info.proto index c9ec7ce7..9f9338c1 100644 --- a/proto/info/info.proto +++ b/proto/info/info.proto @@ -651,6 +651,14 @@ message OptionalCapabilities { bool hw_inventory_support = 2; // Device supports etcd snapshots (e.g. eve-k flavor) bool etcd_snapshot = 3; + // EVE is able to derive a CPU-isolation kernel command line + // (isolcpus/nohz_full/rcu_nocbs) from its own CPU placement plan and apply + // it itself, which takes effect on the next boot (reboot-gated). False means + // EVE will only schedule into a statically provisioned isolated pool, if the + // running kernel reports one (see info HardwareInventory.node_capabilities). + // This is an EVE-software ability, not a hardware or kernel fact, which is + // why it lives here and not in the hardware inventory. + bool managed_cpu_isolation = 4; } // Capabilities indicates features in the EdgeDevConfig where there is @@ -682,6 +690,7 @@ enum APICapability { API_CAPABILITY_SMART_REPORT = 20; // Support for S.M.A.R.T. info on physical storage devices API_CAPABILITY_REPORT_TPM_EVENTLOG = 21; // Support for reporting TPM Event Log "as is" without parsing and selectively reporting events API_CAPABILITY_APP_INSTANCE_NET_INTERFACE_CHANGE = 22; // Support for adding and removing network interfaces without purge, but restart or the edge app + API_CAPABILITY_CPU_PLACEMENT_POLICY = 23; // VmConfig CPU placement policy fields (cpu_policy, full_pcpus_only, threads_per_core, numa_policy, io_placement, isolation_tier, disruption_policy) are parsed and honored // Add new values as new EdgeDevConfig API features are implemented } From 35e99182fb0e49b50a536524dcbb178c7c2a6a10 Mon Sep 17 00:00:00 2001 From: Mikhail Malyshev Date: Mon, 27 Jul 2026 17:10:28 +0000 Subject: [PATCH 2/4] generated files: api: add CPU placement policy, topology reporting and structured error codes - add generated files. Signed-off-by: Mikhail Malyshev --- go/config/vm.pb.go | 526 ++++++++- go/info/common.pb.go | 91 +- go/info/hardware.pb.go | 951 +++++++++++++--- go/info/info.pb.go | 2148 ++++++++++++++++++----------------- python/config/vm_pb2.py | 22 +- python/info/common_pb2.py | 16 +- python/info/hardware_pb2.py | 58 +- python/info/info_pb2.py | 250 ++-- 8 files changed, 2579 insertions(+), 1483 deletions(-) diff --git a/go/config/vm.pb.go b/go/config/vm.pb.go index 6fe7a5d1..5369fa79 100644 --- a/go/config/vm.pb.go +++ b/go/config/vm.pb.go @@ -86,6 +86,305 @@ func (VmMode) EnumDescriptor() ([]byte, []int) { return file_config_vm_proto_rawDescGZIP(), []int{0} } +// CpuPolicy selects how a workload's vCPUs are placed on host CPUs. +// Vocabulary follows the Kubernetes CPUManager model so the same intent +// translates to both the eve-kvm and eve-k (KubeVirt) variants. +type CpuPolicy int32 + +const ( + // Not set: legacy behavior. If pin_cpu is true the workload is treated + // as CPU_POLICY_DEDICATED with default allocation; otherwise shared. + CpuPolicy_CPU_POLICY_UNSPECIFIED CpuPolicy = 0 + // Best-effort placement in the shared pool (no pinning). + CpuPolicy_CPU_POLICY_SHARED CpuPolicy = 1 + // The workload gets host CPUs of its own; no other workload runs on + // them. Details are refined by full_pcpus_only / threads_per_core. + CpuPolicy_CPU_POLICY_DEDICATED CpuPolicy = 2 +) + +// Enum value maps for CpuPolicy. +var ( + CpuPolicy_name = map[int32]string{ + 0: "CPU_POLICY_UNSPECIFIED", + 1: "CPU_POLICY_SHARED", + 2: "CPU_POLICY_DEDICATED", + } + CpuPolicy_value = map[string]int32{ + "CPU_POLICY_UNSPECIFIED": 0, + "CPU_POLICY_SHARED": 1, + "CPU_POLICY_DEDICATED": 2, + } +) + +func (x CpuPolicy) Enum() *CpuPolicy { + p := new(CpuPolicy) + *p = x + return p +} + +func (x CpuPolicy) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CpuPolicy) Descriptor() protoreflect.EnumDescriptor { + return file_config_vm_proto_enumTypes[1].Descriptor() +} + +func (CpuPolicy) Type() protoreflect.EnumType { + return &file_config_vm_proto_enumTypes[1] +} + +func (x CpuPolicy) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CpuPolicy.Descriptor instead. +func (CpuPolicy) EnumDescriptor() ([]byte, []int) { + return file_config_vm_proto_rawDescGZIP(), []int{1} +} + +// NumaPolicy expresses how strictly a dedicated workload's CPUs (and +// memory) must be confined to a single NUMA node. Mirrors the Kubernetes +// TopologyManager policies. +type NumaPolicy int32 + +const ( + // Defaults to NUMA_POLICY_BEST_EFFORT. + NumaPolicy_NUMA_POLICY_UNSPECIFIED NumaPolicy = 0 + // No NUMA preference. + NumaPolicy_NUMA_POLICY_NONE NumaPolicy = 1 + // Prefer a single NUMA node; span nodes only if it does not fit. + NumaPolicy_NUMA_POLICY_BEST_EFFORT NumaPolicy = 2 + // Restricted placement: minimize the nodes spanned; fail-closed only + // if no placement exists at all. + NumaPolicy_NUMA_POLICY_RESTRICTED NumaPolicy = 3 + // Must fit in one NUMA node; the workload does not start otherwise. + NumaPolicy_NUMA_POLICY_SINGLE_NUMA_NODE NumaPolicy = 4 +) + +// Enum value maps for NumaPolicy. +var ( + NumaPolicy_name = map[int32]string{ + 0: "NUMA_POLICY_UNSPECIFIED", + 1: "NUMA_POLICY_NONE", + 2: "NUMA_POLICY_BEST_EFFORT", + 3: "NUMA_POLICY_RESTRICTED", + 4: "NUMA_POLICY_SINGLE_NUMA_NODE", + } + NumaPolicy_value = map[string]int32{ + "NUMA_POLICY_UNSPECIFIED": 0, + "NUMA_POLICY_NONE": 1, + "NUMA_POLICY_BEST_EFFORT": 2, + "NUMA_POLICY_RESTRICTED": 3, + "NUMA_POLICY_SINGLE_NUMA_NODE": 4, + } +) + +func (x NumaPolicy) Enum() *NumaPolicy { + p := new(NumaPolicy) + *p = x + return p +} + +func (x NumaPolicy) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (NumaPolicy) Descriptor() protoreflect.EnumDescriptor { + return file_config_vm_proto_enumTypes[2].Descriptor() +} + +func (NumaPolicy) Type() protoreflect.EnumType { + return &file_config_vm_proto_enumTypes[2] +} + +func (x NumaPolicy) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use NumaPolicy.Descriptor instead. +func (NumaPolicy) EnumDescriptor() ([]byte, []int) { + return file_config_vm_proto_rawDescGZIP(), []int{2} +} + +// IoPlacement selects where the hypervisor's non-vCPU threads (emulator, +// IO) of a dedicated workload run. +type IoPlacement int32 + +const ( + // Defaults to IO_PLACEMENT_DEDICATED. + IoPlacement_IO_PLACEMENT_UNSPECIFIED IoPlacement = 0 + // Emulator/IO threads stay within the workload's dedicated CPU set. + IoPlacement_IO_PLACEMENT_DEDICATED IoPlacement = 1 + // Emulator/IO threads are pinned off the dedicated cores onto the + // node's housekeeping set, so device emulation cannot steal cycles + // from busy (e.g. poll-mode) vCPUs. + IoPlacement_IO_PLACEMENT_HOUSEKEEPING IoPlacement = 2 +) + +// Enum value maps for IoPlacement. +var ( + IoPlacement_name = map[int32]string{ + 0: "IO_PLACEMENT_UNSPECIFIED", + 1: "IO_PLACEMENT_DEDICATED", + 2: "IO_PLACEMENT_HOUSEKEEPING", + } + IoPlacement_value = map[string]int32{ + "IO_PLACEMENT_UNSPECIFIED": 0, + "IO_PLACEMENT_DEDICATED": 1, + "IO_PLACEMENT_HOUSEKEEPING": 2, + } +) + +func (x IoPlacement) Enum() *IoPlacement { + p := new(IoPlacement) + *p = x + return p +} + +func (x IoPlacement) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (IoPlacement) Descriptor() protoreflect.EnumDescriptor { + return file_config_vm_proto_enumTypes[3].Descriptor() +} + +func (IoPlacement) Type() protoreflect.EnumType { + return &file_config_vm_proto_enumTypes[3] +} + +func (x IoPlacement) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use IoPlacement.Descriptor instead. +func (IoPlacement) EnumDescriptor() ([]byte, []int) { + return file_config_vm_proto_rawDescGZIP(), []int{3} +} + +// IsolationTier expresses how strongly a workload's CPUs must be shielded +// from interference. It is workload intent: the device derives whether the +// requested tier is achievable for this workload type from the node's +// granular capability report (info NodeCapabilities) and fails closed with +// a structured error if it is not. +type IsolationTier int32 + +const ( + // Defaults: ISOLATION_TIER_NONE for shared workloads, + // ISOLATION_TIER_SOFT for dedicated (pinned) workloads. + IsolationTier_ISOLATION_TIER_UNSPECIFIED IsolationTier = 0 + // No isolation beyond best-effort shared scheduling. + IsolationTier_ISOLATION_TIER_NONE IsolationTier = 1 + // cpuset pinning + SMT/NUMA-aware placement; no other workload runs on + // the workload's cores. Applied at runtime, no reboot required. + IsolationTier_ISOLATION_TIER_SOFT IsolationTier = 2 + // Kernel-level isolation (isolcpus/nohz_full/rcu_nocbs) on top of soft + // isolation; sheds kernel housekeeping from the cores. Requires a kernel + // command-line change and therefore a node reboot to apply. + IsolationTier_ISOLATION_TIER_HARD IsolationTier = 3 +) + +// Enum value maps for IsolationTier. +var ( + IsolationTier_name = map[int32]string{ + 0: "ISOLATION_TIER_UNSPECIFIED", + 1: "ISOLATION_TIER_NONE", + 2: "ISOLATION_TIER_SOFT", + 3: "ISOLATION_TIER_HARD", + } + IsolationTier_value = map[string]int32{ + "ISOLATION_TIER_UNSPECIFIED": 0, + "ISOLATION_TIER_NONE": 1, + "ISOLATION_TIER_SOFT": 2, + "ISOLATION_TIER_HARD": 3, + } +) + +func (x IsolationTier) Enum() *IsolationTier { + p := new(IsolationTier) + *p = x + return p +} + +func (x IsolationTier) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (IsolationTier) Descriptor() protoreflect.EnumDescriptor { + return file_config_vm_proto_enumTypes[4].Descriptor() +} + +func (IsolationTier) Type() protoreflect.EnumType { + return &file_config_vm_proto_enumTypes[4] +} + +func (x IsolationTier) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use IsolationTier.Descriptor instead. +func (IsolationTier) EnumDescriptor() ([]byte, []int) { + return file_config_vm_proto_rawDescGZIP(), []int{4} +} + +// DisruptionPolicy guards a running workload against collateral +// node-level disruptive actions (reboot/shutdown). +type DisruptionPolicy int32 + +const ( + // Defaults to DISRUPTION_POLICY_ALLOW. + DisruptionPolicy_DISRUPTION_POLICY_UNSPECIFIED DisruptionPolicy = 0 + // Node-level disruptive actions proceed normally. + DisruptionPolicy_DISRUPTION_POLICY_ALLOW DisruptionPolicy = 1 + // A node-level disruptive action that would take this running workload + // down is deferred and reported; the controller must re-issue the + // action with an explicit acknowledge to proceed. A targeted per-app + // restart is not deferred — it is itself the explicit decision. + DisruptionPolicy_DISRUPTION_POLICY_PROTECT DisruptionPolicy = 2 +) + +// Enum value maps for DisruptionPolicy. +var ( + DisruptionPolicy_name = map[int32]string{ + 0: "DISRUPTION_POLICY_UNSPECIFIED", + 1: "DISRUPTION_POLICY_ALLOW", + 2: "DISRUPTION_POLICY_PROTECT", + } + DisruptionPolicy_value = map[string]int32{ + "DISRUPTION_POLICY_UNSPECIFIED": 0, + "DISRUPTION_POLICY_ALLOW": 1, + "DISRUPTION_POLICY_PROTECT": 2, + } +) + +func (x DisruptionPolicy) Enum() *DisruptionPolicy { + p := new(DisruptionPolicy) + *p = x + return p +} + +func (x DisruptionPolicy) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DisruptionPolicy) Descriptor() protoreflect.EnumDescriptor { + return file_config_vm_proto_enumTypes[5].Descriptor() +} + +func (DisruptionPolicy) Type() protoreflect.EnumType { + return &file_config_vm_proto_enumTypes[5] +} + +func (x DisruptionPolicy) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DisruptionPolicy.Descriptor instead. +func (DisruptionPolicy) EnumDescriptor() ([]byte, []int) { + return file_config_vm_proto_rawDescGZIP(), []int{5} +} + // Boot mechanisms supported by the BIOS of the Virtual Machine type VmBootMode int32 @@ -120,11 +419,11 @@ func (x VmBootMode) String() string { } func (VmBootMode) Descriptor() protoreflect.EnumDescriptor { - return file_config_vm_proto_enumTypes[1].Descriptor() + return file_config_vm_proto_enumTypes[6].Descriptor() } func (VmBootMode) Type() protoreflect.EnumType { - return &file_config_vm_proto_enumTypes[1] + return &file_config_vm_proto_enumTypes[6] } func (x VmBootMode) Number() protoreflect.EnumNumber { @@ -133,7 +432,7 @@ func (x VmBootMode) Number() protoreflect.EnumNumber { // Deprecated: Use VmBootMode.Descriptor instead. func (VmBootMode) EnumDescriptor() ([]byte, []int) { - return file_config_vm_proto_rawDescGZIP(), []int{1} + return file_config_vm_proto_rawDescGZIP(), []int{6} } type VmConfig struct { @@ -157,11 +456,17 @@ type VmConfig struct { Rootdev string `protobuf:"bytes,7,opt,name=rootdev,proto3" json:"rootdev,omitempty"` Extraargs string `protobuf:"bytes,8,opt,name=extraargs,proto3" json:"extraargs,omitempty"` Bootloader string `protobuf:"bytes,9,opt,name=bootloader,proto3" json:"bootloader,omitempty"` - // Currently is not handled by EVE. + // Currently is not handled by EVE, and superseded — do not build on it. // CPU mask of the CPUs assigned to the VM. Represented in the form // "d[[,-]d]*". E.g. "0-2" or "0-2,5,6". CPUs start with 0. For example, the // mask "0,3" would mean that only physical CPUs 0 and 3 are available for // the VM. + // + // EVE has never parsed this field, and it is not planned to: naming concrete + // host CPUs is the device's responsibility, not the controller's. A workload + // expresses *what it needs* through the CPU placement policy below + // (cpu_policy and friends) and the device selects cores that satisfy it, + // topology-aware. Use cpu_policy instead. Cpus string `protobuf:"bytes,10,opt,name=cpus,proto3" json:"cpus,omitempty"` Devicetree string `protobuf:"bytes,11,opt,name=devicetree,proto3" json:"devicetree,omitempty"` Dtdev []string `protobuf:"bytes,12,rep,name=dtdev,proto3" json:"dtdev,omitempty"` @@ -182,6 +487,12 @@ type VmConfig struct { // for running QEMU threads are picked automatically by Pillar: it just takes // that amount of available physical CPUs that is defined with the 'vcpus' // parameter defined above. + // + // Superseded by cpu_policy below, which expresses HOW to pin (whole cores vs + // threads, NUMA strictness, where emulator/IO threads go, isolation) instead + // of only WHETHER to pin. Retained for backward compatibility: pin_cpu=true + // with cpu_policy unset is treated as CPU_POLICY_DEDICATED with default + // allocation; when cpu_policy is set it takes precedence over pin_cpu. PinCpu bool `protobuf:"varint,20,opt,name=pin_cpu,json=pinCpu,proto3" json:"pin_cpu,omitempty"` // Maximum amount of memory in kbytes allowed for VM monitor to occupy, // aka "overhead". E.g. for the qemu-kvm hypervisor the memory limit @@ -225,6 +536,31 @@ type VmConfig struct { // The setting is passed to OVMF via fw_cfg "opt/eve.bootorder" when the VM starts. // Changes take effect on the next VM restart. BootOrder evecommon.BootOrder `protobuf:"varint,27,opt,name=boot_order,json=bootOrder,proto3,enum=org.lfedge.eve.common.BootOrder" json:"boot_order,omitempty"` + // Pin or not; see enum. CPU_POLICY_DEDICATED activates the fields below. + CpuPolicy CpuPolicy `protobuf:"varint,28,opt,name=cpu_policy,json=cpuPolicy,proto3,enum=org.lfedge.eve.config.CpuPolicy" json:"cpu_policy,omitempty"` + // Require whole physical cores: no other workload runs on any SMT + // sibling of the workload's cores. Without it, allocation is at + // SMT-thread granularity and a physical core may be shared. + // Mirrors the Kubernetes CPUManager "full-pcpus-only" option. + FullPcpusOnly bool `protobuf:"varint,29,opt,name=full_pcpus_only,json=fullPcpusOnly,proto3" json:"full_pcpus_only,omitempty"` + // With full_pcpus_only, how many SMT siblings of each core become + // vCPUs: 2 = whole-core-SMT (both siblings are vCPUs, guest sees + // threads=2; requires an even vcpus count), 1 = one-per-core (sibling + // parked idle, guest sees threads=1). 0/unset defaults to 2 on SMT + // hardware. The guest is shown a truthful sockets/cores/threads + // topology and vCPUs are pinned 1:1, so guest sibling pairs correspond + // to real host sibling pairs. + ThreadsPerCore uint32 `protobuf:"varint,30,opt,name=threads_per_core,json=threadsPerCore,proto3" json:"threads_per_core,omitempty"` + // NUMA confinement for the dedicated CPUs; default best-effort. + NumaPolicy NumaPolicy `protobuf:"varint,31,opt,name=numa_policy,json=numaPolicy,proto3,enum=org.lfedge.eve.config.NumaPolicy" json:"numa_policy,omitempty"` + // Placement of hypervisor emulator/IO threads; default dedicated. + IoPlacement IoPlacement `protobuf:"varint,32,opt,name=io_placement,json=ioPlacement,proto3,enum=org.lfedge.eve.config.IoPlacement" json:"io_placement,omitempty"` + // Requested isolation tier; default soft for dedicated workloads. + // Requesting a tier this node/workload-type cannot satisfy fails closed + // with a structured error. + IsolationTier IsolationTier `protobuf:"varint,33,opt,name=isolation_tier,json=isolationTier,proto3,enum=org.lfedge.eve.config.IsolationTier" json:"isolation_tier,omitempty"` + // Protection against collateral node-level disruption; default allow. + DisruptionPolicy DisruptionPolicy `protobuf:"varint,34,opt,name=disruption_policy,json=disruptionPolicy,proto3,enum=org.lfedge.eve.config.DisruptionPolicy" json:"disruption_policy,omitempty"` } func (x *VmConfig) Reset() { @@ -448,6 +784,55 @@ func (x *VmConfig) GetBootOrder() evecommon.BootOrder { return evecommon.BootOrder(0) } +func (x *VmConfig) GetCpuPolicy() CpuPolicy { + if x != nil { + return x.CpuPolicy + } + return CpuPolicy_CPU_POLICY_UNSPECIFIED +} + +func (x *VmConfig) GetFullPcpusOnly() bool { + if x != nil { + return x.FullPcpusOnly + } + return false +} + +func (x *VmConfig) GetThreadsPerCore() uint32 { + if x != nil { + return x.ThreadsPerCore + } + return 0 +} + +func (x *VmConfig) GetNumaPolicy() NumaPolicy { + if x != nil { + return x.NumaPolicy + } + return NumaPolicy_NUMA_POLICY_UNSPECIFIED +} + +func (x *VmConfig) GetIoPlacement() IoPlacement { + if x != nil { + return x.IoPlacement + } + return IoPlacement_IO_PLACEMENT_UNSPECIFIED +} + +func (x *VmConfig) GetIsolationTier() IsolationTier { + if x != nil { + return x.IsolationTier + } + return IsolationTier_ISOLATION_TIER_UNSPECIFIED +} + +func (x *VmConfig) GetDisruptionPolicy() DisruptionPolicy { + if x != nil { + return x.DisruptionPolicy + } + return DisruptionPolicy_DISRUPTION_POLICY_UNSPECIFIED +} + var File_config_vm_proto protoreflect.FileDescriptor var file_config_vm_proto_rawDesc = []byte{ @@ -455,7 +840,7 @@ var file_config_vm_proto_rawDesc = []byte{ 0x6f, 0x12, 0x15, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x19, 0x65, 0x76, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x65, 0x76, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x22, 0xc2, 0x07, 0x0a, 0x08, 0x56, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x6f, 0x74, 0x6f, 0x22, 0x83, 0x0b, 0x0a, 0x08, 0x56, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x61, 0x6d, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x61, 0x6d, 0x64, 0x69, @@ -515,22 +900,87 @@ var file_config_vm_proto_rawDesc = []byte{ 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x09, 0x62, - 0x6f, 0x6f, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x2a, 0x47, 0x0a, 0x06, 0x56, 0x6d, 0x4d, 0x6f, - 0x64, 0x65, 0x12, 0x06, 0x0a, 0x02, 0x50, 0x56, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x48, 0x56, - 0x4d, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x10, 0x02, 0x12, - 0x07, 0x0a, 0x03, 0x46, 0x4d, 0x4c, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x4e, 0x4f, 0x48, 0x59, - 0x50, 0x45, 0x52, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x45, 0x47, 0x41, 0x43, 0x59, 0x10, - 0x05, 0x2a, 0x5a, 0x0a, 0x0a, 0x56, 0x6d, 0x42, 0x6f, 0x6f, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, - 0x1c, 0x0a, 0x18, 0x56, 0x4d, 0x5f, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, - 0x13, 0x56, 0x4d, 0x5f, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4c, 0x45, - 0x47, 0x41, 0x43, 0x59, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x4d, 0x5f, 0x42, 0x4f, 0x4f, - 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x45, 0x46, 0x49, 0x10, 0x02, 0x42, 0x3d, 0x0a, - 0x15, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5a, 0x24, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x6c, 0x66, 0x2d, 0x65, 0x64, 0x67, 0x65, 0x2f, 0x65, 0x76, 0x65, 0x2d, 0x61, - 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x6f, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x0a, 0x63, 0x70, 0x75, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x6f, + 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x70, 0x75, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x09, + 0x63, 0x70, 0x75, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x66, 0x75, 0x6c, + 0x6c, 0x5f, 0x70, 0x63, 0x70, 0x75, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x1d, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0d, 0x66, 0x75, 0x6c, 0x6c, 0x50, 0x63, 0x70, 0x75, 0x73, 0x4f, 0x6e, 0x6c, + 0x79, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x5f, 0x70, 0x65, 0x72, + 0x5f, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x68, 0x72, + 0x65, 0x61, 0x64, 0x73, 0x50, 0x65, 0x72, 0x43, 0x6f, 0x72, 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x6e, + 0x75, 0x6d, 0x61, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x21, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, + 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4e, 0x75, 0x6d, 0x61, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x61, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, + 0x45, 0x0a, 0x0c, 0x69, 0x6f, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, + 0x20, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, + 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x49, 0x6f, + 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x69, 0x6f, 0x50, 0x6c, 0x61, + 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x4b, 0x0a, 0x0e, 0x69, 0x73, 0x6f, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, + 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x49, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x54, 0x69, 0x65, 0x72, 0x52, 0x0d, 0x69, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x69, 0x65, 0x72, 0x12, 0x54, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, + 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x10, 0x64, 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2a, 0x47, 0x0a, 0x06, 0x56, 0x6d, 0x4d, + 0x6f, 0x64, 0x65, 0x12, 0x06, 0x0a, 0x02, 0x50, 0x56, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x48, + 0x56, 0x4d, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x10, 0x02, + 0x12, 0x07, 0x0a, 0x03, 0x46, 0x4d, 0x4c, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x4e, 0x4f, 0x48, + 0x59, 0x50, 0x45, 0x52, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x45, 0x47, 0x41, 0x43, 0x59, + 0x10, 0x05, 0x2a, 0x58, 0x0a, 0x09, 0x43, 0x70, 0x75, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, + 0x1a, 0x0a, 0x16, 0x43, 0x50, 0x55, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x43, + 0x50, 0x55, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x44, + 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x50, 0x55, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, + 0x5f, 0x44, 0x45, 0x44, 0x49, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x02, 0x2a, 0x9a, 0x01, 0x0a, + 0x0a, 0x4e, 0x75, 0x6d, 0x61, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1b, 0x0a, 0x17, 0x4e, + 0x55, 0x4d, 0x41, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x4e, 0x55, 0x4d, 0x41, + 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x1b, + 0x0a, 0x17, 0x4e, 0x55, 0x4d, 0x41, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x42, 0x45, + 0x53, 0x54, 0x5f, 0x45, 0x46, 0x46, 0x4f, 0x52, 0x54, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x4e, + 0x55, 0x4d, 0x41, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x52, + 0x49, 0x43, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x4e, 0x55, 0x4d, 0x41, 0x5f, + 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x4e, 0x55, + 0x4d, 0x41, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x10, 0x04, 0x2a, 0x66, 0x0a, 0x0b, 0x49, 0x6f, 0x50, + 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x18, 0x49, 0x4f, 0x5f, 0x50, + 0x4c, 0x41, 0x43, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4f, 0x5f, 0x50, 0x4c, 0x41, + 0x43, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x45, 0x44, 0x49, 0x43, 0x41, 0x54, 0x45, 0x44, + 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x49, 0x4f, 0x5f, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x4d, 0x45, + 0x4e, 0x54, 0x5f, 0x48, 0x4f, 0x55, 0x53, 0x45, 0x4b, 0x45, 0x45, 0x50, 0x49, 0x4e, 0x47, 0x10, + 0x02, 0x2a, 0x7a, 0x0a, 0x0d, 0x49, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, + 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x1a, 0x49, 0x53, 0x4f, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x54, 0x49, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x49, 0x53, 0x4f, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x54, 0x49, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x49, + 0x53, 0x4f, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x53, 0x4f, + 0x46, 0x54, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x49, 0x53, 0x4f, 0x4c, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x48, 0x41, 0x52, 0x44, 0x10, 0x03, 0x2a, 0x71, 0x0a, + 0x10, 0x44, 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x49, 0x53, 0x52, 0x55, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x49, 0x53, 0x52, 0x55, 0x50, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x10, + 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x49, 0x53, 0x52, 0x55, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x45, 0x43, 0x54, 0x10, 0x02, + 0x2a, 0x5a, 0x0a, 0x0a, 0x56, 0x6d, 0x42, 0x6f, 0x6f, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1c, + 0x0a, 0x18, 0x56, 0x4d, 0x5f, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, + 0x56, 0x4d, 0x5f, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4c, 0x45, 0x47, + 0x41, 0x43, 0x59, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x4d, 0x5f, 0x42, 0x4f, 0x4f, 0x54, + 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x45, 0x46, 0x49, 0x10, 0x02, 0x42, 0x3d, 0x0a, 0x15, + 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5a, 0x24, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x6c, 0x66, 0x2d, 0x65, 0x64, 0x67, 0x65, 0x2f, 0x65, 0x76, 0x65, 0x2d, 0x61, 0x70, + 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -545,23 +995,33 @@ func file_config_vm_proto_rawDescGZIP() []byte { return file_config_vm_proto_rawDescData } -var file_config_vm_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_config_vm_proto_enumTypes = make([]protoimpl.EnumInfo, 7) var file_config_vm_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_config_vm_proto_goTypes = []interface{}{ (VmMode)(0), // 0: org.lfedge.eve.config.VmMode - (VmBootMode)(0), // 1: org.lfedge.eve.config.VmBootMode - (*VmConfig)(nil), // 2: org.lfedge.eve.config.VmConfig - (evecommon.BootOrder)(0), // 3: org.lfedge.eve.common.BootOrder + (CpuPolicy)(0), // 1: org.lfedge.eve.config.CpuPolicy + (NumaPolicy)(0), // 2: org.lfedge.eve.config.NumaPolicy + (IoPlacement)(0), // 3: org.lfedge.eve.config.IoPlacement + (IsolationTier)(0), // 4: org.lfedge.eve.config.IsolationTier + (DisruptionPolicy)(0), // 5: org.lfedge.eve.config.DisruptionPolicy + (VmBootMode)(0), // 6: org.lfedge.eve.config.VmBootMode + (*VmConfig)(nil), // 7: org.lfedge.eve.config.VmConfig + (evecommon.BootOrder)(0), // 8: org.lfedge.eve.common.BootOrder } var file_config_vm_proto_depIdxs = []int32{ 0, // 0: org.lfedge.eve.config.VmConfig.virtualizationMode:type_name -> org.lfedge.eve.config.VmMode - 1, // 1: org.lfedge.eve.config.VmConfig.boot_mode:type_name -> org.lfedge.eve.config.VmBootMode - 3, // 2: org.lfedge.eve.config.VmConfig.boot_order:type_name -> org.lfedge.eve.common.BootOrder - 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 + 6, // 1: org.lfedge.eve.config.VmConfig.boot_mode:type_name -> org.lfedge.eve.config.VmBootMode + 8, // 2: org.lfedge.eve.config.VmConfig.boot_order:type_name -> org.lfedge.eve.common.BootOrder + 1, // 3: org.lfedge.eve.config.VmConfig.cpu_policy:type_name -> org.lfedge.eve.config.CpuPolicy + 2, // 4: org.lfedge.eve.config.VmConfig.numa_policy:type_name -> org.lfedge.eve.config.NumaPolicy + 3, // 5: org.lfedge.eve.config.VmConfig.io_placement:type_name -> org.lfedge.eve.config.IoPlacement + 4, // 6: org.lfedge.eve.config.VmConfig.isolation_tier:type_name -> org.lfedge.eve.config.IsolationTier + 5, // 7: org.lfedge.eve.config.VmConfig.disruption_policy:type_name -> org.lfedge.eve.config.DisruptionPolicy + 8, // [8:8] is the sub-list for method output_type + 8, // [8:8] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name } func init() { file_config_vm_proto_init() } @@ -588,7 +1048,7 @@ func file_config_vm_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_config_vm_proto_rawDesc, - NumEnums: 2, + NumEnums: 7, NumMessages: 1, NumExtensions: 0, NumServices: 0, diff --git a/go/info/common.pb.go b/go/info/common.pb.go index 477b121c..92054fa2 100644 --- a/go/info/common.pb.go +++ b/go/info/common.pb.go @@ -177,6 +177,12 @@ type ErrorInfo struct { Severity Severity `protobuf:"varint,3,opt,name=severity,proto3,enum=org.lfedge.eve.info.Severity" json:"severity,omitempty"` // Severity level of the error. Entities []*DeviceEntity `protobuf:"bytes,4,rep,name=entities,proto3" json:"entities,omitempty"` // Device entities referenced in the description or retry condition. RetryCondition string `protobuf:"bytes,5,opt,name=retry_condition,json=retryCondition,proto3" json:"retry_condition,omitempty"` // Condition under which the operation may be retried. + // Machine-parseable, namespaced error token (e.g. + // "cpu.placement.insufficient"), stable across EVE releases, so the + // controller can react programmatically without parsing the free-text + // description. Namespaces form an open registry extended additively + // per domain; an empty value means no structured code is available. + ErrorCode string `protobuf:"bytes,6,opt,name=error_code,json=errorCode,proto3" json:"error_code,omitempty"` } func (x *ErrorInfo) Reset() { @@ -246,6 +252,13 @@ func (x *ErrorInfo) GetRetryCondition() string { return "" } +func (x *ErrorInfo) GetErrorCode() string { + if x != nil { + return x.ErrorCode + } + return "" +} + // DeviceEntity contains the device entity details type DeviceEntity struct { state protoimpl.MessageState @@ -317,7 +330,7 @@ var file_info_common_proto_rawDesc = []byte{ 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8a, 0x02, 0x0a, 0x09, 0x45, 0x72, + 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa9, 0x02, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, @@ -334,43 +347,45 @@ var file_info_common_proto_rawDesc = []byte{ 0x69, 0x74, 0x79, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6e, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x81, 0x01, 0x0a, 0x0c, 0x44, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x33, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, - 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x2a, 0x63, 0x0a, 0x08, 0x53, 0x65, - 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, - 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x4e, 0x4f, 0x54, - 0x49, 0x43, 0x45, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, - 0x59, 0x5f, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x53, - 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x2a, - 0x99, 0x02, 0x0a, 0x06, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x12, 0x45, 0x4e, - 0x54, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x42, 0x41, 0x53, - 0x45, 0x5f, 0x4f, 0x53, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, - 0x5f, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x41, 0x44, 0x41, 0x50, 0x54, 0x45, 0x52, 0x10, - 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x56, 0x41, 0x55, 0x4c, - 0x54, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x41, 0x54, - 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x45, - 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x41, 0x50, 0x50, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, - 0x43, 0x45, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x50, - 0x4f, 0x52, 0x54, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, - 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x10, 0x07, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x4e, 0x54, - 0x49, 0x54, 0x59, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x49, 0x4e, 0x53, 0x54, - 0x41, 0x4e, 0x43, 0x45, 0x10, 0x08, 0x12, 0x17, 0x0a, 0x13, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, - 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x52, 0x45, 0x45, 0x10, 0x09, 0x12, - 0x17, 0x0a, 0x13, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, - 0x54, 0x5f, 0x42, 0x4c, 0x4f, 0x42, 0x10, 0x0a, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x4e, 0x54, 0x49, - 0x54, 0x59, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x10, 0x0b, 0x42, 0x39, 0x0a, 0x13, 0x6f, - 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, - 0x66, 0x6f, 0x5a, 0x22, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, - 0x66, 0x2d, 0x65, 0x64, 0x67, 0x65, 0x2f, 0x65, 0x76, 0x65, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x67, - 0x6f, 0x2f, 0x69, 0x6e, 0x66, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, + 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x81, 0x01, 0x0a, 0x0c, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x33, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, + 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x2a, 0x63, 0x0a, 0x08, 0x53, 0x65, 0x76, + 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, + 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x13, 0x0a, 0x0f, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x4e, 0x4f, 0x54, 0x49, + 0x43, 0x45, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, + 0x5f, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x45, + 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x2a, 0x99, + 0x02, 0x0a, 0x06, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x12, 0x45, 0x4e, 0x54, + 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x42, 0x41, 0x53, 0x45, + 0x5f, 0x4f, 0x53, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, + 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x41, 0x44, 0x41, 0x50, 0x54, 0x45, 0x52, 0x10, 0x02, + 0x12, 0x10, 0x0a, 0x0c, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x56, 0x41, 0x55, 0x4c, 0x54, + 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x41, 0x54, 0x54, + 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x45, 0x4e, + 0x54, 0x49, 0x54, 0x59, 0x5f, 0x41, 0x50, 0x50, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, + 0x45, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x4f, + 0x52, 0x54, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x4e, + 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x10, 0x07, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x4e, 0x54, 0x49, + 0x54, 0x59, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, + 0x4e, 0x43, 0x45, 0x10, 0x08, 0x12, 0x17, 0x0a, 0x13, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, + 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x52, 0x45, 0x45, 0x10, 0x09, 0x12, 0x17, + 0x0a, 0x13, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, + 0x5f, 0x42, 0x4c, 0x4f, 0x42, 0x10, 0x0a, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x4e, 0x54, 0x49, 0x54, + 0x59, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x10, 0x0b, 0x42, 0x39, 0x0a, 0x13, 0x6f, 0x72, + 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, + 0x6f, 0x5a, 0x22, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x66, + 0x2d, 0x65, 0x64, 0x67, 0x65, 0x2f, 0x65, 0x76, 0x65, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, + 0x2f, 0x69, 0x6e, 0x66, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/go/info/hardware.pb.go b/go/info/hardware.pb.go index 8129b65b..2ca59c2c 100644 --- a/go/info/hardware.pb.go +++ b/go/info/hardware.pb.go @@ -81,6 +81,117 @@ func (NetworkDeviceType) EnumDescriptor() ([]byte, []int) { return file_info_hardware_proto_rawDescGZIP(), []int{0} } +// CoreClass distinguishes core types on heterogeneous (hybrid) CPUs, +// e.g. Intel P/E cores or ARM big.LITTLE. Homogeneous parts report +// CORE_CLASS_UNSPECIFIED for all cores. +type CoreClass int32 + +const ( + CoreClass_CORE_CLASS_UNSPECIFIED CoreClass = 0 + CoreClass_CORE_CLASS_PERFORMANCE CoreClass = 1 // e.g. Intel P-core, ARM "big" + CoreClass_CORE_CLASS_EFFICIENCY CoreClass = 2 // e.g. Intel E-core, ARM "LITTLE" + CoreClass_CORE_CLASS_LOW_POWER CoreClass = 3 // e.g. Intel LP E-core +) + +// Enum value maps for CoreClass. +var ( + CoreClass_name = map[int32]string{ + 0: "CORE_CLASS_UNSPECIFIED", + 1: "CORE_CLASS_PERFORMANCE", + 2: "CORE_CLASS_EFFICIENCY", + 3: "CORE_CLASS_LOW_POWER", + } + CoreClass_value = map[string]int32{ + "CORE_CLASS_UNSPECIFIED": 0, + "CORE_CLASS_PERFORMANCE": 1, + "CORE_CLASS_EFFICIENCY": 2, + "CORE_CLASS_LOW_POWER": 3, + } +) + +func (x CoreClass) Enum() *CoreClass { + p := new(CoreClass) + *p = x + return p +} + +func (x CoreClass) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CoreClass) Descriptor() protoreflect.EnumDescriptor { + return file_info_hardware_proto_enumTypes[1].Descriptor() +} + +func (CoreClass) Type() protoreflect.EnumType { + return &file_info_hardware_proto_enumTypes[1] +} + +func (x CoreClass) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CoreClass.Descriptor instead. +func (CoreClass) EnumDescriptor() ([]byte, []int) { + return file_info_hardware_proto_rawDescGZIP(), []int{1} +} + +// CacheLevel identifies a CPU cache level for CacheDomain. +type CacheLevel int32 + +const ( + CacheLevel_CACHE_LEVEL_UNSPECIFIED CacheLevel = 0 + CacheLevel_CACHE_LEVEL_L1D CacheLevel = 1 // level-1 data cache + CacheLevel_CACHE_LEVEL_L1I CacheLevel = 2 // level-1 instruction cache + CacheLevel_CACHE_LEVEL_L2 CacheLevel = 3 + CacheLevel_CACHE_LEVEL_L3 CacheLevel = 4 +) + +// Enum value maps for CacheLevel. +var ( + CacheLevel_name = map[int32]string{ + 0: "CACHE_LEVEL_UNSPECIFIED", + 1: "CACHE_LEVEL_L1D", + 2: "CACHE_LEVEL_L1I", + 3: "CACHE_LEVEL_L2", + 4: "CACHE_LEVEL_L3", + } + CacheLevel_value = map[string]int32{ + "CACHE_LEVEL_UNSPECIFIED": 0, + "CACHE_LEVEL_L1D": 1, + "CACHE_LEVEL_L1I": 2, + "CACHE_LEVEL_L2": 3, + "CACHE_LEVEL_L3": 4, + } +) + +func (x CacheLevel) Enum() *CacheLevel { + p := new(CacheLevel) + *p = x + return p +} + +func (x CacheLevel) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CacheLevel) Descriptor() protoreflect.EnumDescriptor { + return file_info_hardware_proto_enumTypes[2].Descriptor() +} + +func (CacheLevel) Type() protoreflect.EnumType { + return &file_info_hardware_proto_enumTypes[2] +} + +func (x CacheLevel) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CacheLevel.Descriptor instead. +func (CacheLevel) EnumDescriptor() ([]byte, []int) { + return file_info_hardware_proto_rawDescGZIP(), []int{2} +} + type USBAddress struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -388,6 +499,15 @@ type PCIDevice struct { SubclassId uint64 `protobuf:"varint,9,opt,name=subclass_id,json=subclassId,proto3" json:"subclass_id,omitempty"` // IOMMU group names apparently are strings: https://elixir.bootlin.com/linux/v6.16.9/source/drivers/iommu/iommu.c#L1101 IommuGroup string `protobuf:"bytes,10,opt,name=iommu_group,json=iommuGroup,proto3" json:"iommu_group,omitempty"` + // NUMA node this device's DMA/interrupts are local to, from sysfs + // /sys/bus/pci/devices//numa_node. -1 means the platform does + // not report an affinity. Unset means EVE did not populate it. + // Cross-references CPU.numa_node in CPUInfo, enabling NUMA-local + // placement of a workload relative to its passthrough device. + NumaNode *int32 `protobuf:"varint,11,opt,name=numa_node,json=numaNode,proto3,oneof" json:"numa_node,omitempty"` + // Logical CPU ids local to this device, from sysfs local_cpulist. + // Cross-references CPU.id in CPUInfo. + LocalCpuIds []uint32 `protobuf:"varint,12,rep,packed,name=local_cpu_ids,json=localCpuIds,proto3" json:"local_cpu_ids,omitempty"` } func (x *PCIDevice) Reset() { @@ -492,6 +612,20 @@ func (x *PCIDevice) GetIommuGroup() string { return "" } +func (x *PCIDevice) GetNumaNode() int32 { + if x != nil && x.NumaNode != nil { + return *x.NumaNode + } + return 0 +} + +func (x *PCIDevice) GetLocalCpuIds() []uint32 { + if x != nil { + return x.LocalCpuIds + } + return nil +} + type SerialPort struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -762,15 +896,28 @@ func (x *BIOS) GetAttributes() map[string]string { return nil } +// One entry per logical CPU (SMT thread) — the schedulable unit. +// The topology coordinates (socket/core/NUMA/cache ids) are opaque +// grouping keys: equal values mean "same domain"; the values are not +// guaranteed contiguous or zero-based. Logical CPUs sharing +// (socket_id, core_id) are SMT siblings of one physical core. type CPU struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Model string `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"` - Vendor string `protobuf:"bytes,2,opt,name=vendor,proto3" json:"vendor,omitempty"` // e.g. "GenuineIntel" - Id uint32 `protobuf:"varint,3,opt,name=id,proto3" json:"id,omitempty"` // logical CPU id - Freq uint64 `protobuf:"varint,4,opt,name=freq,proto3" json:"freq,omitempty"` // nominal frequency + Model string `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"` + Vendor string `protobuf:"bytes,2,opt,name=vendor,proto3" json:"vendor,omitempty"` // e.g. "GenuineIntel" + Id uint32 `protobuf:"varint,3,opt,name=id,proto3" json:"id,omitempty"` // logical CPU id + Freq uint64 `protobuf:"varint,4,opt,name=freq,proto3" json:"freq,omitempty"` // nominal frequency + SocketId uint32 `protobuf:"varint,5,opt,name=socket_id,json=socketId,proto3" json:"socket_id,omitempty"` // physical package (socket) + CoreId uint32 `protobuf:"varint,6,opt,name=core_id,json=coreId,proto3" json:"core_id,omitempty"` // physical core within the socket + NumaNode uint32 `protobuf:"varint,7,opt,name=numa_node,json=numaNode,proto3" json:"numa_node,omitempty"` // NUMA node the CPU belongs to + L2Id uint32 `protobuf:"varint,8,opt,name=l2_id,json=l2Id,proto3" json:"l2_id,omitempty"` // L2 cache domain id + L3Id uint32 `protobuf:"varint,9,opt,name=l3_id,json=l3Id,proto3" json:"l3_id,omitempty"` // L3 cache domain id + CoreClass CoreClass `protobuf:"varint,10,opt,name=core_class,json=coreClass,proto3,enum=org.lfedge.eve.info.CoreClass" json:"core_class,omitempty"` // P/E/LP class on hybrid parts + BaseFreqKhz uint64 `protobuf:"varint,11,opt,name=base_freq_khz,json=baseFreqKhz,proto3" json:"base_freq_khz,omitempty"` // base frequency, kHz + MaxFreqKhz uint64 `protobuf:"varint,12,opt,name=max_freq_khz,json=maxFreqKhz,proto3" json:"max_freq_khz,omitempty"` // max (turbo) frequency, kHz } func (x *CPU) Reset() { @@ -833,18 +980,223 @@ func (x *CPU) GetFreq() uint64 { return 0 } +func (x *CPU) GetSocketId() uint32 { + if x != nil { + return x.SocketId + } + return 0 +} + +func (x *CPU) GetCoreId() uint32 { + if x != nil { + return x.CoreId + } + return 0 +} + +func (x *CPU) GetNumaNode() uint32 { + if x != nil { + return x.NumaNode + } + return 0 +} + +func (x *CPU) GetL2Id() uint32 { + if x != nil { + return x.L2Id + } + return 0 +} + +func (x *CPU) GetL3Id() uint32 { + if x != nil { + return x.L3Id + } + return 0 +} + +func (x *CPU) GetCoreClass() CoreClass { + if x != nil { + return x.CoreClass + } + return CoreClass_CORE_CLASS_UNSPECIFIED +} + +func (x *CPU) GetBaseFreqKhz() uint64 { + if x != nil { + return x.BaseFreqKhz + } + return 0 +} + +func (x *CPU) GetMaxFreqKhz() uint64 { + if x != nil { + return x.MaxFreqKhz + } + return 0 +} + +// CacheDomain describes one cache instance and the logical CPUs sharing +// it — the cache→cores linkage (values of CPU.id). Note that on some +// parts a cache domain spans multiple physical cores that are NOT SMT +// siblings (e.g. an Intel E-core module shares one L2 across four +// distinct cores); sibling grouping must use (socket_id, core_id), never +// a cache id. +type CacheDomain struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Level CacheLevel `protobuf:"varint,1,opt,name=level,proto3,enum=org.lfedge.eve.info.CacheLevel" json:"level,omitempty"` + SizeBytes uint64 `protobuf:"varint,2,opt,name=size_bytes,json=sizeBytes,proto3" json:"size_bytes,omitempty"` + // Logical CPU ids (CPU.id) sharing this cache instance. + CpuIds []uint32 `protobuf:"varint,3,rep,packed,name=cpu_ids,json=cpuIds,proto3" json:"cpu_ids,omitempty"` + // Domain id as reported by the platform; opaque grouping key, + // matching CPU.l2_id / CPU.l3_id for the respective level. + Id uint32 `protobuf:"varint,4,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *CacheDomain) Reset() { + *x = CacheDomain{} + if protoimpl.UnsafeEnabled { + mi := &file_info_hardware_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CacheDomain) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CacheDomain) ProtoMessage() {} + +func (x *CacheDomain) ProtoReflect() protoreflect.Message { + mi := &file_info_hardware_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 CacheDomain.ProtoReflect.Descriptor instead. +func (*CacheDomain) Descriptor() ([]byte, []int) { + return file_info_hardware_proto_rawDescGZIP(), []int{10} +} + +func (x *CacheDomain) GetLevel() CacheLevel { + if x != nil { + return x.Level + } + return CacheLevel_CACHE_LEVEL_UNSPECIFIED +} + +func (x *CacheDomain) GetSizeBytes() uint64 { + if x != nil { + return x.SizeBytes + } + return 0 +} + +func (x *CacheDomain) GetCpuIds() []uint32 { + if x != nil { + return x.CpuIds + } + return nil +} + +func (x *CacheDomain) GetId() uint32 { + if x != nil { + return x.Id + } + return 0 +} + +// CPUCapabilities reports CPU-hardware (silicon) resource-control +// features. Kernel/boot-level facts are NOT CPU properties and are +// reported separately in NodeCapabilities. +type CPUCapabilities struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RdtL3Cat bool `protobuf:"varint,1,opt,name=rdt_l3_cat,json=rdtL3Cat,proto3" json:"rdt_l3_cat,omitempty"` // Intel RDT L3 cache allocation available + RdtMba bool `protobuf:"varint,2,opt,name=rdt_mba,json=rdtMba,proto3" json:"rdt_mba,omitempty"` // Intel RDT memory-bandwidth allocation available + NumClos uint32 `protobuf:"varint,3,opt,name=num_clos,json=numClos,proto3" json:"num_clos,omitempty"` // number of RDT classes of service (if rdt_*) +} + +func (x *CPUCapabilities) Reset() { + *x = CPUCapabilities{} + if protoimpl.UnsafeEnabled { + mi := &file_info_hardware_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CPUCapabilities) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CPUCapabilities) ProtoMessage() {} + +func (x *CPUCapabilities) ProtoReflect() protoreflect.Message { + mi := &file_info_hardware_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 CPUCapabilities.ProtoReflect.Descriptor instead. +func (*CPUCapabilities) Descriptor() ([]byte, []int) { + return file_info_hardware_proto_rawDescGZIP(), []int{11} +} + +func (x *CPUCapabilities) GetRdtL3Cat() bool { + if x != nil { + return x.RdtL3Cat + } + return false +} + +func (x *CPUCapabilities) GetRdtMba() bool { + if x != nil { + return x.RdtMba + } + return false +} + +func (x *CPUCapabilities) GetNumClos() uint32 { + if x != nil { + return x.NumClos + } + return 0 +} + type CPUInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Cpus []*CPU `protobuf:"bytes,1,rep,name=cpus,proto3" json:"cpus,omitempty"` + // Cache domains with their cache→cores linkage. + Caches []*CacheDomain `protobuf:"bytes,2,rep,name=caches,proto3" json:"caches,omitempty"` + Capabilities *CPUCapabilities `protobuf:"bytes,3,opt,name=capabilities,proto3" json:"capabilities,omitempty"` } func (x *CPUInfo) Reset() { *x = CPUInfo{} if protoimpl.UnsafeEnabled { - mi := &file_info_hardware_proto_msgTypes[10] + mi := &file_info_hardware_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -857,7 +1209,7 @@ func (x *CPUInfo) String() string { func (*CPUInfo) ProtoMessage() {} func (x *CPUInfo) ProtoReflect() protoreflect.Message { - mi := &file_info_hardware_proto_msgTypes[10] + mi := &file_info_hardware_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -870,7 +1222,7 @@ func (x *CPUInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use CPUInfo.ProtoReflect.Descriptor instead. func (*CPUInfo) Descriptor() ([]byte, []int) { - return file_info_hardware_proto_rawDescGZIP(), []int{10} + return file_info_hardware_proto_rawDescGZIP(), []int{12} } func (x *CPUInfo) GetCpus() []*CPU { @@ -880,6 +1232,101 @@ func (x *CPUInfo) GetCpus() []*CPU { return nil } +func (x *CPUInfo) GetCaches() []*CacheDomain { + if x != nil { + return x.Caches + } + return nil +} + +func (x *CPUInfo) GetCapabilities() *CPUCapabilities { + if x != nil { + return x.Capabilities + } + return nil +} + +// NodeCapabilities reports granular kernel/boot-level facts relevant to +// workload CPU isolation. Deliberately low-level and factual: higher-level +// notions (e.g. which isolation tier is achievable for a given workload +// type) are derived by the consumer from these ingredients rather than +// precomputed by the node, so new ingredients can be added additively +// without changing the meaning of existing ones. +// +// Scope: this message reports only what the HARDWARE and the RUNNING KERNEL +// provide. What the EVE software itself is able to do with those facts is a +// separate concern and is reported through the device's software-capability +// channels (ZInfoDevice.optional_capabilities and ZInfoDevice.api_capability), +// so a hardware fact never has to change meaning when EVE gains or loses a +// feature. A consumer deciding whether a feature is offerable must consult +// both: hardware/kernel capable AND EVE software capable. +type NodeCapabilities struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Logical CPUs currently isolated from the scheduler by the + // running kernel (isolcpus), from /sys/devices/system/cpu/isolated. + IsolatedCpuIds []uint32 `protobuf:"varint,1,rep,packed,name=isolated_cpu_ids,json=isolatedCpuIds,proto3" json:"isolated_cpu_ids,omitempty"` + // Logical CPUs with the scheduler tick shed (nohz_full). + NohzFullCpuIds []uint32 `protobuf:"varint,2,rep,packed,name=nohz_full_cpu_ids,json=nohzFullCpuIds,proto3" json:"nohz_full_cpu_ids,omitempty"` + // Logical CPUs whose RCU callbacks are offloaded (rcu_nocbs). + RcuNocbsCpuIds []uint32 `protobuf:"varint,3,rep,packed,name=rcu_nocbs_cpu_ids,json=rcuNocbsCpuIds,proto3" json:"rcu_nocbs_cpu_ids,omitempty"` +} + +func (x *NodeCapabilities) Reset() { + *x = NodeCapabilities{} + if protoimpl.UnsafeEnabled { + mi := &file_info_hardware_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NodeCapabilities) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NodeCapabilities) ProtoMessage() {} + +func (x *NodeCapabilities) ProtoReflect() protoreflect.Message { + mi := &file_info_hardware_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 NodeCapabilities.ProtoReflect.Descriptor instead. +func (*NodeCapabilities) Descriptor() ([]byte, []int) { + return file_info_hardware_proto_rawDescGZIP(), []int{13} +} + +func (x *NodeCapabilities) GetIsolatedCpuIds() []uint32 { + if x != nil { + return x.IsolatedCpuIds + } + return nil +} + +func (x *NodeCapabilities) GetNohzFullCpuIds() []uint32 { + if x != nil { + return x.NohzFullCpuIds + } + return nil +} + +func (x *NodeCapabilities) GetRcuNocbsCpuIds() []uint32 { + if x != nil { + return x.RcuNocbsCpuIds + } + return nil +} + type TPM struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -894,7 +1341,7 @@ type TPM struct { func (x *TPM) Reset() { *x = TPM{} if protoimpl.UnsafeEnabled { - mi := &file_info_hardware_proto_msgTypes[11] + mi := &file_info_hardware_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -907,7 +1354,7 @@ func (x *TPM) String() string { func (*TPM) ProtoMessage() {} func (x *TPM) ProtoReflect() protoreflect.Message { - mi := &file_info_hardware_proto_msgTypes[11] + mi := &file_info_hardware_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -920,7 +1367,7 @@ func (x *TPM) ProtoReflect() protoreflect.Message { // Deprecated: Use TPM.ProtoReflect.Descriptor instead. func (*TPM) Descriptor() ([]byte, []int) { - return file_info_hardware_proto_rawDescGZIP(), []int{11} + return file_info_hardware_proto_rawDescGZIP(), []int{14} } func (x *TPM) GetPresent() bool { @@ -978,6 +1425,8 @@ type HardwareInventory struct { WatchdogPresent bool `protobuf:"varint,13,opt,name=watchdog_present,json=watchdogPresent,proto3" json:"watchdog_present,omitempty"` Tpm *TPM `protobuf:"bytes,14,opt,name=tpm,proto3" json:"tpm,omitempty"` StatusLedPresent bool `protobuf:"varint,15,opt,name=status_led_present,json=statusLedPresent,proto3" json:"status_led_present,omitempty"` + // Granular kernel/boot-level isolation facts (node, not CPU, properties). + NodeCapabilities *NodeCapabilities `protobuf:"bytes,16,opt,name=node_capabilities,json=nodeCapabilities,proto3" json:"node_capabilities,omitempty"` // Free-form extension for things not modeled yet. // New keys must be promoted to typed fields in a follow-up. Misc map[string]string `protobuf:"bytes,1000,rep,name=misc,proto3" json:"misc,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` @@ -986,7 +1435,7 @@ type HardwareInventory struct { func (x *HardwareInventory) Reset() { *x = HardwareInventory{} if protoimpl.UnsafeEnabled { - mi := &file_info_hardware_proto_msgTypes[12] + mi := &file_info_hardware_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -999,7 +1448,7 @@ func (x *HardwareInventory) String() string { func (*HardwareInventory) ProtoMessage() {} func (x *HardwareInventory) ProtoReflect() protoreflect.Message { - mi := &file_info_hardware_proto_msgTypes[12] + mi := &file_info_hardware_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1012,7 +1461,7 @@ func (x *HardwareInventory) ProtoReflect() protoreflect.Message { // Deprecated: Use HardwareInventory.ProtoReflect.Descriptor instead. func (*HardwareInventory) Descriptor() ([]byte, []int) { - return file_info_hardware_proto_rawDescGZIP(), []int{12} + return file_info_hardware_proto_rawDescGZIP(), []int{15} } func (x *HardwareInventory) GetPciDevices() []*PCIDevice { @@ -1099,6 +1548,13 @@ func (x *HardwareInventory) GetStatusLedPresent() bool { return false } +func (x *HardwareInventory) GetNodeCapabilities() *NodeCapabilities { + if x != nil { + return x.NodeCapabilities + } + return nil +} + func (x *HardwareInventory) GetMisc() map[string]string { if x != nil { return x.Misc @@ -1152,7 +1608,7 @@ var file_info_hardware_proto_rawDesc = []byte{ 0x03, 0x62, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, - 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb3, 0x03, 0x0a, 0x09, 0x50, 0x43, 0x49, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x87, 0x04, 0x0a, 0x09, 0x50, 0x43, 0x49, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5f, 0x0a, 0x19, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x63, 0x69, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x72, 0x67, 0x2e, @@ -1178,136 +1634,211 @@ var file_info_hardware_proto_rawDesc = []byte{ 0x01, 0x28, 0x04, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6f, 0x6d, 0x6d, 0x75, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6f, 0x6d, 0x6d, 0x75, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x63, 0x69, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xa3, - 0x01, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x3b, 0x0a, - 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, - 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x75, 0x73, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, - 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6f, - 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x69, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x10, 0x0a, - 0x03, 0x69, 0x72, 0x71, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x69, 0x72, 0x71, 0x12, - 0x18, 0x0a, 0x07, 0x64, 0x65, 0x76, 0x70, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x64, 0x65, 0x76, 0x70, 0x61, 0x74, 0x68, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x22, 0x6b, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x44, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x12, 0x20, 0x0a, 0x09, 0x6e, 0x75, 0x6d, 0x61, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x08, 0x6e, 0x75, 0x6d, 0x61, 0x4e, 0x6f, 0x64, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x70, 0x75, 0x5f, + 0x69, 0x64, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x43, 0x70, 0x75, 0x49, 0x64, 0x73, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x5f, 0x70, 0x63, 0x69, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6e, 0x75, 0x6d, 0x61, 0x5f, 0x6e, 0x6f, + 0x64, 0x65, 0x22, 0xa3, 0x01, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x50, 0x6f, 0x72, + 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x75, 0x73, 0x50, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x48, 0x00, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x16, - 0x0a, 0x06, 0x69, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x69, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x22, 0xeb, 0x01, 0x0a, 0x0d, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, - 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x75, 0x73, 0x50, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, - 0x12, 0x16, 0x0a, 0x06, 0x69, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x69, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, - 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x63, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x70, 0x65, 0x65, 0x64, 0x5f, 0x6d, - 0x62, 0x70, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x70, 0x65, 0x65, 0x64, - 0x4d, 0x62, 0x70, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x22, - 0xc3, 0x01, 0x0a, 0x04, 0x42, 0x49, 0x4f, 0x53, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x65, 0x6e, 0x64, - 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, - 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x0a, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0xe8, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x29, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, - 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x49, 0x4f, 0x53, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 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, 0x14, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x57, 0x0a, 0x03, 0x43, 0x50, 0x55, 0x12, 0x14, 0x0a, 0x05, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x64, - 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, - 0x65, 0x71, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x66, 0x72, 0x65, 0x71, 0x22, 0x37, - 0x0a, 0x07, 0x43, 0x50, 0x55, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x04, 0x63, 0x70, 0x75, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, - 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x50, - 0x55, 0x52, 0x04, 0x63, 0x70, 0x75, 0x73, 0x22, 0x91, 0x01, 0x0a, 0x03, 0x54, 0x50, 0x4d, 0x12, - 0x18, 0x0a, 0x07, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x07, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x61, 0x6e, - 0x75, 0x66, 0x61, 0x63, 0x74, 0x75, 0x72, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x6d, 0x61, 0x6e, 0x75, 0x66, 0x61, 0x63, 0x74, 0x75, 0x72, 0x65, 0x72, 0x12, 0x29, 0x0a, - 0x10, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, - 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x70, 0x65, 0x63, - 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x73, 0x70, 0x65, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xbc, 0x06, 0x0a, 0x11, - 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, - 0x79, 0x12, 0x3f, 0x0a, 0x0b, 0x70, 0x63, 0x69, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, - 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x43, 0x49, - 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0a, 0x70, 0x63, 0x69, 0x44, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x0b, 0x75, 0x73, 0x62, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, - 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x53, - 0x42, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0a, 0x75, 0x73, 0x62, 0x44, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x73, 0x12, 0x46, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x72, - 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, - 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x0d, 0x73, 0x65, - 0x72, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x4b, 0x0a, 0x0f, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x06, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, - 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x0b, 0x63, 0x61, 0x6e, 0x5f, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, - 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x41, 0x4e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0a, 0x63, - 0x61, 0x6e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x04, 0x62, 0x69, 0x6f, - 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, - 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x49, - 0x4f, 0x53, 0x52, 0x04, 0x62, 0x69, 0x6f, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x63, 0x70, 0x75, 0x5f, - 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x72, 0x67, + 0x74, 0x48, 0x00, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x21, + 0x0a, 0x0c, 0x69, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, + 0x65, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x72, 0x71, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, + 0x69, 0x72, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x76, 0x70, 0x61, 0x74, 0x68, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x76, 0x70, 0x61, 0x74, 0x68, 0x42, 0x09, 0x0a, + 0x07, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x22, 0x6b, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x44, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, + 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x75, 0x73, 0x50, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x88, + 0x01, 0x01, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x69, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x22, 0xeb, 0x01, 0x0a, 0x0d, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, + 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x75, + 0x73, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x88, 0x01, 0x01, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, - 0x2e, 0x43, 0x50, 0x55, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x63, 0x70, 0x75, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, - 0x79, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, - 0x2e, 0x0a, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, - 0x29, 0x0a, 0x10, 0x77, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x5f, 0x70, 0x72, 0x65, 0x73, - 0x65, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x77, 0x61, 0x74, 0x63, 0x68, - 0x64, 0x6f, 0x67, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x03, 0x74, 0x70, - 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, - 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x54, 0x50, - 0x4d, 0x52, 0x03, 0x74, 0x70, 0x6d, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x5f, 0x6c, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x10, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4c, 0x65, 0x64, 0x50, 0x72, 0x65, - 0x73, 0x65, 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x6d, 0x69, 0x73, 0x63, 0x18, 0xe8, 0x07, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, - 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, - 0x72, 0x65, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x4d, 0x69, 0x73, 0x63, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x6d, 0x69, 0x73, 0x63, 0x1a, 0x37, 0x0a, 0x09, 0x4d, - 0x69, 0x73, 0x63, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x4a, 0x04, 0x08, 0x0c, 0x10, 0x0d, 0x2a, 0xd2, 0x01, 0x0a, 0x11, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x1f, 0x0a, 0x1b, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x45, 0x56, 0x49, - 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, - 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x45, 0x56, - 0x49, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x54, 0x48, 0x45, 0x52, 0x4e, 0x45, - 0x54, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, - 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x57, 0x49, 0x46, 0x49, 0x10, - 0x05, 0x12, 0x1c, 0x0a, 0x18, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x45, 0x56, - 0x49, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x57, 0x57, 0x41, 0x4e, 0x10, 0x06, 0x12, - 0x1e, 0x0a, 0x1a, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x45, 0x56, 0x49, 0x43, - 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x50, 0x46, 0x10, 0x0b, 0x12, - 0x1e, 0x0a, 0x1a, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x45, 0x56, 0x49, 0x43, - 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x56, 0x46, 0x10, 0x0c, 0x42, + 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x63, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, + 0x61, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x70, 0x65, + 0x65, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, + 0x70, 0x65, 0x65, 0x64, 0x4d, 0x62, 0x70, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x22, 0xc3, 0x01, 0x0a, 0x04, 0x42, 0x49, 0x4f, 0x53, 0x12, 0x16, 0x0a, 0x06, + 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x76, 0x65, + 0x6e, 0x64, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4a, + 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0xe8, 0x07, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, + 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x49, 0x4f, 0x53, 0x2e, 0x41, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, + 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x41, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 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, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd9, 0x02, 0x0a, 0x03, 0x43, 0x50, + 0x55, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x65, 0x6e, 0x64, 0x6f, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x66, 0x72, 0x65, 0x71, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x66, + 0x72, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, + 0x12, 0x17, 0x0a, 0x07, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x06, 0x63, 0x6f, 0x72, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x75, 0x6d, + 0x61, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6e, 0x75, + 0x6d, 0x61, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x13, 0x0a, 0x05, 0x6c, 0x32, 0x5f, 0x69, 0x64, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6c, 0x32, 0x49, 0x64, 0x12, 0x13, 0x0a, 0x05, 0x6c, + 0x33, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6c, 0x33, 0x49, 0x64, + 0x12, 0x3d, 0x0a, 0x0a, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, + 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x52, 0x09, 0x63, 0x6f, 0x72, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, + 0x22, 0x0a, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x5f, 0x6b, 0x68, 0x7a, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x62, 0x61, 0x73, 0x65, 0x46, 0x72, 0x65, 0x71, + 0x4b, 0x68, 0x7a, 0x12, 0x20, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x5f, + 0x6b, 0x68, 0x7a, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x46, 0x72, + 0x65, 0x71, 0x4b, 0x68, 0x7a, 0x22, 0x8c, 0x01, 0x0a, 0x0b, 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x35, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, + 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, + 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x09, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x63, + 0x70, 0x75, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x70, + 0x75, 0x49, 0x64, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x02, 0x69, 0x64, 0x22, 0x63, 0x0a, 0x0f, 0x43, 0x50, 0x55, 0x43, 0x61, 0x70, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x0a, 0x72, 0x64, 0x74, 0x5f, 0x6c, + 0x33, 0x5f, 0x63, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x64, 0x74, + 0x4c, 0x33, 0x43, 0x61, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x64, 0x74, 0x5f, 0x6d, 0x62, 0x61, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x64, 0x74, 0x4d, 0x62, 0x61, 0x12, 0x19, + 0x0a, 0x08, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x43, 0x6c, 0x6f, 0x73, 0x22, 0xbb, 0x01, 0x0a, 0x07, 0x43, 0x50, + 0x55, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x04, 0x63, 0x70, 0x75, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, + 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x50, 0x55, 0x52, 0x04, 0x63, + 0x70, 0x75, 0x73, 0x12, 0x38, 0x0a, 0x06, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, + 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x06, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x12, 0x48, 0x0a, + 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, + 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x50, 0x55, 0x43, 0x61, 0x70, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0x92, 0x01, 0x0a, 0x10, 0x4e, 0x6f, 0x64, 0x65, + 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x10, + 0x69, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x69, 0x64, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x69, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x43, 0x70, 0x75, 0x49, 0x64, 0x73, 0x12, 0x29, 0x0a, 0x11, 0x6e, 0x6f, 0x68, 0x7a, 0x5f, 0x66, + 0x75, 0x6c, 0x6c, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0d, 0x52, 0x0e, 0x6e, 0x6f, 0x68, 0x7a, 0x46, 0x75, 0x6c, 0x6c, 0x43, 0x70, 0x75, 0x49, 0x64, + 0x73, 0x12, 0x29, 0x0a, 0x11, 0x72, 0x63, 0x75, 0x5f, 0x6e, 0x6f, 0x63, 0x62, 0x73, 0x5f, 0x63, + 0x70, 0x75, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x63, + 0x75, 0x4e, 0x6f, 0x63, 0x62, 0x73, 0x43, 0x70, 0x75, 0x49, 0x64, 0x73, 0x22, 0x91, 0x01, 0x0a, + 0x03, 0x54, 0x50, 0x4d, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x22, + 0x0a, 0x0c, 0x6d, 0x61, 0x6e, 0x75, 0x66, 0x61, 0x63, 0x74, 0x75, 0x72, 0x65, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x6e, 0x75, 0x66, 0x61, 0x63, 0x74, 0x75, 0x72, + 0x65, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x66, 0x69, + 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, + 0x0c, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x70, 0x65, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x22, 0x90, 0x07, 0x0a, 0x11, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x49, 0x6e, 0x76, + 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x3f, 0x0a, 0x0b, 0x70, 0x63, 0x69, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, + 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, + 0x6f, 0x2e, 0x50, 0x43, 0x49, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0a, 0x70, 0x63, 0x69, + 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x0b, 0x75, 0x73, 0x62, 0x5f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, + 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, + 0x66, 0x6f, 0x2e, 0x55, 0x53, 0x42, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0a, 0x75, 0x73, + 0x62, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x46, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x69, + 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, + 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x50, 0x6f, 0x72, + 0x74, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, + 0x12, 0x4b, 0x0a, 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x72, 0x67, 0x2e, + 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0e, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x3f, 0x0a, + 0x0b, 0x63, 0x61, 0x6e, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, + 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x41, 0x4e, 0x44, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x52, 0x0a, 0x63, 0x61, 0x6e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x2d, + 0x0a, 0x04, 0x62, 0x69, 0x6f, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6f, + 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, + 0x66, 0x6f, 0x2e, 0x42, 0x49, 0x4f, 0x53, 0x52, 0x04, 0x62, 0x69, 0x6f, 0x73, 0x12, 0x37, 0x0a, + 0x08, 0x63, 0x70, 0x75, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, + 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x50, 0x55, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x63, + 0x70, 0x75, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, + 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x42, + 0x79, 0x74, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x42, + 0x79, 0x74, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x77, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, + 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, + 0x77, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, + 0x2a, 0x0a, 0x03, 0x74, 0x70, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6f, + 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, + 0x66, 0x6f, 0x2e, 0x54, 0x50, 0x4d, 0x52, 0x03, 0x74, 0x70, 0x6d, 0x12, 0x2c, 0x0a, 0x12, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6c, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, + 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4c, + 0x65, 0x64, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x52, 0x0a, 0x11, 0x6e, 0x6f, 0x64, + 0x65, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x10, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, + 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x43, + 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x10, 0x6e, 0x6f, 0x64, + 0x65, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x45, 0x0a, + 0x04, 0x6d, 0x69, 0x73, 0x63, 0x18, 0xe8, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6f, + 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, + 0x66, 0x6f, 0x2e, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x49, 0x6e, 0x76, 0x65, 0x6e, + 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x4d, 0x69, 0x73, 0x63, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, + 0x6d, 0x69, 0x73, 0x63, 0x1a, 0x37, 0x0a, 0x09, 0x4d, 0x69, 0x73, 0x63, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x4a, 0x04, 0x08, + 0x0c, 0x10, 0x0d, 0x2a, 0xd2, 0x01, 0x0a, 0x11, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x4e, 0x45, 0x54, + 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x4e, 0x45, + 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x45, 0x54, 0x48, 0x45, 0x52, 0x4e, 0x45, 0x54, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, + 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x57, 0x49, 0x46, 0x49, 0x10, 0x05, 0x12, 0x1c, 0x0a, 0x18, 0x4e, 0x45, + 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x57, 0x57, 0x41, 0x4e, 0x10, 0x06, 0x12, 0x1e, 0x0a, 0x1a, 0x4e, 0x45, 0x54, 0x57, + 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x45, 0x54, 0x48, 0x5f, 0x50, 0x46, 0x10, 0x0b, 0x12, 0x1e, 0x0a, 0x1a, 0x4e, 0x45, 0x54, 0x57, + 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x45, 0x54, 0x48, 0x5f, 0x56, 0x46, 0x10, 0x0c, 0x2a, 0x78, 0x0a, 0x09, 0x43, 0x6f, 0x72, 0x65, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x4f, 0x52, 0x45, 0x5f, 0x43, 0x4c, + 0x41, 0x53, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x4f, 0x52, 0x45, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, + 0x50, 0x45, 0x52, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x01, 0x12, 0x19, 0x0a, + 0x15, 0x43, 0x4f, 0x52, 0x45, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x45, 0x46, 0x46, 0x49, + 0x43, 0x49, 0x45, 0x4e, 0x43, 0x59, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x4f, 0x52, 0x45, + 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x50, 0x4f, 0x57, 0x45, 0x52, + 0x10, 0x03, 0x2a, 0x7b, 0x0a, 0x0a, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, + 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, + 0x0f, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x4c, 0x31, 0x44, + 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x4c, 0x45, 0x56, 0x45, + 0x4c, 0x5f, 0x4c, 0x31, 0x49, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x41, 0x43, 0x48, 0x45, + 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x4c, 0x32, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x43, + 0x41, 0x43, 0x48, 0x45, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x4c, 0x33, 0x10, 0x04, 0x42, 0x39, 0x0a, 0x13, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x5a, 0x22, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x66, 0x2d, 0x65, 0x64, 0x67, 0x65, 0x2f, 0x65, 0x76, 0x65, 0x2d, 0x61, @@ -1327,53 +1858,63 @@ func file_info_hardware_proto_rawDescGZIP() []byte { return file_info_hardware_proto_rawDescData } -var file_info_hardware_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_info_hardware_proto_msgTypes = make([]protoimpl.MessageInfo, 15) +var file_info_hardware_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_info_hardware_proto_msgTypes = make([]protoimpl.MessageInfo, 18) var file_info_hardware_proto_goTypes = []interface{}{ (NetworkDeviceType)(0), // 0: org.lfedge.eve.info.NetworkDeviceType - (*USBAddress)(nil), // 1: org.lfedge.eve.info.USBAddress - (*BusParent)(nil), // 2: org.lfedge.eve.info.BusParent - (*USBDevice)(nil), // 3: org.lfedge.eve.info.USBDevice - (*PCIAddress)(nil), // 4: org.lfedge.eve.info.PCIAddress - (*PCIDevice)(nil), // 5: org.lfedge.eve.info.PCIDevice - (*SerialPort)(nil), // 6: org.lfedge.eve.info.SerialPort - (*CANDevice)(nil), // 7: org.lfedge.eve.info.CANDevice - (*NetworkDevice)(nil), // 8: org.lfedge.eve.info.NetworkDevice - (*BIOS)(nil), // 9: org.lfedge.eve.info.BIOS - (*CPU)(nil), // 10: org.lfedge.eve.info.CPU - (*CPUInfo)(nil), // 11: org.lfedge.eve.info.CPUInfo - (*TPM)(nil), // 12: org.lfedge.eve.info.TPM - (*HardwareInventory)(nil), // 13: org.lfedge.eve.info.HardwareInventory - nil, // 14: org.lfedge.eve.info.BIOS.AttributesEntry - nil, // 15: org.lfedge.eve.info.HardwareInventory.MiscEntry + (CoreClass)(0), // 1: org.lfedge.eve.info.CoreClass + (CacheLevel)(0), // 2: org.lfedge.eve.info.CacheLevel + (*USBAddress)(nil), // 3: org.lfedge.eve.info.USBAddress + (*BusParent)(nil), // 4: org.lfedge.eve.info.BusParent + (*USBDevice)(nil), // 5: org.lfedge.eve.info.USBDevice + (*PCIAddress)(nil), // 6: org.lfedge.eve.info.PCIAddress + (*PCIDevice)(nil), // 7: org.lfedge.eve.info.PCIDevice + (*SerialPort)(nil), // 8: org.lfedge.eve.info.SerialPort + (*CANDevice)(nil), // 9: org.lfedge.eve.info.CANDevice + (*NetworkDevice)(nil), // 10: org.lfedge.eve.info.NetworkDevice + (*BIOS)(nil), // 11: org.lfedge.eve.info.BIOS + (*CPU)(nil), // 12: org.lfedge.eve.info.CPU + (*CacheDomain)(nil), // 13: org.lfedge.eve.info.CacheDomain + (*CPUCapabilities)(nil), // 14: org.lfedge.eve.info.CPUCapabilities + (*CPUInfo)(nil), // 15: org.lfedge.eve.info.CPUInfo + (*NodeCapabilities)(nil), // 16: org.lfedge.eve.info.NodeCapabilities + (*TPM)(nil), // 17: org.lfedge.eve.info.TPM + (*HardwareInventory)(nil), // 18: org.lfedge.eve.info.HardwareInventory + nil, // 19: org.lfedge.eve.info.BIOS.AttributesEntry + nil, // 20: org.lfedge.eve.info.HardwareInventory.MiscEntry } var file_info_hardware_proto_depIdxs = []int32{ - 4, // 0: org.lfedge.eve.info.BusParent.pci_parent:type_name -> org.lfedge.eve.info.PCIAddress - 1, // 1: org.lfedge.eve.info.BusParent.usb_parent:type_name -> org.lfedge.eve.info.USBAddress - 2, // 2: org.lfedge.eve.info.USBDevice.parent:type_name -> org.lfedge.eve.info.BusParent - 1, // 3: org.lfedge.eve.info.USBDevice.bus_port:type_name -> org.lfedge.eve.info.USBAddress - 4, // 4: org.lfedge.eve.info.PCIDevice.parent_pci_device_address:type_name -> org.lfedge.eve.info.PCIAddress - 4, // 5: org.lfedge.eve.info.PCIDevice.address:type_name -> org.lfedge.eve.info.PCIAddress - 2, // 6: org.lfedge.eve.info.SerialPort.parent:type_name -> org.lfedge.eve.info.BusParent - 2, // 7: org.lfedge.eve.info.CANDevice.parent:type_name -> org.lfedge.eve.info.BusParent - 2, // 8: org.lfedge.eve.info.NetworkDevice.parent:type_name -> org.lfedge.eve.info.BusParent + 6, // 0: org.lfedge.eve.info.BusParent.pci_parent:type_name -> org.lfedge.eve.info.PCIAddress + 3, // 1: org.lfedge.eve.info.BusParent.usb_parent:type_name -> org.lfedge.eve.info.USBAddress + 4, // 2: org.lfedge.eve.info.USBDevice.parent:type_name -> org.lfedge.eve.info.BusParent + 3, // 3: org.lfedge.eve.info.USBDevice.bus_port:type_name -> org.lfedge.eve.info.USBAddress + 6, // 4: org.lfedge.eve.info.PCIDevice.parent_pci_device_address:type_name -> org.lfedge.eve.info.PCIAddress + 6, // 5: org.lfedge.eve.info.PCIDevice.address:type_name -> org.lfedge.eve.info.PCIAddress + 4, // 6: org.lfedge.eve.info.SerialPort.parent:type_name -> org.lfedge.eve.info.BusParent + 4, // 7: org.lfedge.eve.info.CANDevice.parent:type_name -> org.lfedge.eve.info.BusParent + 4, // 8: org.lfedge.eve.info.NetworkDevice.parent:type_name -> org.lfedge.eve.info.BusParent 0, // 9: org.lfedge.eve.info.NetworkDevice.type:type_name -> org.lfedge.eve.info.NetworkDeviceType - 14, // 10: org.lfedge.eve.info.BIOS.attributes:type_name -> org.lfedge.eve.info.BIOS.AttributesEntry - 10, // 11: org.lfedge.eve.info.CPUInfo.cpus:type_name -> org.lfedge.eve.info.CPU - 5, // 12: org.lfedge.eve.info.HardwareInventory.pci_devices:type_name -> org.lfedge.eve.info.PCIDevice - 3, // 13: org.lfedge.eve.info.HardwareInventory.usb_devices:type_name -> org.lfedge.eve.info.USBDevice - 6, // 14: org.lfedge.eve.info.HardwareInventory.serial_devices:type_name -> org.lfedge.eve.info.SerialPort - 8, // 15: org.lfedge.eve.info.HardwareInventory.network_devices:type_name -> org.lfedge.eve.info.NetworkDevice - 7, // 16: org.lfedge.eve.info.HardwareInventory.can_devices:type_name -> org.lfedge.eve.info.CANDevice - 9, // 17: org.lfedge.eve.info.HardwareInventory.bios:type_name -> org.lfedge.eve.info.BIOS - 11, // 18: org.lfedge.eve.info.HardwareInventory.cpu_info:type_name -> org.lfedge.eve.info.CPUInfo - 12, // 19: org.lfedge.eve.info.HardwareInventory.tpm:type_name -> org.lfedge.eve.info.TPM - 15, // 20: org.lfedge.eve.info.HardwareInventory.misc:type_name -> org.lfedge.eve.info.HardwareInventory.MiscEntry - 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 + 19, // 10: org.lfedge.eve.info.BIOS.attributes:type_name -> org.lfedge.eve.info.BIOS.AttributesEntry + 1, // 11: org.lfedge.eve.info.CPU.core_class:type_name -> org.lfedge.eve.info.CoreClass + 2, // 12: org.lfedge.eve.info.CacheDomain.level:type_name -> org.lfedge.eve.info.CacheLevel + 12, // 13: org.lfedge.eve.info.CPUInfo.cpus:type_name -> org.lfedge.eve.info.CPU + 13, // 14: org.lfedge.eve.info.CPUInfo.caches:type_name -> org.lfedge.eve.info.CacheDomain + 14, // 15: org.lfedge.eve.info.CPUInfo.capabilities:type_name -> org.lfedge.eve.info.CPUCapabilities + 7, // 16: org.lfedge.eve.info.HardwareInventory.pci_devices:type_name -> org.lfedge.eve.info.PCIDevice + 5, // 17: org.lfedge.eve.info.HardwareInventory.usb_devices:type_name -> org.lfedge.eve.info.USBDevice + 8, // 18: org.lfedge.eve.info.HardwareInventory.serial_devices:type_name -> org.lfedge.eve.info.SerialPort + 10, // 19: org.lfedge.eve.info.HardwareInventory.network_devices:type_name -> org.lfedge.eve.info.NetworkDevice + 9, // 20: org.lfedge.eve.info.HardwareInventory.can_devices:type_name -> org.lfedge.eve.info.CANDevice + 11, // 21: org.lfedge.eve.info.HardwareInventory.bios:type_name -> org.lfedge.eve.info.BIOS + 15, // 22: org.lfedge.eve.info.HardwareInventory.cpu_info:type_name -> org.lfedge.eve.info.CPUInfo + 17, // 23: org.lfedge.eve.info.HardwareInventory.tpm:type_name -> org.lfedge.eve.info.TPM + 16, // 24: org.lfedge.eve.info.HardwareInventory.node_capabilities:type_name -> org.lfedge.eve.info.NodeCapabilities + 20, // 25: org.lfedge.eve.info.HardwareInventory.misc:type_name -> org.lfedge.eve.info.HardwareInventory.MiscEntry + 26, // [26:26] is the sub-list for method output_type + 26, // [26:26] is the sub-list for method input_type + 26, // [26:26] is the sub-list for extension type_name + 26, // [26:26] is the sub-list for extension extendee + 0, // [0:26] is the sub-list for field type_name } func init() { file_info_hardware_proto_init() } @@ -1503,7 +2044,7 @@ func file_info_hardware_proto_init() { } } file_info_hardware_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CPUInfo); i { + switch v := v.(*CacheDomain); i { case 0: return &v.state case 1: @@ -1515,7 +2056,7 @@ func file_info_hardware_proto_init() { } } file_info_hardware_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TPM); i { + switch v := v.(*CPUCapabilities); i { case 0: return &v.state case 1: @@ -1527,6 +2068,42 @@ func file_info_hardware_proto_init() { } } file_info_hardware_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CPUInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_info_hardware_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NodeCapabilities); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_info_hardware_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TPM); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_info_hardware_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HardwareInventory); i { case 0: return &v.state @@ -1550,8 +2127,8 @@ func file_info_hardware_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_info_hardware_proto_rawDesc, - NumEnums: 1, - NumMessages: 15, + NumEnums: 3, + NumMessages: 18, NumExtensions: 0, NumServices: 0, }, diff --git a/go/info/info.pb.go b/go/info/info.pb.go index eef207d8..7054e175 100644 --- a/go/info/info.pb.go +++ b/go/info/info.pb.go @@ -901,6 +901,7 @@ const ( APICapability_API_CAPABILITY_SMART_REPORT APICapability = 20 // Support for S.M.A.R.T. info on physical storage devices APICapability_API_CAPABILITY_REPORT_TPM_EVENTLOG APICapability = 21 // Support for reporting TPM Event Log "as is" without parsing and selectively reporting events APICapability_API_CAPABILITY_APP_INSTANCE_NET_INTERFACE_CHANGE APICapability = 22 // Support for adding and removing network interfaces without purge, but restart or the edge app + APICapability_API_CAPABILITY_CPU_PLACEMENT_POLICY APICapability = 23 // VmConfig CPU placement policy fields (cpu_policy, full_pcpus_only, threads_per_core, numa_policy, io_placement, isolation_tier, disruption_policy) are parsed and honored ) // Enum value maps for APICapability. @@ -929,6 +930,7 @@ var ( 20: "API_CAPABILITY_SMART_REPORT", 21: "API_CAPABILITY_REPORT_TPM_EVENTLOG", 22: "API_CAPABILITY_APP_INSTANCE_NET_INTERFACE_CHANGE", + 23: "API_CAPABILITY_CPU_PLACEMENT_POLICY", } APICapability_value = map[string]int32{ "API_CAPABILITY_UNSPECIFIED": 0, @@ -954,6 +956,7 @@ var ( "API_CAPABILITY_SMART_REPORT": 20, "API_CAPABILITY_REPORT_TPM_EVENTLOG": 21, "API_CAPABILITY_APP_INSTANCE_NET_INTERFACE_CHANGE": 22, + "API_CAPABILITY_CPU_PLACEMENT_POLICY": 23, } ) @@ -4624,6 +4627,14 @@ type OptionalCapabilities struct { HwInventorySupport bool `protobuf:"varint,2,opt,name=hw_inventory_support,json=hwInventorySupport,proto3" json:"hw_inventory_support,omitempty"` // Device supports etcd snapshots (e.g. eve-k flavor) EtcdSnapshot bool `protobuf:"varint,3,opt,name=etcd_snapshot,json=etcdSnapshot,proto3" json:"etcd_snapshot,omitempty"` + // EVE is able to derive a CPU-isolation kernel command line + // (isolcpus/nohz_full/rcu_nocbs) from its own CPU placement plan and apply + // it itself, which takes effect on the next boot (reboot-gated). False means + // EVE will only schedule into a statically provisioned isolated pool, if the + // running kernel reports one (see info HardwareInventory.node_capabilities). + // This is an EVE-software ability, not a hardware or kernel fact, which is + // why it lives here and not in the hardware inventory. + ManagedCpuIsolation bool `protobuf:"varint,4,opt,name=managed_cpu_isolation,json=managedCpuIsolation,proto3" json:"managed_cpu_isolation,omitempty"` } func (x *OptionalCapabilities) Reset() { @@ -4679,6 +4690,13 @@ func (x *OptionalCapabilities) GetEtcdSnapshot() bool { return false } +func (x *OptionalCapabilities) GetManagedCpuIsolation() bool { + if x != nil { + return x.ManagedCpuIsolation + } + return false +} + // Information about attestation process type AttestationInfo struct { state protoimpl.MessageState @@ -8941,7 +8959,7 @@ var file_info_info_proto_rawDesc = []byte{ 0x74, 0x73, 0x18, 0x3c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x65, - 0x64, 0x43, 0x65, 0x72, 0x74, 0x73, 0x22, 0x97, 0x01, 0x0a, 0x14, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x64, 0x43, 0x65, 0x72, 0x74, 0x73, 0x22, 0xcb, 0x01, 0x0a, 0x14, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x68, 0x76, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6b, 0x75, 0x62, 0x65, 0x76, 0x69, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x68, 0x76, 0x54, 0x79, 0x70, @@ -8951,1098 +8969,1104 @@ var file_info_info_proto_rawDesc = []byte{ 0x74, 0x6f, 0x72, 0x79, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x74, 0x63, 0x64, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x65, 0x74, 0x63, 0x64, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x22, 0x84, 0x01, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3b, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, - 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x34, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x12, 0x32, 0x0a, 0x15, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, 0x63, 0x70, 0x75, 0x5f, + 0x69, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x13, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x70, 0x75, 0x49, 0x73, 0x6f, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x84, 0x01, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3b, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, + 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x74, + 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, + 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x76, 0x0a, 0x11, 0x53, + 0x79, 0x73, 0x74, 0x65, 0x6d, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x12, 0x3d, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, + 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x22, 0xd1, 0x02, 0x0a, 0x10, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, + 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3e, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x50, 0x72, 0x69, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x50, 0x72, 0x69, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x12, 0x3a, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x46, 0x61, 0x69, 0x6c, + 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, + 0x12, 0x40, 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, + 0x65, 0x64, 0x12, 0x35, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, + 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, + 0x72, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x61, 0x73, + 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x61, + 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xeb, 0x08, 0x0a, 0x0a, 0x44, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x66, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x4d, 0x67, 0x6d, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4d, 0x67, 0x6d, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, + 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x66, 0x72, 0x65, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x64, 0x68, 0x63, 0x70, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x08, 0x64, 0x68, 0x63, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, + 0x62, 0x6e, 0x65, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x62, 0x6e, + 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x12, 0x1e, 0x0a, 0x0a, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x6e, 0x74, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x6e, 0x74, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x6f, + 0x72, 0x65, 0x5f, 0x6e, 0x74, 0x70, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x23, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x6f, 0x72, 0x65, 0x4e, 0x74, 0x70, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x6e, 0x73, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x68, 0x63, 0x70, 0x52, 0x61, 0x6e, 0x67, + 0x65, 0x4c, 0x6f, 0x77, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x68, 0x63, 0x70, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x6f, 0x77, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x68, 0x63, 0x70, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x69, 0x67, 0x68, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x64, 0x68, 0x63, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x69, 0x67, 0x68, 0x12, 0x36, + 0x0a, 0x05, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, + 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x05, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x63, 0x41, 0x64, 0x64, + 0x72, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x41, 0x64, 0x64, 0x72, + 0x12, 0x18, 0x0a, 0x07, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x07, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x18, 0x18, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x72, 0x73, 0x12, 0x2f, 0x0a, 0x03, 0x64, 0x6e, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, + 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x4e, 0x53, 0x52, 0x03, + 0x64, 0x6e, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x75, 0x70, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x02, 0x75, 0x70, 0x12, 0x37, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, + 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x6f, 0x4c, + 0x6f, 0x63, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x03, + 0x65, 0x72, 0x72, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, + 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x03, 0x65, 0x72, 0x72, 0x12, 0x3d, + 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, + 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x68, 0x79, 0x49, 0x6f, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, + 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x55, 0x49, 0x44, 0x18, 0x1f, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x55, 0x49, 0x44, 0x12, + 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, + 0x6f, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x0f, 0x77, 0x69, 0x72, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6f, + 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, + 0x66, 0x6f, 0x2e, 0x57, 0x69, 0x72, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x0e, 0x77, 0x69, 0x72, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x74, 0x75, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, + 0x6d, 0x74, 0x75, 0x12, 0x4c, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6f, 0x72, 0x67, + 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x70, 0x6e, 0x61, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, + 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x4e, 0x41, + 0x43, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x70, 0x6e, 0x61, 0x63, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x62, 0x6f, 0x6e, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, + 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x42, + 0x6f, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x62, 0x6f, 0x6e, 0x64, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xf6, 0x01, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x39, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, + 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x72, 0x6f, + 0x78, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, + 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x70, 0x61, 0x63, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, + 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x55, 0x52, 0x4c, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x6f, 0x78, + 0x79, 0x55, 0x52, 0x4c, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x70, 0x61, 0x64, 0x55, 0x52, 0x4c, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x70, 0x61, 0x64, 0x55, 0x52, 0x4c, 0x22, 0x4c, + 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x89, 0x01, 0x0a, + 0x0e, 0x57, 0x69, 0x72, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x35, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, + 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, + 0x6e, 0x66, 0x6f, 0x2e, 0x57, 0x69, 0x72, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x40, 0x0a, 0x08, 0x63, 0x65, 0x6c, 0x6c, 0x75, 0x6c, + 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, + 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, + 0x43, 0x65, 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x08, + 0x63, 0x65, 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x22, 0xf2, 0x03, 0x0a, 0x0f, 0x5a, 0x43, 0x65, + 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x27, 0x0a, 0x0f, + 0x63, 0x65, 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x65, 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x4d, + 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x69, 0x6d, 0x5f, 0x63, 0x61, 0x72, + 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x6d, 0x43, 0x61, 0x72, + 0x64, 0x73, 0x12, 0x44, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, + 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x43, 0x65, 0x6c, + 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x09, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x4f, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2c, + 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x64, 0x69, 0x6f, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x54, 0x65, 0x63, 0x68, 0x6e, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x52, 0x0b, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x74, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x70, + 0x72, 0x6f, 0x62, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x3d, 0x0a, 0x07, + 0x62, 0x65, 0x61, 0x72, 0x65, 0x72, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, + 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, + 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x42, 0x65, 0x61, 0x72, + 0x65, 0x72, 0x52, 0x07, 0x62, 0x65, 0x61, 0x72, 0x65, 0x72, 0x73, 0x12, 0x40, 0x0a, 0x08, 0x70, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, + 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x50, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x22, 0xdc, 0x04, + 0x0a, 0x0a, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x65, 0x76, 0x53, 0x57, 0x12, 0x1c, 0x0a, 0x09, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x09, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x26, 0x0a, 0x0e, + 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, + 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x53, 0x77, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x73, + 0x68, 0x6f, 0x72, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x20, 0x0a, 0x0b, 0x6c, 0x6f, 0x6e, 0x67, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x6f, 0x6e, 0x67, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x34, 0x0a, 0x05, 0x73, 0x77, 0x45, 0x72, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x76, 0x0a, 0x11, 0x53, 0x79, 0x73, 0x74, 0x65, - 0x6d, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x0a, 0x0c, - 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, - 0x12, 0x3d, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, - 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, - 0xd1, 0x02, 0x0a, 0x10, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x3e, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x52, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x12, 0x3a, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x40, 0x0a, 0x0d, - 0x6c, 0x61, 0x73, 0x74, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, - 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x12, 0x35, - 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x52, 0x05, 0x73, 0x77, 0x45, 0x72, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x64, 0x6f, 0x77, 0x6e, 0x6c, + 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x10, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x41, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, + 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x61, + 0x73, 0x65, 0x4f, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x53, 0x74, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, + 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x72, 0x12, 0x42, 0x0a, 0x09, 0x73, 0x75, + 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, - 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x05, - 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x22, 0xeb, 0x08, 0x0a, 0x0a, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, - 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x69, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x69, 0x73, 0x4d, 0x67, 0x6d, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, - 0x69, 0x73, 0x4d, 0x67, 0x6d, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x65, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x66, 0x72, 0x65, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x68, - 0x63, 0x70, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x68, - 0x63, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x12, 0x18, - 0x0a, 0x07, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x74, 0x70, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x74, 0x70, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x6f, 0x72, 0x65, 0x5f, 0x6e, - 0x74, 0x70, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x23, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0e, 0x6d, 0x6f, 0x72, 0x65, 0x4e, 0x74, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, - 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x10, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, - 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x68, 0x63, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x6f, 0x77, - 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x68, 0x63, 0x70, 0x52, 0x61, 0x6e, 0x67, - 0x65, 0x4c, 0x6f, 0x77, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x68, 0x63, 0x70, 0x52, 0x61, 0x6e, 0x67, - 0x65, 0x48, 0x69, 0x67, 0x68, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x68, 0x63, - 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x69, 0x67, 0x68, 0x12, 0x36, 0x0a, 0x05, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x72, 0x67, 0x2e, - 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, - 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x70, 0x72, 0x6f, - 0x78, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x63, 0x41, 0x64, 0x64, 0x72, 0x18, 0x16, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x41, 0x64, 0x64, 0x72, 0x12, 0x18, 0x0a, 0x07, - 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x49, - 0x50, 0x41, 0x64, 0x64, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x18, 0x18, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, - 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2f, - 0x0a, 0x03, 0x64, 0x6e, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x72, + 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x4f, 0x73, 0x53, 0x75, 0x62, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x09, 0x73, 0x75, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, + 0x0a, 0x11, 0x73, 0x75, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x72, 0x6f, 0x67, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x73, 0x75, 0x62, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x80, 0x02, 0x0a, + 0x0c, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x61, + 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x50, + 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x47, 0x75, 0x69, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x79, 0x70, 0x65, 0x47, 0x75, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x75, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x75, 0x69, 0x64, 0x22, + 0x92, 0x02, 0x0a, 0x0d, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12, 0x25, + 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x21, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, + 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x73, 0x6e, 0x61, + 0x70, 0x5f, 0x65, 0x72, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, - 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x4e, 0x53, 0x52, 0x03, 0x64, 0x6e, 0x73, 0x12, - 0x0e, 0x0a, 0x02, 0x75, 0x70, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x75, 0x70, 0x12, - 0x37, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1b, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, - 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x6f, 0x4c, 0x6f, 0x63, 0x52, 0x08, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x03, 0x65, 0x72, 0x72, 0x18, - 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, - 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x03, 0x65, 0x72, 0x72, 0x12, 0x3d, 0x0a, 0x05, 0x75, 0x73, - 0x61, 0x67, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x6f, 0x72, 0x67, 0x2e, - 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x2e, 0x50, 0x68, 0x79, 0x49, 0x6f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x61, - 0x67, 0x65, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x55, 0x49, 0x44, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x55, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x63, - 0x6f, 0x73, 0x74, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x12, - 0x4c, 0x0a, 0x0f, 0x77, 0x69, 0x72, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, - 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x57, - 0x69, 0x72, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0e, 0x77, - 0x69, 0x72, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x10, 0x0a, - 0x03, 0x6d, 0x74, 0x75, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x74, 0x75, 0x12, - 0x4c, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, - 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, - 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, - 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x40, 0x0a, - 0x0b, 0x70, 0x6e, 0x61, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x32, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, - 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x4e, 0x41, 0x43, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x0a, 0x70, 0x6e, 0x61, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x40, 0x0a, 0x0b, 0x62, 0x6f, 0x6e, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x3c, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, - 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x6f, 0x6e, 0x64, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x62, 0x6f, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x22, 0xf6, 0x01, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x39, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, - 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, - 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, - 0x70, 0x61, 0x63, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, - 0x61, 0x63, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x12, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x6f, 0x78, 0x79, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x55, 0x52, 0x4c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x55, 0x52, 0x4c, - 0x12, 0x18, 0x0a, 0x07, 0x77, 0x70, 0x61, 0x64, 0x55, 0x52, 0x4c, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x77, 0x70, 0x61, 0x64, 0x55, 0x52, 0x4c, 0x22, 0x4c, 0x0a, 0x0a, 0x50, 0x72, - 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x89, 0x01, 0x0a, 0x0e, 0x57, 0x69, 0x72, - 0x65, 0x6c, 0x65, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x35, 0x0a, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x6f, 0x72, 0x67, 0x2e, - 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, - 0x57, 0x69, 0x72, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x12, 0x40, 0x0a, 0x08, 0x63, 0x65, 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, - 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x43, 0x65, 0x6c, 0x6c, - 0x75, 0x6c, 0x61, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x08, 0x63, 0x65, 0x6c, 0x6c, - 0x75, 0x6c, 0x61, 0x72, 0x22, 0xf2, 0x03, 0x0a, 0x0f, 0x5a, 0x43, 0x65, 0x6c, 0x6c, 0x75, 0x6c, - 0x61, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x65, 0x6c, 0x6c, - 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x63, 0x65, 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x4d, 0x6f, 0x64, 0x75, 0x6c, - 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x69, 0x6d, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x6d, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x44, - 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, - 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x43, 0x65, 0x6c, 0x6c, 0x75, 0x6c, 0x61, - 0x72, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x73, 0x12, 0x4f, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, - 0x72, 0x61, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x6f, 0x72, 0x67, - 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x64, 0x69, 0x6f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x65, - 0x63, 0x68, 0x6e, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x52, 0x0b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, - 0x74, 0x52, 0x61, 0x74, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x65, 0x64, 0x41, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x62, 0x65, - 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, - 0x6f, 0x62, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x3d, 0x0a, 0x07, 0x62, 0x65, 0x61, 0x72, - 0x65, 0x72, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6f, 0x72, 0x67, 0x2e, - 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, - 0x43, 0x65, 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x52, 0x07, - 0x62, 0x65, 0x61, 0x72, 0x65, 0x72, 0x73, 0x12, 0x40, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x66, 0x69, - 0x6c, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x72, 0x67, 0x2e, - 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, - 0x43, 0x65, 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, - 0x08, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x22, 0xdc, 0x04, 0x0a, 0x0a, 0x5a, 0x49, - 0x6e, 0x66, 0x6f, 0x44, 0x65, 0x76, 0x53, 0x57, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, - 0x76, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x61, 0x74, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x28, - 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x35, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x1d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, - 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x53, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x72, 0x74, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, - 0x68, 0x6f, 0x72, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x6c, - 0x6f, 0x6e, 0x67, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x6c, 0x6f, 0x6e, 0x67, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, - 0x05, 0x73, 0x77, 0x45, 0x72, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, - 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, - 0x66, 0x6f, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x73, 0x77, - 0x45, 0x72, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, - 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x64, - 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, - 0x41, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, - 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x4f, 0x73, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, - 0x74, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x53, 0x74, 0x72, 0x12, 0x42, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x6f, 0x72, 0x67, 0x2e, - 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, - 0x42, 0x61, 0x73, 0x65, 0x4f, 0x73, 0x53, 0x75, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x09, 0x73, 0x75, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x75, - 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, - 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x73, 0x75, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x80, 0x02, 0x0a, 0x0c, 0x5a, 0x49, 0x6e, - 0x66, 0x6f, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, - 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, - 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x26, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x62, 0x65, - 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x47, 0x75, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x11, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x47, 0x75, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x55, 0x75, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x75, 0x69, 0x64, 0x22, 0x92, 0x02, 0x0a, 0x0d, - 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, - 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, - 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x6f, - 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, - 0x66, 0x6f, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x65, 0x72, - 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, + 0x6f, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x73, 0x6e, 0x61, + 0x70, 0x45, 0x72, 0x72, 0x22, 0x60, 0x0a, 0x10, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x4c, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, + 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, + 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x6e, 0x6f, 0x64, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x86, 0x05, 0x0a, 0x08, 0x5a, 0x49, 0x6e, 0x66, 0x6f, + 0x41, 0x70, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x70, 0x70, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x41, 0x70, 0x70, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x70, 0x70, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, + 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x79, 0x73, + 0x74, 0x65, 0x6d, 0x41, 0x70, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x79, + 0x73, 0x74, 0x65, 0x6d, 0x41, 0x70, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x70, 0x70, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x70, 0x70, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x40, 0x0a, 0x0c, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x4c, 0x69, 0x73, + 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, + 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, + 0x6e, 0x66, 0x6f, 0x53, 0x57, 0x52, 0x0c, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x08, 0x62, 0x6f, 0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65, 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, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x52, 0x08, 0x62, 0x6f, 0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4a, 0x0a, 0x10, 0x61, + 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x73, 0x18, + 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, + 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x69, 0x6f, 0x42, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x10, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x41, + 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x45, 0x72, + 0x72, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x73, 0x6e, 0x61, 0x70, 0x45, 0x72, 0x72, - 0x22, 0x60, 0x0a, 0x10, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x4c, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x6f, 0x72, 0x67, 0x2e, - 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, - 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x22, 0x86, 0x05, 0x0a, 0x08, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x70, 0x70, 0x12, - 0x14, 0x0a, 0x05, 0x41, 0x70, 0x70, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x41, 0x70, 0x70, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x41, - 0x70, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, - 0x41, 0x70, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, - 0x0c, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, - 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x53, - 0x57, 0x52, 0x0c, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x36, 0x0a, 0x08, 0x62, 0x6f, 0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65, 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, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x62, - 0x6f, 0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4a, 0x0a, 0x10, 0x61, 0x73, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, - 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x69, 0x6f, 0x42, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x52, 0x10, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x41, 0x64, 0x61, 0x70, 0x74, - 0x65, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x45, 0x72, 0x72, 0x18, 0x0e, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, - 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x61, 0x70, 0x70, 0x45, 0x72, 0x72, 0x12, 0x33, 0x0a, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x6f, 0x72, 0x67, - 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, - 0x2e, 0x5a, 0x53, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x3b, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x10, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, - 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x1e, 0x0a, - 0x0a, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x66, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0a, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x66, 0x73, 0x12, 0x40, 0x0a, - 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x22, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, - 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x52, 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x12, - 0x2e, 0x0a, 0x13, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x72, - 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x63, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x4a, - 0x04, 0x08, 0x09, 0x10, 0x0c, 0x4a, 0x04, 0x08, 0x13, 0x10, 0x14, 0x22, 0x5e, 0x0a, 0x10, 0x5a, - 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, - 0x14, 0x0a, 0x05, 0x73, 0x70, 0x69, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x73, 0x70, 0x69, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x65, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x65, 0x74, 0x12, 0x1c, 0x0a, - 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb2, 0x02, 0x0a, 0x0c, - 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x71, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x72, 0x65, 0x71, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x54, 0x69, - 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x73, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x73, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x38, 0x0a, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x6f, 0x72, - 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, - 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, - 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x05, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, + 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x61, 0x70, 0x70, 0x45, 0x72, 0x72, 0x12, + 0x33, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, + 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, + 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x53, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, + 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, - 0x6f, 0x56, 0x70, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x6c, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x3b, 0x0a, 0x05, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, - 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, - 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x72, 0x49, 0x6e, 0x66, 0x6f, - 0x22, 0x4e, 0x0a, 0x10, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x45, 0x6e, 0x64, 0x50, - 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x12, 0x12, 0x0a, 0x04, - 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, - 0x22, 0xe7, 0x02, 0x0a, 0x0c, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x43, 0x6f, 0x6e, - 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x18, 0x0a, 0x07, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x07, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x6b, 0x65, - 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6b, 0x65, 0x73, 0x12, 0x38, 0x0a, - 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x6f, - 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, - 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x05, 0x6c, 0x49, 0x6e, 0x66, 0x6f, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, + 0x6f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x66, 0x73, 0x18, + 0x11, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x66, + 0x73, 0x12, 0x40, 0x0a, 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x18, 0x12, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, + 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, + 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x61, + 0x70, 0x70, 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x11, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x52, 0x75, 0x6e, 0x6e, + 0x69, 0x6e, 0x67, 0x4a, 0x04, 0x08, 0x09, 0x10, 0x0c, 0x4a, 0x04, 0x08, 0x13, 0x10, 0x14, 0x22, + 0x5e, 0x0a, 0x10, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x70, 0x69, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x73, 0x70, 0x69, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x62, + 0x4e, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x65, + 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0xb2, 0x02, 0x0a, 0x0c, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x71, 0x49, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x71, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, + 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x69, 0x6e, + 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x73, 0x70, 0x49, 0x6e, 0x66, + 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x73, 0x70, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x38, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x22, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, + 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x05, 0x6c, 0x49, + 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, + 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, + 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x05, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3b, 0x0a, 0x05, 0x72, 0x49, 0x6e, 0x66, 0x6f, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, - 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x45, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x05, 0x6c, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3b, 0x0a, 0x05, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, - 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, - 0x70, 0x6e, 0x45, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x05, 0x72, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x37, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x21, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, - 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x4c, - 0x69, 0x6e, 0x6b, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x22, 0xa7, 0x01, 0x0a, 0x08, 0x5a, - 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x54, 0x69, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x20, 0x0a, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x73, 0x65, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x73, 0x65, - 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x49, 0x70, - 0x41, 0x64, 0x64, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x6c, 0x69, 0x73, - 0x74, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x73, 0x12, 0x35, 0x0a, - 0x04, 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x72, - 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, - 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x52, 0x04, - 0x63, 0x6f, 0x6e, 0x6e, 0x22, 0x9f, 0x08, 0x0a, 0x14, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, - 0x09, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x64, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x64, 0x12, - 0x3c, 0x0a, 0x0b, 0x75, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x0b, 0x75, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x40, 0x0a, - 0x0c, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, - 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x53, - 0x57, 0x52, 0x0c, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x30, 0x0a, 0x11, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x6c, 0x69, 0x6e, 0x6b, - 0x49, 0x6e, 0x74, 0x66, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x11, - 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x49, 0x6e, 0x74, - 0x66, 0x12, 0x32, 0x0a, 0x12, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x6c, 0x69, - 0x6e, 0x6b, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, - 0x01, 0x52, 0x12, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x6c, 0x69, 0x6e, 0x6b, - 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x0c, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x62, - 0x72, 0x69, 0x64, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, - 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x72, 0x69, - 0x64, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, - 0x72, 0x69, 0x64, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x72, 0x69, - 0x64, 0x67, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x12, 0x50, 0x0a, - 0x0d, 0x69, 0x70, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x17, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, - 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x6d, 0x65, 0x74, 0x49, - 0x50, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x0d, 0x69, 0x70, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, - 0x34, 0x0a, 0x04, 0x76, 0x69, 0x66, 0x73, 0x18, 0x19, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x72, + 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x4e, 0x0a, 0x10, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, + 0x45, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x70, 0x41, 0x64, + 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, + 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, + 0x70, 0x6f, 0x72, 0x74, 0x22, 0xe7, 0x02, 0x0a, 0x0c, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, + 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x69, 0x6b, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6b, 0x65, + 0x73, 0x12, 0x38, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x22, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, + 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x05, 0x6c, + 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, + 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, + 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x45, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, + 0x74, 0x52, 0x05, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3b, 0x0a, 0x05, 0x72, 0x49, 0x6e, 0x66, + 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, + 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, + 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x45, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x05, + 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x37, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x0a, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, + 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, + 0x56, 0x70, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x22, 0xa7, + 0x01, 0x0a, 0x08, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x75, + 0x70, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x70, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x73, + 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x42, 0x61, 0x73, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x69, + 0x6e, 0x67, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x10, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, + 0x73, 0x12, 0x35, 0x0a, 0x04, 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x21, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, + 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x43, 0x6f, + 0x6e, 0x6e, 0x52, 0x04, 0x63, 0x6f, 0x6e, 0x6e, 0x22, 0x9f, 0x08, 0x0a, 0x14, 0x5a, 0x49, 0x6e, + 0x66, 0x6f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x44, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x44, 0x12, + 0x26, 0x0a, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x64, 0x12, 0x3c, 0x0a, 0x0b, 0x75, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, + 0x6d, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x75, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, + 0x70, 0x12, 0x40, 0x0a, 0x0c, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x4c, 0x69, 0x73, + 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, + 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, + 0x6e, 0x66, 0x6f, 0x53, 0x57, 0x52, 0x0c, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x11, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x55, 0x70, + 0x6c, 0x69, 0x6e, 0x6b, 0x49, 0x6e, 0x74, 0x66, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, + 0x18, 0x01, 0x52, 0x11, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x6c, 0x69, 0x6e, + 0x6b, 0x49, 0x6e, 0x74, 0x66, 0x12, 0x32, 0x0a, 0x12, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, + 0x55, 0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x12, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x55, 0x70, + 0x6c, 0x69, 0x6e, 0x6b, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, + 0x1c, 0x0a, 0x09, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x14, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x09, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, + 0x0a, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, + 0x0c, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x18, 0x16, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, + 0x72, 0x12, 0x50, 0x0a, 0x0d, 0x69, 0x70, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, + 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, + 0x6d, 0x65, 0x74, 0x49, 0x50, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x69, 0x70, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x04, 0x76, 0x69, 0x66, 0x73, 0x18, 0x19, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, + 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x6d, 0x65, 0x74, 0x56, 0x69, 0x66, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x76, 0x69, 0x66, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x70, 0x76, + 0x34, 0x45, 0x69, 0x64, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x70, 0x76, 0x34, + 0x45, 0x69, 0x64, 0x12, 0x4a, 0x0a, 0x10, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x41, + 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, - 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x6d, 0x65, 0x74, 0x56, 0x69, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x04, 0x76, 0x69, 0x66, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x70, 0x76, 0x34, 0x45, 0x69, 0x64, - 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x70, 0x76, 0x34, 0x45, 0x69, 0x64, 0x12, - 0x4a, 0x0a, 0x10, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x41, 0x64, 0x61, 0x70, 0x74, - 0x65, 0x72, 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, - 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, - 0x5a, 0x69, 0x6f, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x10, 0x61, 0x73, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x73, 0x12, 0x35, 0x0a, 0x05, 0x76, - 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x72, 0x67, + 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x69, 0x6f, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x10, 0x61, + 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x73, 0x12, + 0x35, 0x0a, 0x05, 0x76, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, + 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, + 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x48, 0x00, 0x52, + 0x05, 0x76, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x3e, 0x0a, 0x0a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x45, 0x72, 0x72, 0x18, 0x28, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, - 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x48, 0x00, 0x52, 0x05, 0x76, 0x69, 0x6e, - 0x66, 0x6f, 0x12, 0x3e, 0x0a, 0x0a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x72, 0x72, - 0x18, 0x28, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, - 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, - 0x72, 0x72, 0x12, 0x40, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x29, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x2a, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, - 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x74, 0x75, 0x18, 0x2a, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x03, 0x6d, 0x74, 0x75, 0x12, 0x39, 0x0a, 0x09, 0x69, 0x70, 0x5f, 0x72, 0x6f, 0x75, - 0x74, 0x65, 0x73, 0x18, 0x2b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x72, 0x67, 0x2e, - 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, - 0x49, 0x50, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x08, 0x69, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x4a, 0x04, 0x08, 0x18, 0x10, 0x19, 0x22, 0x89, 0x01, 0x0a, 0x07, 0x49, 0x50, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x12, 0x12, 0x0a, - 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x6f, 0x72, - 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x61, 0x70, 0x70, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x41, - 0x70, 0x70, 0x22, 0xb7, 0x01, 0x0a, 0x09, 0x55, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x3a, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x72, 0x65, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, - 0x72, 0x65, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x52, 0x0a, 0x16, 0x6c, 0x61, 0x73, 0x74, - 0x52, 0x65, 0x66, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x69, - 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x45, 0x72, 0x72, 0x12, 0x40, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x29, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, + 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x74, 0x75, 0x18, + 0x2a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x74, 0x75, 0x12, 0x39, 0x0a, 0x09, 0x69, 0x70, + 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x2b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, + 0x6e, 0x66, 0x6f, 0x2e, 0x49, 0x50, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x08, 0x69, 0x70, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x4a, 0x04, 0x08, 0x18, 0x10, 0x19, 0x22, 0x89, 0x01, 0x0a, 0x07, 0x49, + 0x50, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x61, 0x74, 0x65, 0x77, + 0x61, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, + 0x79, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, + 0x5f, 0x61, 0x70, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x61, 0x74, 0x65, + 0x77, 0x61, 0x79, 0x41, 0x70, 0x70, 0x22, 0xb7, 0x01, 0x0a, 0x09, 0x55, 0x73, 0x61, 0x67, 0x65, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3a, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x16, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x66, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x59, 0x0a, 0x0f, - 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, - 0x22, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, - 0x74, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, - 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x53, 0x69, - 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x8b, 0x03, 0x0a, 0x0b, 0x5a, 0x49, 0x6e, 0x66, - 0x6f, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, - 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, - 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, - 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, - 0x66, 0x6f, 0x2e, 0x55, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x75, 0x73, - 0x61, 0x67, 0x65, 0x12, 0x42, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, - 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x56, 0x6f, 0x6c, - 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x09, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, - 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x53, 0x77, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x0a, 0x12, - 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, - 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, - 0x73, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x09, - 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, - 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x36, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x75, 0x72, - 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0c, 0x63, 0x75, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0xc9, 0x03, - 0x0a, 0x10, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x72, - 0x65, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x32, - 0x35, 0x36, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, - 0x12, 0x43, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, - 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, - 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x73, 0x61, 0x67, 0x65, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x12, 0x33, 0x0a, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x6f, 0x72, 0x67, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x52, 0x0a, 0x16, + 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x66, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x16, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, + 0x66, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x22, 0x59, 0x0a, 0x0f, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, + 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x53, 0x69, + 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x53, 0x69, + 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x63, + 0x75, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x8b, 0x03, 0x0a, 0x0b, + 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, + 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, + 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x34, 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, + 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x12, 0x42, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x72, 0x67, + 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, + 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x53, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x50, 0x65, 0x72, 0x63, - 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x70, 0x72, + 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, - 0x12, 0x30, 0x0a, 0x03, 0x65, 0x72, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, - 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x03, 0x65, - 0x72, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, - 0x68, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6f, - 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, 0x68, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x29, - 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xb5, 0x02, 0x0a, 0x09, 0x5a, 0x49, - 0x6e, 0x66, 0x6f, 0x42, 0x6c, 0x6f, 0x62, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, - 0x36, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, - 0x43, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, - 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, + 0x12, 0x3c, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, - 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x73, 0x61, 0x67, 0x65, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x12, 0x33, 0x0a, 0x05, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, - 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, - 0x5a, 0x53, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x2e, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, - 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x70, 0x72, 0x6f, - 0x67, 0x72, 0x65, 0x73, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, - 0x30, 0x0a, 0x03, 0x65, 0x72, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, - 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, - 0x66, 0x6f, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x03, 0x65, 0x72, - 0x72, 0x22, 0x43, 0x0a, 0x0d, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x6c, 0x6f, 0x62, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x32, 0x0a, 0x04, 0x62, 0x6c, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x12, 0x29, + 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x36, 0x0a, 0x10, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x22, 0x0a, + 0x0c, 0x63, 0x75, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, + 0x73, 0x22, 0xc9, 0x03, 0x0a, 0x10, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x54, 0x72, 0x65, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68, + 0x61, 0x32, 0x35, 0x36, 0x12, 0x43, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, + 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x09, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x05, 0x75, 0x73, 0x61, + 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, + 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, + 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x12, + 0x33, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, + 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, + 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x53, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x12, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, + 0x74, 0x61, 0x67, 0x65, 0x12, 0x30, 0x0a, 0x03, 0x65, 0x72, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, + 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x03, 0x65, 0x72, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, + 0x65, 0x6e, 0x74, 0x53, 0x68, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, 0x68, 0x61, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xb5, 0x02, + 0x0a, 0x09, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x6c, 0x6f, 0x62, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68, 0x61, + 0x32, 0x35, 0x36, 0x12, 0x43, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, + 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x09, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, + 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x73, + 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x12, 0x33, + 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, + 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, + 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x53, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x50, + 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x12, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, + 0x61, 0x67, 0x65, 0x12, 0x30, 0x0a, 0x03, 0x65, 0x72, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, - 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x6c, 0x6f, 0x62, - 0x52, 0x04, 0x62, 0x6c, 0x6f, 0x62, 0x22, 0xa7, 0x09, 0x0a, 0x08, 0x5a, 0x49, 0x6e, 0x66, 0x6f, - 0x4d, 0x73, 0x67, 0x12, 0x35, 0x0a, 0x05, 0x7a, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, - 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, - 0x70, 0x65, 0x73, 0x52, 0x05, 0x7a, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, - 0x76, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x76, 0x49, 0x64, - 0x12, 0x38, 0x0a, 0x05, 0x64, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, - 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x48, 0x00, 0x52, 0x05, 0x64, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x35, 0x0a, 0x05, 0x61, 0x69, - 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, - 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, - 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x70, 0x70, 0x48, 0x00, 0x52, 0x05, 0x61, 0x69, 0x6e, 0x66, - 0x6f, 0x12, 0x43, 0x0a, 0x06, 0x6e, 0x69, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x29, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, - 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x06, - 0x6e, 0x69, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x38, 0x0a, 0x05, 0x76, 0x69, 0x6e, 0x66, 0x6f, 0x18, - 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, + 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x03, 0x65, 0x72, 0x72, 0x22, 0x43, 0x0a, 0x0d, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x6c, + 0x6f, 0x62, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x04, 0x62, 0x6c, 0x6f, 0x62, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, + 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, + 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x04, 0x62, 0x6c, 0x6f, 0x62, 0x22, 0xa7, 0x09, 0x0a, 0x08, 0x5a, + 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x73, 0x67, 0x12, 0x35, 0x0a, 0x05, 0x7a, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, + 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, + 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x05, 0x7a, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x64, 0x65, 0x76, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, + 0x65, 0x76, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x05, 0x64, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, + 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x44, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x48, 0x00, 0x52, 0x05, 0x64, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x35, + 0x0a, 0x05, 0x61, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, + 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, + 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x70, 0x70, 0x48, 0x00, 0x52, 0x05, + 0x61, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x43, 0x0a, 0x06, 0x6e, 0x69, 0x69, 0x6e, 0x66, 0x6f, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, - 0x6f, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x05, 0x76, 0x69, 0x6e, 0x66, 0x6f, - 0x12, 0x3d, 0x0a, 0x05, 0x63, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, - 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x54, 0x72, 0x65, 0x65, 0x48, 0x00, 0x52, 0x05, 0x63, 0x69, 0x6e, 0x66, 0x6f, 0x12, - 0x3a, 0x0a, 0x05, 0x62, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, - 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, - 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x6c, 0x6f, 0x62, 0x4c, 0x69, - 0x73, 0x74, 0x48, 0x00, 0x52, 0x05, 0x62, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x45, 0x0a, 0x07, 0x61, - 0x6d, 0x64, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6f, - 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, - 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x4d, - 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x07, 0x61, 0x6d, 0x64, 0x69, 0x6e, - 0x66, 0x6f, 0x12, 0x3c, 0x0a, 0x06, 0x65, 0x76, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x11, 0x20, 0x01, + 0x6f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x48, 0x00, 0x52, 0x06, 0x6e, 0x69, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x38, 0x0a, 0x05, 0x76, 0x69, + 0x6e, 0x66, 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x72, 0x67, 0x2e, + 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, + 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x05, 0x76, + 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x3d, 0x0a, 0x05, 0x63, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, + 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x65, 0x65, 0x48, 0x00, 0x52, 0x05, 0x63, 0x69, + 0x6e, 0x66, 0x6f, 0x12, 0x3a, 0x0a, 0x05, 0x62, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, - 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x45, 0x64, - 0x67, 0x65, 0x76, 0x69, 0x65, 0x77, 0x48, 0x00, 0x52, 0x06, 0x65, 0x76, 0x69, 0x6e, 0x66, 0x6f, - 0x12, 0x3c, 0x0a, 0x06, 0x68, 0x77, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x22, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, - 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x61, 0x72, 0x64, - 0x77, 0x61, 0x72, 0x65, 0x48, 0x00, 0x52, 0x06, 0x68, 0x77, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x3e, - 0x0a, 0x07, 0x6c, 0x6f, 0x63, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x22, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, - 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x6c, 0x6f, 0x63, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x47, - 0x0a, 0x09, 0x70, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x14, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x27, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, - 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x50, 0x61, 0x74, - 0x63, 0x68, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x48, 0x00, 0x52, 0x09, 0x70, 0x61, - 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4a, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, - 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, - 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, - 0x6f, 0x64, 0x65, 0x12, 0x47, 0x0a, 0x0b, 0x6e, 0x74, 0x70, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, - 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, - 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x54, 0x50, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x48, 0x00, - 0x52, 0x0a, 0x6e, 0x74, 0x70, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x0c, - 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x18, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, - 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x4b, 0x75, - 0x62, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x63, 0x0a, 0x13, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, - 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, + 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x6c, + 0x6f, 0x62, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x05, 0x62, 0x69, 0x6e, 0x66, 0x6f, 0x12, + 0x45, 0x0a, 0x07, 0x61, 0x6d, 0x64, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x29, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, + 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x70, 0x70, 0x49, + 0x6e, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x07, 0x61, + 0x6d, 0x64, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x3c, 0x0a, 0x06, 0x65, 0x76, 0x69, 0x6e, 0x66, 0x6f, + 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, + 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, + 0x66, 0x6f, 0x45, 0x64, 0x67, 0x65, 0x76, 0x69, 0x65, 0x77, 0x48, 0x00, 0x52, 0x06, 0x65, 0x76, + 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x3c, 0x0a, 0x06, 0x68, 0x77, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x12, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, + 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, + 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x48, 0x00, 0x52, 0x06, 0x68, 0x77, 0x69, 0x6e, + 0x66, 0x6f, 0x12, 0x3e, 0x0a, 0x07, 0x6c, 0x6f, 0x63, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x13, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, + 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x6c, 0x6f, 0x63, 0x69, 0x6e, + 0x66, 0x6f, 0x12, 0x47, 0x0a, 0x09, 0x70, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x18, + 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, - 0x6f, 0x4b, 0x75, 0x62, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x11, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3c, 0x0a, - 0x0b, 0x61, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, - 0x61, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0d, 0x0a, 0x0b, 0x49, - 0x6e, 0x66, 0x6f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4a, 0x04, 0x08, 0x15, 0x10, 0x16, - 0x22, 0x76, 0x0a, 0x0c, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, - 0x12, 0x3a, 0x0a, 0x18, 0x48, 0x57, 0x41, 0x73, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x56, 0x69, - 0x72, 0x74, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x18, 0x48, 0x57, 0x41, 0x73, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x56, 0x69, - 0x72, 0x74, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x10, - 0x49, 0x4f, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x49, 0x4f, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, - 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7c, 0x0a, 0x14, 0x5a, 0x49, 0x6e, 0x66, - 0x6f, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x75, 0x75, 0x69, 0x64, 0x12, 0x3c, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, - 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, - 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xe2, 0x01, 0x0a, 0x0d, 0x5a, 0x49, 0x6e, 0x66, 0x6f, - 0x45, 0x64, 0x67, 0x65, 0x76, 0x69, 0x65, 0x77, 0x12, 0x3b, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, - 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x64, 0x65, - 0x76, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x65, - 0x76, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x70, 0x70, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x70, 0x70, 0x12, 0x1b, - 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x78, 0x74, 0x22, 0xe8, 0x03, 0x0a, 0x0d, - 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, - 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, - 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, - 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6c, 0x6f, - 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x6c, 0x74, 0x69, 0x74, - 0x75, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x61, 0x6c, 0x74, 0x69, 0x74, - 0x75, 0x64, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x75, 0x74, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x75, 0x74, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x12, 0x5a, 0x0a, 0x16, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, - 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, - 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x4c, 0x6f, 0x63, 0x52, 0x65, - 0x6c, 0x69, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x15, 0x68, 0x6f, 0x72, 0x69, 0x7a, - 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x12, 0x56, 0x0a, 0x14, 0x76, 0x65, 0x72, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x6c, - 0x69, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, - 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, - 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x4c, 0x6f, 0x63, 0x52, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x69, 0x6c, - 0x69, 0x74, 0x79, 0x52, 0x13, 0x76, 0x65, 0x72, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x52, 0x65, 0x6c, - 0x69, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x35, 0x0a, 0x16, 0x68, 0x6f, 0x72, 0x69, - 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x75, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, - 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x6f, - 0x6e, 0x74, 0x61, 0x6c, 0x55, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x12, - 0x31, 0x0a, 0x14, 0x76, 0x65, 0x72, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x75, 0x6e, 0x63, 0x65, - 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x76, - 0x65, 0x72, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x55, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, - 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, - 0x6c, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x96, 0x02, 0x0a, 0x1c, 0x5a, 0x49, 0x6e, 0x66, 0x6f, - 0x4b, 0x75, 0x62, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, - 0x6e, 0x74, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, - 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x3b, 0x0a, 0x09, 0x63, 0x6f, - 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, - 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, - 0x6e, 0x66, 0x6f, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x6f, - 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, - 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x4b, 0x75, - 0x62, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x34, 0x0a, 0x05, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, + 0x6f, 0x50, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x48, 0x00, + 0x52, 0x09, 0x70, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4a, 0x0a, 0x0c, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, + 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x47, 0x0a, 0x0b, 0x6e, 0x74, 0x70, 0x5f, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, + 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, + 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x54, 0x50, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x6e, 0x74, 0x70, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x12, 0x4a, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, + 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, + 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, + 0x66, 0x6f, 0x4b, 0x75, 0x62, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, + 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x63, 0x0a, 0x13, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x69, + 0x6e, 0x66, 0x6f, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, - 0x82, 0x03, 0x0a, 0x10, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x4b, 0x75, 0x62, 0x65, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, - 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x4e, 0x6f, - 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x51, 0x0a, - 0x0f, 0x70, 0x6f, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, - 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x4b, 0x75, 0x62, - 0x65, 0x50, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x0d, 0x70, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x73, - 0x12, 0x41, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x5f, 0x61, 0x70, 0x70, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, - 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x45, 0x56, 0x45, - 0x41, 0x70, 0x70, 0x50, 0x6f, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x65, 0x76, 0x65, 0x41, - 0x70, 0x70, 0x73, 0x12, 0x3e, 0x0a, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, - 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x53, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x73, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x5f, 0x76, 0x6d, 0x5f, 0x61, 0x70, 0x70, - 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, + 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x4b, 0x75, 0x62, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x11, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x3c, 0x0a, 0x0b, 0x61, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x0b, 0x61, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x42, + 0x0d, 0x0a, 0x0b, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4a, 0x04, + 0x08, 0x15, 0x10, 0x16, 0x22, 0x76, 0x0a, 0x0c, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x69, 0x65, 0x73, 0x12, 0x3a, 0x0a, 0x18, 0x48, 0x57, 0x41, 0x73, 0x73, 0x69, 0x73, 0x74, + 0x65, 0x64, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x48, 0x57, 0x41, 0x73, 0x73, 0x69, 0x73, 0x74, + 0x65, 0x64, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x2a, 0x0a, 0x10, 0x49, 0x4f, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x49, 0x4f, 0x56, 0x69, + 0x72, 0x74, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7c, 0x0a, 0x14, + 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, + 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x3c, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, + 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x70, 0x70, + 0x49, 0x6e, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xe2, 0x01, 0x0a, 0x0d, 0x5a, + 0x49, 0x6e, 0x66, 0x6f, 0x45, 0x64, 0x67, 0x65, 0x76, 0x69, 0x65, 0x77, 0x12, 0x3b, 0x0a, 0x0b, + 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x65, + 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x64, 0x65, 0x76, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x44, 0x65, 0x76, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, + 0x70, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, + 0x70, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x78, 0x74, 0x22, + 0xe8, 0x03, 0x0a, 0x0d, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x01, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, + 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, + 0x6c, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x61, + 0x6c, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x75, 0x74, 0x63, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x75, 0x74, 0x63, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x5a, 0x0a, 0x16, 0x68, 0x6f, 0x72, 0x69, + 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, + 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x4c, + 0x6f, 0x63, 0x52, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x15, 0x68, + 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x12, 0x56, 0x0a, 0x14, 0x76, 0x65, 0x72, 0x74, 0x69, 0x63, 0x61, 0x6c, + 0x5f, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, + 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x4c, 0x6f, 0x63, 0x52, 0x65, 0x6c, 0x69, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x13, 0x76, 0x65, 0x72, 0x74, 0x69, 0x63, 0x61, + 0x6c, 0x52, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x35, 0x0a, 0x16, + 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x75, 0x6e, 0x63, 0x65, 0x72, + 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x68, 0x6f, + 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x55, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, + 0x6e, 0x74, 0x79, 0x12, 0x31, 0x0a, 0x14, 0x76, 0x65, 0x72, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x5f, + 0x75, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x13, 0x76, 0x65, 0x72, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x55, 0x6e, 0x63, 0x65, 0x72, + 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, + 0x6c, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x6f, + 0x67, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x96, 0x02, 0x0a, 0x1c, 0x5a, + 0x49, 0x6e, 0x66, 0x6f, 0x4b, 0x75, 0x62, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x3b, + 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x1d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, + 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x43, 0x6f, 0x6d, 0x70, + 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x6f, 0x72, + 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, + 0x6f, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x34, + 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, + 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x49, 0x64, 0x22, 0x82, 0x03, 0x0a, 0x10, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x4b, 0x75, 0x62, + 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x4b, 0x75, - 0x62, 0x65, 0x56, 0x4d, 0x49, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x65, 0x76, 0x65, 0x56, 0x6d, - 0x41, 0x70, 0x70, 0x73, 0x22, 0xea, 0x02, 0x0a, 0x0d, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x61, - 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x12, 0x3e, 0x0a, 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, - 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x02, 0x18, 0x01, 0x52, - 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x5f, 0x72, 0x65, - 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x76, 0x65, - 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x65, 0x6e, - 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x72, 0x67, + 0x62, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, + 0x73, 0x12, 0x51, 0x0a, 0x0f, 0x70, 0x6f, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, - 0x2e, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, - 0x72, 0x79, 0x52, 0x09, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, - 0x0d, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x46, 0x6c, 0x61, 0x76, - 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6b, 0x65, 0x72, 0x6e, - 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x76, 0x65, - 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x65, 0x76, 0x65, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x6b, 0x65, - 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6d, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x43, 0x6d, 0x64, 0x6c, 0x69, 0x6e, - 0x65, 0x2a, 0x75, 0x0a, 0x11, 0x44, 0x65, 0x70, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, - 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x65, 0x70, 0x4d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x10, 0x00, 0x12, 0x16, - 0x0a, 0x12, 0x44, 0x65, 0x70, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x47, - 0x61, 0x75, 0x67, 0x65, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x65, 0x70, 0x4d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x10, 0x02, - 0x12, 0x16, 0x0a, 0x12, 0x44, 0x65, 0x70, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, - 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0x03, 0x2a, 0xb0, 0x02, 0x0a, 0x0a, 0x5a, 0x49, 0x6e, - 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x09, 0x0a, 0x05, 0x5a, 0x69, 0x4e, 0x6f, 0x70, - 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x5a, 0x69, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x10, 0x01, - 0x12, 0x09, 0x0a, 0x05, 0x5a, 0x69, 0x41, 0x70, 0x70, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x5a, - 0x69, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x10, 0x06, 0x12, 0x0c, 0x0a, 0x08, 0x5a, 0x69, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x10, 0x07, - 0x12, 0x11, 0x0a, 0x0d, 0x5a, 0x69, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x65, - 0x65, 0x10, 0x08, 0x12, 0x0e, 0x0a, 0x0a, 0x5a, 0x69, 0x42, 0x6c, 0x6f, 0x62, 0x4c, 0x69, 0x73, - 0x74, 0x10, 0x09, 0x12, 0x15, 0x0a, 0x11, 0x5a, 0x69, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, - 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x10, 0x0a, 0x12, 0x0e, 0x0a, 0x0a, 0x5a, 0x69, - 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x10, 0x0b, 0x12, 0x0e, 0x0a, 0x0a, 0x5a, 0x69, - 0x45, 0x64, 0x67, 0x65, 0x76, 0x69, 0x65, 0x77, 0x10, 0x0c, 0x12, 0x0e, 0x0a, 0x0a, 0x5a, 0x69, - 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x0d, 0x12, 0x13, 0x0a, 0x0f, 0x5a, 0x69, - 0x50, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x10, 0x0e, 0x12, - 0x10, 0x0a, 0x0c, 0x5a, 0x69, 0x4e, 0x54, 0x50, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x10, - 0x10, 0x12, 0x11, 0x0a, 0x0d, 0x5a, 0x69, 0x4b, 0x75, 0x62, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x10, 0x11, 0x12, 0x1d, 0x0a, 0x19, 0x5a, 0x69, 0x4b, 0x75, 0x62, 0x65, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x10, 0x12, 0x22, 0x04, 0x08, 0x02, 0x10, 0x02, 0x22, 0x04, 0x08, 0x04, 0x10, 0x04, 0x22, - 0x04, 0x08, 0x05, 0x10, 0x05, 0x22, 0x04, 0x08, 0x0f, 0x10, 0x0f, 0x2a, 0x91, 0x03, 0x0a, 0x08, - 0x5a, 0x53, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, - 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, - 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x53, - 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x4f, 0x57, 0x4e, - 0x4c, 0x4f, 0x41, 0x44, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x45, 0x4c, 0x49, - 0x56, 0x45, 0x52, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x4e, 0x53, 0x54, 0x41, - 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x4f, 0x4f, 0x54, 0x49, 0x4e, - 0x47, 0x10, 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x07, - 0x12, 0x0b, 0x0a, 0x07, 0x48, 0x41, 0x4c, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x08, 0x12, 0x0a, 0x0a, - 0x06, 0x48, 0x41, 0x4c, 0x54, 0x45, 0x44, 0x10, 0x09, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x45, 0x53, - 0x54, 0x41, 0x52, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x0a, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x55, 0x52, - 0x47, 0x49, 0x4e, 0x47, 0x10, 0x0b, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x45, 0x53, 0x4f, 0x4c, 0x56, - 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x41, 0x47, 0x10, 0x0c, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x45, 0x53, - 0x4f, 0x4c, 0x56, 0x45, 0x44, 0x5f, 0x54, 0x41, 0x47, 0x10, 0x0d, 0x12, 0x13, 0x0a, 0x0f, 0x43, - 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x10, 0x0e, - 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x56, 0x4f, 0x4c, 0x55, - 0x4d, 0x45, 0x10, 0x0f, 0x12, 0x0d, 0x0a, 0x09, 0x56, 0x45, 0x52, 0x49, 0x46, 0x59, 0x49, 0x4e, - 0x47, 0x10, 0x10, 0x12, 0x0c, 0x0a, 0x08, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x11, 0x12, 0x0b, 0x0a, 0x07, 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x12, 0x12, 0x0a, - 0x0a, 0x06, 0x4c, 0x4f, 0x41, 0x44, 0x45, 0x44, 0x10, 0x13, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x57, - 0x41, 0x49, 0x54, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, - 0x43, 0x45, 0x10, 0x14, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x15, 0x12, - 0x11, 0x0a, 0x0d, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x44, 0x45, 0x4c, 0x41, 0x59, 0x45, 0x44, - 0x10, 0x16, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x17, 0x12, - 0x0e, 0x0a, 0x0a, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x18, 0x2a, - 0x4e, 0x0a, 0x16, 0x48, 0x77, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x4d, 0x6f, 0x64, - 0x75, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, - 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x4f, 0x54, 0x46, 0x4f, 0x55, - 0x4e, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, - 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x2a, - 0x88, 0x01, 0x0a, 0x13, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x63, 0x41, 0x74, 0x52, 0x65, 0x73, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x41, 0x54, 0x41, 0x53, - 0x45, 0x43, 0x5f, 0x41, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, - 0x57, 0x4e, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x41, 0x54, 0x41, 0x53, 0x45, 0x43, 0x5f, - 0x41, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, - 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x41, 0x54, 0x41, 0x53, 0x45, 0x43, 0x5f, 0x41, 0x54, - 0x5f, 0x52, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, - 0x19, 0x0a, 0x15, 0x44, 0x41, 0x54, 0x41, 0x53, 0x45, 0x43, 0x5f, 0x41, 0x54, 0x5f, 0x52, 0x45, - 0x53, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x2a, 0x3f, 0x0a, 0x09, 0x50, 0x43, - 0x52, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x43, 0x52, 0x5f, 0x55, - 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x43, 0x52, 0x5f, - 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x43, 0x52, - 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x2a, 0x4d, 0x0a, 0x07, 0x53, - 0x69, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x49, 0x4d, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x15, 0x0a, 0x11, 0x53, 0x49, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x48, 0x59, - 0x53, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x49, 0x4d, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x45, 0x53, 0x49, 0x4d, 0x10, 0x02, 0x2a, 0xa0, 0x02, 0x0a, 0x17, 0x5a, - 0x43, 0x65, 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x26, 0x5a, 0x5f, 0x43, 0x45, 0x4c, 0x4c, - 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x5a, 0x5f, 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, - 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x5f, 0x4f, 0x46, 0x46, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x28, 0x0a, 0x24, 0x5a, 0x5f, + 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x50, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x63, + 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x70, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x70, + 0x61, 0x63, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x5f, 0x61, 0x70, 0x70, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, + 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x4b, 0x75, 0x62, + 0x65, 0x45, 0x56, 0x45, 0x41, 0x70, 0x70, 0x50, 0x6f, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, + 0x65, 0x76, 0x65, 0x41, 0x70, 0x70, 0x73, 0x12, 0x3e, 0x0a, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, + 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x4b, + 0x75, 0x62, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x5f, 0x76, 0x6d, + 0x5f, 0x61, 0x70, 0x70, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x72, + 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, + 0x6f, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x56, 0x4d, 0x49, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x65, + 0x76, 0x65, 0x56, 0x6d, 0x41, 0x70, 0x70, 0x73, 0x22, 0xea, 0x02, 0x0a, 0x0d, 0x5a, 0x49, 0x6e, + 0x66, 0x6f, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x12, 0x3e, 0x0a, 0x05, 0x64, 0x69, + 0x73, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x72, 0x67, 0x2e, + 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, + 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x42, + 0x02, 0x18, 0x01, 0x52, 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x76, + 0x65, 0x5f, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x65, 0x76, 0x65, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x09, 0x69, + 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, + 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, + 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x49, 0x6e, 0x76, + 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x09, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, + 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x66, 0x6c, 0x61, 0x76, + 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, + 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, + 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, + 0x0c, 0x65, 0x76, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x76, 0x65, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, + 0x0a, 0x0e, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6d, 0x64, 0x6c, 0x69, 0x6e, 0x65, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x43, 0x6d, + 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x2a, 0x75, 0x0a, 0x11, 0x44, 0x65, 0x70, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x65, + 0x70, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x4f, 0x74, 0x68, 0x65, 0x72, + 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x65, 0x70, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, + 0x74, 0x65, 0x6d, 0x47, 0x61, 0x75, 0x67, 0x65, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x65, + 0x70, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x65, 0x70, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0x03, 0x2a, 0xb0, 0x02, 0x0a, + 0x0a, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x09, 0x0a, 0x05, 0x5a, + 0x69, 0x4e, 0x6f, 0x70, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x5a, 0x69, 0x44, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x5a, 0x69, 0x41, 0x70, 0x70, 0x10, 0x03, 0x12, + 0x15, 0x0a, 0x11, 0x5a, 0x69, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x10, 0x06, 0x12, 0x0c, 0x0a, 0x08, 0x5a, 0x69, 0x56, 0x6f, 0x6c, 0x75, + 0x6d, 0x65, 0x10, 0x07, 0x12, 0x11, 0x0a, 0x0d, 0x5a, 0x69, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x54, 0x72, 0x65, 0x65, 0x10, 0x08, 0x12, 0x0e, 0x0a, 0x0a, 0x5a, 0x69, 0x42, 0x6c, 0x6f, + 0x62, 0x4c, 0x69, 0x73, 0x74, 0x10, 0x09, 0x12, 0x15, 0x0a, 0x11, 0x5a, 0x69, 0x41, 0x70, 0x70, + 0x49, 0x6e, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x10, 0x0a, 0x12, 0x0e, + 0x0a, 0x0a, 0x5a, 0x69, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x10, 0x0b, 0x12, 0x0e, + 0x0a, 0x0a, 0x5a, 0x69, 0x45, 0x64, 0x67, 0x65, 0x76, 0x69, 0x65, 0x77, 0x10, 0x0c, 0x12, 0x0e, + 0x0a, 0x0a, 0x5a, 0x69, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x0d, 0x12, 0x13, + 0x0a, 0x0f, 0x5a, 0x69, 0x50, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, + 0x65, 0x10, 0x0e, 0x12, 0x10, 0x0a, 0x0c, 0x5a, 0x69, 0x4e, 0x54, 0x50, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x10, 0x10, 0x12, 0x11, 0x0a, 0x0d, 0x5a, 0x69, 0x4b, 0x75, 0x62, 0x65, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x10, 0x11, 0x12, 0x1d, 0x0a, 0x19, 0x5a, 0x69, 0x4b, 0x75, + 0x62, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0x12, 0x22, 0x04, 0x08, 0x02, 0x10, 0x02, 0x22, 0x04, 0x08, + 0x04, 0x10, 0x04, 0x22, 0x04, 0x08, 0x05, 0x10, 0x05, 0x22, 0x04, 0x08, 0x0f, 0x10, 0x0f, 0x2a, + 0x91, 0x03, 0x0a, 0x08, 0x5a, 0x53, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, + 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x49, + 0x54, 0x49, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, + 0x41, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, + 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, + 0x44, 0x45, 0x4c, 0x49, 0x56, 0x45, 0x52, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x49, + 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x4f, + 0x4f, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, + 0x4e, 0x47, 0x10, 0x07, 0x12, 0x0b, 0x0a, 0x07, 0x48, 0x41, 0x4c, 0x54, 0x49, 0x4e, 0x47, 0x10, + 0x08, 0x12, 0x0a, 0x0a, 0x06, 0x48, 0x41, 0x4c, 0x54, 0x45, 0x44, 0x10, 0x09, 0x12, 0x0e, 0x0a, + 0x0a, 0x52, 0x45, 0x53, 0x54, 0x41, 0x52, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x0a, 0x12, 0x0b, 0x0a, + 0x07, 0x50, 0x55, 0x52, 0x47, 0x49, 0x4e, 0x47, 0x10, 0x0b, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x45, + 0x53, 0x4f, 0x4c, 0x56, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x41, 0x47, 0x10, 0x0c, 0x12, 0x10, 0x0a, + 0x0c, 0x52, 0x45, 0x53, 0x4f, 0x4c, 0x56, 0x45, 0x44, 0x5f, 0x54, 0x41, 0x47, 0x10, 0x0d, 0x12, + 0x13, 0x0a, 0x0f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x56, 0x4f, 0x4c, 0x55, + 0x4d, 0x45, 0x10, 0x0e, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x5f, + 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x10, 0x0f, 0x12, 0x0d, 0x0a, 0x09, 0x56, 0x45, 0x52, 0x49, + 0x46, 0x59, 0x49, 0x4e, 0x47, 0x10, 0x10, 0x12, 0x0c, 0x0a, 0x08, 0x56, 0x45, 0x52, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x11, 0x12, 0x0b, 0x0a, 0x07, 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, 0x47, + 0x10, 0x12, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x4f, 0x41, 0x44, 0x45, 0x44, 0x10, 0x13, 0x12, 0x18, + 0x0a, 0x14, 0x41, 0x57, 0x41, 0x49, 0x54, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x49, 0x4e, + 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x14, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x10, 0x15, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x44, 0x45, 0x4c, + 0x41, 0x59, 0x45, 0x44, 0x10, 0x16, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, + 0x47, 0x10, 0x17, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x49, 0x4e, + 0x47, 0x10, 0x18, 0x2a, 0x4e, 0x0a, 0x16, 0x48, 0x77, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, + 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x4f, + 0x54, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, + 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, + 0x44, 0x10, 0x03, 0x2a, 0x88, 0x01, 0x0a, 0x13, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x63, 0x41, + 0x74, 0x52, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x17, 0x44, + 0x41, 0x54, 0x41, 0x53, 0x45, 0x43, 0x5f, 0x41, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x5f, 0x55, + 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x41, 0x54, 0x41, + 0x53, 0x45, 0x43, 0x5f, 0x41, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x5f, 0x44, 0x49, 0x53, 0x41, + 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x41, 0x54, 0x41, 0x53, 0x45, + 0x43, 0x5f, 0x41, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, + 0x44, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x41, 0x54, 0x41, 0x53, 0x45, 0x43, 0x5f, 0x41, + 0x54, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x2a, 0x3f, + 0x0a, 0x09, 0x50, 0x43, 0x52, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0f, 0x0a, 0x0b, 0x50, + 0x43, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, + 0x50, 0x43, 0x52, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x10, 0x0a, + 0x0c, 0x50, 0x43, 0x52, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x2a, + 0x4d, 0x0a, 0x07, 0x53, 0x69, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x49, + 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x49, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x50, 0x48, 0x59, 0x53, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x53, + 0x49, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x53, 0x49, 0x4d, 0x10, 0x02, 0x2a, 0xa0, + 0x02, 0x0a, 0x17, 0x5a, 0x43, 0x65, 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x26, 0x5a, 0x5f, 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, - 0x4e, 0x47, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x41, 0x44, 0x49, 0x4f, 0x5f, 0x4f, - 0x46, 0x46, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x5a, 0x5f, 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, + 0x4e, 0x47, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x5a, 0x5f, 0x43, 0x45, 0x4c, 0x4c, + 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x46, 0x46, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x28, + 0x0a, 0x24, 0x5a, 0x5f, 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x4f, 0x50, 0x45, + 0x52, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x41, 0x44, + 0x49, 0x4f, 0x5f, 0x4f, 0x46, 0x46, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x5a, 0x5f, 0x43, 0x45, + 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4e, 0x47, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x03, 0x12, + 0x33, 0x0a, 0x2f, 0x5a, 0x5f, 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x4f, 0x50, + 0x45, 0x52, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x4e, + 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, + 0x45, 0x44, 0x10, 0x04, 0x12, 0x2b, 0x0a, 0x27, 0x5a, 0x5f, 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x5f, 0x4f, 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x03, 0x12, 0x33, 0x0a, 0x2f, 0x5a, - 0x5f, 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, - 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x4e, 0x4c, 0x49, 0x4e, 0x45, - 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x04, - 0x12, 0x2b, 0x0a, 0x27, 0x5a, 0x5f, 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x4f, - 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, - 0x4e, 0x52, 0x45, 0x43, 0x4f, 0x47, 0x4e, 0x49, 0x5a, 0x45, 0x44, 0x10, 0x05, 0x2a, 0x92, 0x01, - 0x0a, 0x18, 0x5a, 0x43, 0x65, 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x2b, 0x0a, 0x27, 0x5a, 0x5f, - 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, - 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1f, 0x5a, 0x5f, 0x43, 0x45, 0x4c, - 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x50, 0x52, - 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x51, 0x4d, 0x49, 0x10, 0x01, 0x12, 0x24, 0x0a, 0x20, - 0x5a, 0x5f, 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, - 0x4f, 0x4c, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x4d, 0x42, 0x49, 0x4d, - 0x10, 0x02, 0x2a, 0xb1, 0x02, 0x0a, 0x0c, 0x5a, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x5a, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x5a, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, - 0x5a, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, - 0x42, 0x4f, 0x4f, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x5a, 0x44, 0x45, - 0x56, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4d, 0x41, 0x49, 0x4e, 0x54, - 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x03, 0x12, 0x21, 0x0a, - 0x1d, 0x5a, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x42, - 0x41, 0x53, 0x45, 0x4f, 0x53, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x04, - 0x12, 0x19, 0x0a, 0x15, 0x5a, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x45, 0x5f, 0x42, 0x4f, 0x4f, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x24, 0x0a, 0x20, 0x5a, - 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x52, 0x45, - 0x50, 0x41, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4f, 0x57, 0x45, 0x52, 0x4f, 0x46, 0x46, 0x10, - 0x06, 0x12, 0x1e, 0x0a, 0x1a, 0x5a, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x5f, 0x50, 0x4f, 0x57, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x4f, 0x46, 0x46, 0x10, - 0x07, 0x12, 0x23, 0x0a, 0x1f, 0x5a, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x50, 0x41, 0x52, 0x45, 0x44, 0x5f, 0x50, 0x4f, 0x57, 0x45, - 0x52, 0x4f, 0x46, 0x46, 0x10, 0x08, 0x2a, 0xf5, 0x01, 0x0a, 0x0d, 0x53, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x54, 0x4f, 0x52, - 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x54, 0x4f, 0x52, - 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4f, 0x4e, 0x4c, 0x49, 0x4e, - 0x45, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x45, 0x47, 0x52, 0x41, 0x44, 0x45, 0x44, 0x10, 0x02, - 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x1a, 0x0a, 0x16, + 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x52, 0x45, 0x43, 0x4f, 0x47, 0x4e, 0x49, 0x5a, 0x45, 0x44, 0x10, + 0x05, 0x2a, 0x92, 0x01, 0x0a, 0x18, 0x5a, 0x43, 0x65, 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x2b, + 0x0a, 0x27, 0x5a, 0x5f, 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x43, 0x4f, 0x4e, + 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1f, 0x5a, + 0x5f, 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, + 0x4c, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x51, 0x4d, 0x49, 0x10, 0x01, + 0x12, 0x24, 0x0a, 0x20, 0x5a, 0x5f, 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x43, + 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, + 0x4d, 0x42, 0x49, 0x4d, 0x10, 0x02, 0x2a, 0xb1, 0x02, 0x0a, 0x0c, 0x5a, 0x44, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x5a, 0x44, 0x45, 0x56, 0x49, + 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x5a, 0x44, 0x45, 0x56, 0x49, 0x43, + 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x01, + 0x12, 0x1b, 0x0a, 0x17, 0x5a, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x45, 0x5f, 0x52, 0x45, 0x42, 0x4f, 0x4f, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x22, 0x0a, + 0x1e, 0x5a, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4d, + 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, + 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x5a, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x45, 0x5f, 0x42, 0x41, 0x53, 0x45, 0x4f, 0x53, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, + 0x4e, 0x47, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15, 0x5a, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x42, 0x4f, 0x4f, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, + 0x24, 0x0a, 0x20, 0x5a, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x5f, 0x50, 0x52, 0x45, 0x50, 0x41, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4f, 0x57, 0x45, 0x52, + 0x4f, 0x46, 0x46, 0x10, 0x06, 0x12, 0x1e, 0x0a, 0x1a, 0x5a, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x4f, 0x57, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x5f, + 0x4f, 0x46, 0x46, 0x10, 0x07, 0x12, 0x23, 0x0a, 0x1f, 0x5a, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x50, 0x41, 0x52, 0x45, 0x44, 0x5f, + 0x50, 0x4f, 0x57, 0x45, 0x52, 0x4f, 0x46, 0x46, 0x10, 0x08, 0x2a, 0xf5, 0x01, 0x0a, 0x0d, 0x53, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x1a, + 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4f, - 0x46, 0x46, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x54, 0x4f, 0x52, - 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x41, 0x56, 0x41, - 0x49, 0x4c, 0x10, 0x05, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x44, 0x10, 0x06, - 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x53, 0x55, 0x53, 0x50, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x07, 0x2a, 0xe3, - 0x01, 0x0a, 0x0f, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x61, 0x69, 0x64, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x41, - 0x49, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, - 0x5f, 0x52, 0x41, 0x49, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x41, 0x49, 0x44, 0x30, - 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x41, - 0x49, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x41, 0x49, 0x44, 0x31, 0x10, 0x02, 0x12, - 0x1b, 0x0a, 0x17, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x41, 0x49, 0x44, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x41, 0x49, 0x44, 0x35, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, - 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x41, 0x49, 0x44, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x52, 0x41, 0x49, 0x44, 0x36, 0x10, 0x04, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x54, 0x4f, + 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x54, 0x4f, 0x52, 0x41, + 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x45, 0x47, 0x52, 0x41, 0x44, + 0x45, 0x44, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x45, 0x44, 0x10, 0x03, + 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x5f, 0x4f, 0x46, 0x46, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, + 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, + 0x4e, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x10, 0x05, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x54, 0x4f, 0x52, + 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, + 0x45, 0x44, 0x10, 0x06, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x55, 0x53, 0x50, 0x45, 0x4e, 0x44, 0x45, 0x44, + 0x10, 0x07, 0x2a, 0xe3, 0x01, 0x0a, 0x0f, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x61, + 0x69, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, + 0x45, 0x5f, 0x52, 0x41, 0x49, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x41, 0x49, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, - 0x41, 0x49, 0x44, 0x37, 0x10, 0x05, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, - 0x45, 0x5f, 0x52, 0x41, 0x49, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x52, 0x41, - 0x49, 0x44, 0x10, 0x06, 0x2a, 0x6b, 0x0a, 0x0f, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x54, 0x4f, 0x52, 0x41, - 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x54, + 0x41, 0x49, 0x44, 0x30, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, + 0x45, 0x5f, 0x52, 0x41, 0x49, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x41, 0x49, 0x44, + 0x31, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x52, + 0x41, 0x49, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x41, 0x49, 0x44, 0x35, 0x10, 0x03, + 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x41, 0x49, 0x44, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x41, 0x49, 0x44, 0x36, 0x10, 0x04, 0x12, 0x1b, 0x0a, + 0x17, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x41, 0x49, 0x44, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x52, 0x41, 0x49, 0x44, 0x37, 0x10, 0x05, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x54, + 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x41, 0x49, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x4e, 0x4f, 0x52, 0x41, 0x49, 0x44, 0x10, 0x06, 0x2a, 0x6b, 0x0a, 0x0f, 0x53, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x1d, 0x53, + 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x46, 0x4f, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, + 0x0a, 0x16, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, + 0x4e, 0x46, 0x4f, 0x5f, 0x45, 0x58, 0x54, 0x34, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x5f, - 0x45, 0x58, 0x54, 0x34, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, - 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x5a, 0x46, 0x53, 0x10, - 0x02, 0x2a, 0x87, 0x07, 0x0a, 0x0d, 0x41, 0x50, 0x49, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, - 0x69, 0x74, 0x79, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, - 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, - 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x54, 0x52, 0x59, 0x5f, 0x55, 0x50, 0x44, 0x41, - 0x54, 0x45, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, - 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x44, 0x4f, 0x57, 0x4e, 0x10, - 0x02, 0x12, 0x29, 0x0a, 0x25, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, - 0x49, 0x54, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x44, 0x45, 0x4c, 0x41, 0x59, 0x5f, - 0x49, 0x4e, 0x5f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, - 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x45, - 0x44, 0x47, 0x45, 0x56, 0x49, 0x45, 0x57, 0x10, 0x04, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x50, 0x49, - 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x56, 0x4f, 0x4c, 0x55, - 0x4d, 0x45, 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x53, 0x10, 0x05, 0x12, 0x2b, - 0x0a, 0x27, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, - 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, - 0x45, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x06, 0x12, 0x1c, 0x0a, 0x18, 0x41, - 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x42, 0x4f, - 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x07, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x50, 0x49, - 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4d, 0x54, 0x55, 0x10, - 0x08, 0x12, 0x26, 0x0a, 0x22, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, - 0x49, 0x54, 0x59, 0x5f, 0x41, 0x44, 0x41, 0x50, 0x54, 0x45, 0x52, 0x5f, 0x55, 0x53, 0x45, 0x52, - 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x53, 0x10, 0x09, 0x12, 0x2f, 0x0a, 0x2b, 0x41, 0x50, 0x49, - 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x45, 0x4e, 0x46, 0x4f, - 0x52, 0x43, 0x45, 0x44, 0x5f, 0x4e, 0x45, 0x54, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, - 0x43, 0x45, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x10, 0x0a, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x50, - 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4e, 0x54, 0x50, - 0x53, 0x5f, 0x46, 0x51, 0x44, 0x4e, 0x10, 0x0b, 0x12, 0x26, 0x0a, 0x22, 0x41, 0x50, 0x49, 0x5f, - 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x57, 0x49, 0x4e, 0x5f, 0x4c, - 0x49, 0x43, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x54, 0x48, 0x52, 0x4f, 0x55, 0x47, 0x48, 0x10, 0x0c, - 0x12, 0x2d, 0x0a, 0x29, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, - 0x54, 0x59, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, - 0x4f, 0x54, 0x53, 0x5f, 0x49, 0x4d, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x54, 0x45, 0x10, 0x0d, 0x12, - 0x2b, 0x0a, 0x27, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, - 0x59, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, 0x5f, 0x50, 0x41, 0x54, 0x43, - 0x48, 0x5f, 0x45, 0x4e, 0x56, 0x45, 0x4c, 0x4f, 0x50, 0x45, 0x10, 0x0e, 0x12, 0x2a, 0x0a, 0x26, - 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x53, - 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x49, 0x50, 0x5f, 0x4e, - 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x10, 0x0f, 0x12, 0x29, 0x0a, 0x25, 0x41, 0x50, 0x49, 0x5f, - 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x43, 0x45, 0x4c, 0x4c, 0x55, - 0x4c, 0x41, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x41, 0x43, 0x48, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, - 0x47, 0x10, 0x10, 0x12, 0x2a, 0x0a, 0x26, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, - 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x45, 0x44, 0x47, 0x45, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x41, - 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x11, 0x12, - 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, - 0x59, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x56, 0x54, 0x50, 0x4d, 0x10, 0x12, + 0x5a, 0x46, 0x53, 0x10, 0x02, 0x2a, 0xb0, 0x07, 0x0a, 0x0d, 0x41, 0x50, 0x49, 0x43, 0x61, 0x70, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x50, 0x49, 0x5f, 0x43, + 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x49, 0x5f, 0x43, + 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x54, 0x52, 0x59, 0x5f, + 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x50, 0x49, 0x5f, + 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x44, + 0x4f, 0x57, 0x4e, 0x10, 0x02, 0x12, 0x29, 0x0a, 0x25, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, + 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x44, 0x45, + 0x4c, 0x41, 0x59, 0x5f, 0x49, 0x4e, 0x5f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x03, + 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, + 0x54, 0x59, 0x5f, 0x45, 0x44, 0x47, 0x45, 0x56, 0x49, 0x45, 0x57, 0x10, 0x04, 0x12, 0x23, 0x0a, + 0x1f, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, + 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x53, + 0x10, 0x05, 0x12, 0x2b, 0x0a, 0x27, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, + 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x49, 0x4e, 0x53, + 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x06, 0x12, + 0x1c, 0x0a, 0x18, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, + 0x59, 0x5f, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x07, 0x12, 0x16, 0x0a, + 0x12, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, + 0x4d, 0x54, 0x55, 0x10, 0x08, 0x12, 0x26, 0x0a, 0x22, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, + 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x41, 0x44, 0x41, 0x50, 0x54, 0x45, 0x52, 0x5f, + 0x55, 0x53, 0x45, 0x52, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x53, 0x10, 0x09, 0x12, 0x2f, 0x0a, + 0x2b, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, + 0x45, 0x4e, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x44, 0x5f, 0x4e, 0x45, 0x54, 0x5f, 0x49, 0x4e, 0x54, + 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x10, 0x0a, 0x12, 0x1c, + 0x0a, 0x18, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, + 0x5f, 0x4e, 0x54, 0x50, 0x53, 0x5f, 0x46, 0x51, 0x44, 0x4e, 0x10, 0x0b, 0x12, 0x26, 0x0a, 0x22, + 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x57, + 0x49, 0x4e, 0x5f, 0x4c, 0x49, 0x43, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x54, 0x48, 0x52, 0x4f, 0x55, + 0x47, 0x48, 0x10, 0x0c, 0x12, 0x2d, 0x0a, 0x29, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, + 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x53, 0x4e, + 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x53, 0x5f, 0x49, 0x4d, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x54, + 0x45, 0x10, 0x0d, 0x12, 0x2b, 0x0a, 0x27, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, + 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, 0x5f, + 0x50, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x45, 0x4e, 0x56, 0x45, 0x4c, 0x4f, 0x50, 0x45, 0x10, 0x0e, 0x12, 0x2a, 0x0a, 0x26, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, - 0x54, 0x59, 0x5f, 0x4c, 0x4f, 0x43, 0x5f, 0x52, 0x45, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x43, 0x4f, - 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x13, 0x12, 0x1f, 0x0a, 0x1b, - 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x53, - 0x4d, 0x41, 0x52, 0x54, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x14, 0x12, 0x26, 0x0a, - 0x22, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, - 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x54, 0x50, 0x4d, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, - 0x4c, 0x4f, 0x47, 0x10, 0x15, 0x12, 0x34, 0x0a, 0x30, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, - 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x41, 0x50, 0x50, 0x5f, 0x49, 0x4e, 0x53, 0x54, - 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4e, 0x45, 0x54, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, - 0x43, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x16, 0x2a, 0xb9, 0x03, 0x0a, 0x0a, - 0x42, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x17, 0x42, 0x4f, - 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x42, 0x4f, 0x4f, 0x54, 0x5f, - 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x10, 0x01, 0x12, 0x1a, - 0x0a, 0x16, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x52, 0x45, - 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x43, 0x4d, 0x44, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x42, 0x4f, - 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, - 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, - 0x4e, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, - 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x44, 0x49, 0x53, 0x43, - 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x05, 0x12, 0x15, 0x0a, 0x11, 0x42, 0x4f, 0x4f, 0x54, - 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x54, 0x41, 0x4c, 0x10, 0x06, 0x12, - 0x13, 0x0a, 0x0f, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4f, - 0x4f, 0x4d, 0x10, 0x07, 0x12, 0x1d, 0x0a, 0x19, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, - 0x53, 0x4f, 0x4e, 0x5f, 0x57, 0x41, 0x54, 0x43, 0x48, 0x44, 0x4f, 0x47, 0x5f, 0x48, 0x55, 0x4e, - 0x47, 0x10, 0x08, 0x12, 0x1c, 0x0a, 0x18, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, - 0x4f, 0x4e, 0x5f, 0x57, 0x41, 0x54, 0x43, 0x48, 0x44, 0x4f, 0x47, 0x5f, 0x50, 0x49, 0x44, 0x10, - 0x09, 0x12, 0x16, 0x0a, 0x12, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, - 0x5f, 0x4b, 0x45, 0x52, 0x4e, 0x45, 0x4c, 0x10, 0x0a, 0x12, 0x1a, 0x0a, 0x16, 0x42, 0x4f, 0x4f, - 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x50, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x46, - 0x41, 0x49, 0x4c, 0x10, 0x0b, 0x12, 0x17, 0x0a, 0x13, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, - 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x0c, 0x12, 0x1c, - 0x0a, 0x18, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x56, 0x41, - 0x55, 0x4c, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x0d, 0x12, 0x1c, 0x0a, 0x18, - 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x50, 0x4f, 0x57, 0x45, - 0x52, 0x4f, 0x46, 0x46, 0x5f, 0x43, 0x4d, 0x44, 0x10, 0x0e, 0x12, 0x1b, 0x0a, 0x16, 0x42, 0x4f, - 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x52, 0x53, 0x45, 0x5f, - 0x46, 0x41, 0x49, 0x4c, 0x10, 0xff, 0x01, 0x2a, 0xd6, 0x02, 0x0a, 0x15, 0x4d, 0x61, 0x69, 0x6e, - 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x12, 0x20, 0x0a, 0x1c, 0x4d, 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, - 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x4e, - 0x45, 0x10, 0x00, 0x12, 0x2a, 0x0a, 0x26, 0x4d, 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, - 0x43, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, - 0x53, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, - 0x2b, 0x0a, 0x27, 0x4d, 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4d, - 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x56, 0x41, 0x55, 0x4c, 0x54, - 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x5f, 0x55, 0x50, 0x10, 0x02, 0x12, 0x2a, 0x0a, 0x26, + 0x54, 0x59, 0x5f, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x43, 0x4b, 0x5f, + 0x49, 0x50, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x10, 0x0f, 0x12, 0x29, 0x0a, 0x25, + 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x43, + 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x41, 0x43, 0x48, 0x5f, 0x43, + 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x10, 0x12, 0x2a, 0x0a, 0x26, 0x41, 0x50, 0x49, 0x5f, 0x43, + 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x45, 0x44, 0x47, 0x45, 0x56, 0x49, + 0x45, 0x57, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x10, 0x11, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, + 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x56, 0x54, + 0x50, 0x4d, 0x10, 0x12, 0x12, 0x2a, 0x0a, 0x26, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, + 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4c, 0x4f, 0x43, 0x5f, 0x52, 0x45, 0x42, 0x4f, 0x4f, + 0x54, 0x5f, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x13, + 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, + 0x54, 0x59, 0x5f, 0x53, 0x4d, 0x41, 0x52, 0x54, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x10, + 0x14, 0x12, 0x26, 0x0a, 0x22, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, + 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x54, 0x50, 0x4d, 0x5f, 0x45, + 0x56, 0x45, 0x4e, 0x54, 0x4c, 0x4f, 0x47, 0x10, 0x15, 0x12, 0x34, 0x0a, 0x30, 0x41, 0x50, 0x49, + 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x41, 0x50, 0x50, 0x5f, + 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4e, 0x45, 0x54, 0x5f, 0x49, 0x4e, 0x54, + 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x16, 0x12, + 0x27, 0x0a, 0x23, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, + 0x59, 0x5f, 0x43, 0x50, 0x55, 0x5f, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, + 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x10, 0x17, 0x2a, 0xb9, 0x03, 0x0a, 0x0a, 0x42, 0x6f, 0x6f, + 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x17, 0x42, 0x4f, 0x4f, 0x54, 0x5f, + 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, + 0x53, 0x4f, 0x4e, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x42, + 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x42, 0x4f, 0x4f, + 0x54, 0x5f, 0x43, 0x4d, 0x44, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x42, 0x4f, 0x4f, 0x54, 0x5f, + 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, + 0x18, 0x0a, 0x14, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x46, + 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x42, 0x4f, 0x4f, + 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, + 0x45, 0x43, 0x54, 0x10, 0x05, 0x12, 0x15, 0x0a, 0x11, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, + 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x54, 0x41, 0x4c, 0x10, 0x06, 0x12, 0x13, 0x0a, 0x0f, + 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4f, 0x4f, 0x4d, 0x10, + 0x07, 0x12, 0x1d, 0x0a, 0x19, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, + 0x5f, 0x57, 0x41, 0x54, 0x43, 0x48, 0x44, 0x4f, 0x47, 0x5f, 0x48, 0x55, 0x4e, 0x47, 0x10, 0x08, + 0x12, 0x1c, 0x0a, 0x18, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, + 0x57, 0x41, 0x54, 0x43, 0x48, 0x44, 0x4f, 0x47, 0x5f, 0x50, 0x49, 0x44, 0x10, 0x09, 0x12, 0x16, + 0x0a, 0x12, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4b, 0x45, + 0x52, 0x4e, 0x45, 0x4c, 0x10, 0x0a, 0x12, 0x1a, 0x0a, 0x16, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, + 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x50, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, + 0x10, 0x0b, 0x12, 0x17, 0x0a, 0x13, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, + 0x4e, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x0c, 0x12, 0x1c, 0x0a, 0x18, 0x42, + 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x56, 0x41, 0x55, 0x4c, 0x54, + 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x0d, 0x12, 0x1c, 0x0a, 0x18, 0x42, 0x4f, 0x4f, + 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x50, 0x4f, 0x57, 0x45, 0x52, 0x4f, 0x46, + 0x46, 0x5f, 0x43, 0x4d, 0x44, 0x10, 0x0e, 0x12, 0x1b, 0x0a, 0x16, 0x42, 0x4f, 0x4f, 0x54, 0x5f, + 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x52, 0x53, 0x45, 0x5f, 0x46, 0x41, 0x49, + 0x4c, 0x10, 0xff, 0x01, 0x2a, 0xd6, 0x02, 0x0a, 0x15, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, + 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x20, + 0x0a, 0x1c, 0x4d, 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x4f, + 0x44, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, + 0x12, 0x2a, 0x0a, 0x26, 0x4d, 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, + 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, + 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x2b, 0x0a, 0x27, 0x4d, 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, - 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x44, 0x49, 0x53, 0x4b, - 0x5f, 0x53, 0x50, 0x41, 0x43, 0x45, 0x10, 0x03, 0x12, 0x32, 0x0a, 0x2e, 0x4d, 0x41, 0x49, 0x4e, + 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x56, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x4c, 0x4f, + 0x43, 0x4b, 0x45, 0x44, 0x5f, 0x55, 0x50, 0x10, 0x02, 0x12, 0x2a, 0x0a, 0x26, 0x4d, 0x41, 0x49, + 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, + 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x44, 0x49, 0x53, 0x4b, 0x5f, 0x53, 0x50, + 0x41, 0x43, 0x45, 0x10, 0x03, 0x12, 0x32, 0x0a, 0x2e, 0x4d, 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, + 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, + 0x5f, 0x54, 0x50, 0x4d, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x04, 0x12, 0x2d, 0x0a, 0x29, 0x4d, 0x41, 0x49, + 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, + 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x50, 0x4d, 0x5f, 0x51, 0x55, 0x4f, 0x54, 0x45, 0x5f, 0x46, + 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x05, 0x12, 0x33, 0x0a, 0x2f, 0x4d, 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x41, - 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x50, 0x4d, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x04, 0x12, 0x2d, 0x0a, 0x29, - 0x4d, 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, - 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x50, 0x4d, 0x5f, 0x51, 0x55, 0x4f, 0x54, - 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x05, 0x12, 0x33, 0x0a, 0x2f, 0x4d, - 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, - 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x45, 0x44, 0x47, 0x45, 0x5f, 0x4e, 0x4f, 0x44, 0x45, - 0x5f, 0x43, 0x45, 0x52, 0x54, 0x53, 0x5f, 0x52, 0x45, 0x46, 0x55, 0x53, 0x45, 0x44, 0x10, 0x06, - 0x2a, 0xb5, 0x02, 0x0a, 0x10, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x54, 0x54, 0x45, - 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, - 0x4e, 0x43, 0x45, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x10, 0x01, 0x12, 0x24, 0x0a, 0x20, 0x41, 0x54, - 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, - 0x54, 0x50, 0x4d, 0x5f, 0x51, 0x55, 0x4f, 0x54, 0x45, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x10, 0x02, - 0x12, 0x25, 0x0a, 0x21, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x50, 0x4d, 0x5f, 0x45, 0x53, 0x43, 0x52, 0x4f, 0x57, - 0x5f, 0x57, 0x41, 0x49, 0x54, 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x41, 0x54, 0x54, 0x45, 0x53, + 0x53, 0x4f, 0x4e, 0x5f, 0x45, 0x44, 0x47, 0x45, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x45, + 0x52, 0x54, 0x53, 0x5f, 0x52, 0x45, 0x46, 0x55, 0x53, 0x45, 0x44, 0x10, 0x06, 0x2a, 0xb5, 0x02, + 0x0a, 0x10, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x43, 0x45, + 0x5f, 0x57, 0x41, 0x49, 0x54, 0x10, 0x01, 0x12, 0x24, 0x0a, 0x20, 0x41, 0x54, 0x54, 0x45, 0x53, + 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x50, 0x4d, + 0x5f, 0x51, 0x55, 0x4f, 0x54, 0x45, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x10, 0x02, 0x12, 0x25, 0x0a, + 0x21, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x45, 0x5f, 0x54, 0x50, 0x4d, 0x5f, 0x45, 0x53, 0x43, 0x52, 0x4f, 0x57, 0x5f, 0x57, 0x41, + 0x49, 0x54, 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, + 0x5f, 0x57, 0x41, 0x49, 0x54, 0x10, 0x04, 0x12, 0x28, 0x0a, 0x24, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x54, 0x54, - 0x45, 0x53, 0x54, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x10, 0x04, 0x12, 0x28, 0x0a, 0x24, 0x41, 0x54, - 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, - 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x53, 0x43, 0x52, 0x4f, 0x57, 0x5f, 0x57, 0x41, - 0x49, 0x54, 0x10, 0x05, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x41, 0x52, - 0x54, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x10, 0x06, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x54, 0x54, 0x45, - 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, - 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x07, 0x2a, 0x8b, 0x01, 0x0a, 0x13, 0x41, 0x70, 0x70, - 0x49, 0x6e, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x50, 0x50, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x5f, 0x4d, 0x45, 0x54, - 0x41, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, - 0x10, 0x00, 0x12, 0x27, 0x0a, 0x23, 0x41, 0x50, 0x50, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x5f, 0x4d, - 0x45, 0x54, 0x41, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4b, 0x55, - 0x42, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x01, 0x12, 0x29, 0x0a, 0x25, 0x41, - 0x50, 0x50, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x44, 0x41, 0x54, - 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x55, 0x53, 0x10, 0x02, 0x2a, 0x61, 0x0a, 0x0c, 0x57, 0x69, 0x72, 0x65, 0x6c, 0x65, - 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x57, 0x49, 0x52, 0x45, 0x4c, 0x45, - 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x57, 0x49, 0x52, 0x45, 0x4c, 0x45, 0x53, - 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x57, 0x49, 0x46, 0x49, 0x10, 0x01, 0x12, 0x1a, 0x0a, - 0x16, 0x57, 0x49, 0x52, 0x45, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, - 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x10, 0x02, 0x2a, 0x71, 0x0a, 0x0c, 0x42, 0x61, 0x73, - 0x65, 0x4f, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, - 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x49, - 0x4e, 0x47, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, - 0x5f, 0x44, 0x4f, 0x4e, 0x45, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x50, 0x44, 0x41, 0x54, - 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x44, - 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x05, - 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x06, 0x2a, 0xcb, 0x01, 0x0a, - 0x0f, 0x42, 0x61, 0x73, 0x65, 0x4f, 0x73, 0x53, 0x75, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x12, 0x0a, 0x0e, 0x4e, 0x4f, 0x4e, 0x45, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, - 0x5f, 0x49, 0x4e, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x15, 0x0a, - 0x11, 0x56, 0x45, 0x52, 0x49, 0x46, 0x59, 0x5f, 0x49, 0x4e, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, - 0x53, 0x53, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x49, - 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x14, 0x0a, - 0x10, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x42, 0x4f, 0x4f, 0x54, 0x49, 0x4e, - 0x47, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x45, - 0x53, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x50, 0x44, 0x41, 0x54, - 0x45, 0x5f, 0x4e, 0x45, 0x45, 0x44, 0x5f, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x46, - 0x49, 0x52, 0x4d, 0x10, 0x06, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, - 0x44, 0x45, 0x46, 0x45, 0x52, 0x52, 0x45, 0x44, 0x10, 0x07, 0x2a, 0x68, 0x0a, 0x0c, 0x53, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x4e, - 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x4e, 0x41, - 0x50, 0x53, 0x48, 0x4f, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x50, 0x50, 0x5f, 0x55, - 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x4e, 0x41, 0x50, 0x53, - 0x48, 0x4f, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4d, 0x4d, 0x45, 0x44, 0x49, 0x41, - 0x54, 0x45, 0x10, 0x02, 0x2a, 0xb8, 0x01, 0x0a, 0x16, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x2a, 0x0a, 0x26, 0x5a, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, - 0x52, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x5a, - 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x4e, 0x4f, - 0x44, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, - 0x01, 0x12, 0x27, 0x0a, 0x23, 0x5a, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x43, 0x4c, 0x55, 0x53, - 0x54, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, - 0x4e, 0x4f, 0x54, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x02, 0x12, 0x23, 0x0a, 0x1f, 0x5a, 0x5f, - 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x44, - 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x03, 0x2a, - 0x8f, 0x01, 0x0a, 0x0d, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x56, 0x50, 0x4e, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, - 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x56, 0x50, 0x4e, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, - 0x4c, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x56, 0x50, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, - 0x43, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x56, 0x50, 0x4e, 0x5f, 0x45, - 0x53, 0x54, 0x41, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, - 0x56, 0x50, 0x4e, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x12, - 0x0f, 0x0a, 0x0b, 0x56, 0x50, 0x4e, 0x5f, 0x52, 0x45, 0x4b, 0x45, 0x59, 0x45, 0x44, 0x10, 0x05, - 0x12, 0x0f, 0x0a, 0x0b, 0x56, 0x50, 0x4e, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, - 0x0a, 0x2a, 0x85, 0x01, 0x0a, 0x15, 0x5a, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x5a, - 0x4e, 0x45, 0x54, 0x49, 0x4e, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x5a, - 0x4e, 0x45, 0x54, 0x49, 0x4e, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, - 0x49, 0x54, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x5a, 0x4e, 0x45, 0x54, 0x49, 0x4e, 0x53, 0x54, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x02, 0x12, - 0x18, 0x0a, 0x14, 0x5a, 0x4e, 0x45, 0x54, 0x49, 0x4e, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x2a, 0x9e, 0x01, 0x0a, 0x0e, 0x4c, 0x6f, - 0x63, 0x52, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x1b, - 0x4c, 0x4f, 0x43, 0x5f, 0x52, 0x45, 0x4c, 0x49, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, - 0x18, 0x4c, 0x4f, 0x43, 0x5f, 0x52, 0x45, 0x4c, 0x49, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, - 0x5f, 0x56, 0x45, 0x52, 0x59, 0x5f, 0x4c, 0x4f, 0x57, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x4c, - 0x4f, 0x43, 0x5f, 0x52, 0x45, 0x4c, 0x49, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4c, - 0x4f, 0x57, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x4c, 0x4f, 0x43, 0x5f, 0x52, 0x45, 0x4c, 0x49, - 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x10, 0x03, - 0x12, 0x18, 0x0a, 0x14, 0x4c, 0x4f, 0x43, 0x5f, 0x52, 0x45, 0x4c, 0x49, 0x41, 0x42, 0x49, 0x4c, - 0x49, 0x54, 0x59, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x04, 0x42, 0x39, 0x0a, 0x13, 0x6f, 0x72, - 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, - 0x6f, 0x5a, 0x22, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x66, - 0x2d, 0x65, 0x64, 0x67, 0x65, 0x2f, 0x65, 0x76, 0x65, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, - 0x2f, 0x69, 0x6e, 0x66, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x45, 0x53, 0x54, 0x5f, 0x45, 0x53, 0x43, 0x52, 0x4f, 0x57, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x10, + 0x05, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x57, + 0x41, 0x49, 0x54, 0x10, 0x06, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, + 0x45, 0x54, 0x45, 0x10, 0x07, 0x2a, 0x8b, 0x01, 0x0a, 0x13, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x73, + 0x74, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, + 0x1c, 0x41, 0x50, 0x50, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x44, + 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, + 0x27, 0x0a, 0x23, 0x41, 0x50, 0x50, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x41, + 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4b, 0x55, 0x42, 0x45, 0x5f, + 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x01, 0x12, 0x29, 0x0a, 0x25, 0x41, 0x50, 0x50, 0x5f, + 0x49, 0x4e, 0x53, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, + 0x53, 0x10, 0x02, 0x2a, 0x61, 0x0a, 0x0c, 0x57, 0x69, 0x72, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x57, 0x49, 0x52, 0x45, 0x4c, 0x45, 0x53, 0x53, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x57, 0x49, 0x52, 0x45, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x57, 0x49, 0x46, 0x49, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x57, 0x49, + 0x52, 0x45, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x45, 0x4c, 0x4c, + 0x55, 0x4c, 0x41, 0x52, 0x10, 0x02, 0x2a, 0x71, 0x0a, 0x0c, 0x42, 0x61, 0x73, 0x65, 0x4f, 0x73, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, + 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, + 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x44, 0x4f, + 0x4e, 0x45, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, + 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x44, 0x10, 0x04, 0x12, + 0x0c, 0x0a, 0x08, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x05, 0x12, 0x0a, 0x0a, + 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x06, 0x2a, 0xcb, 0x01, 0x0a, 0x0f, 0x42, 0x61, + 0x73, 0x65, 0x4f, 0x73, 0x53, 0x75, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, + 0x0e, 0x4e, 0x4f, 0x4e, 0x45, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, + 0x00, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x49, 0x4e, + 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x45, + 0x52, 0x49, 0x46, 0x59, 0x5f, 0x49, 0x4e, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, + 0x02, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, + 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x50, + 0x44, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x42, 0x4f, 0x4f, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x04, + 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x45, 0x53, 0x54, 0x49, + 0x4e, 0x47, 0x10, 0x05, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x4e, + 0x45, 0x45, 0x44, 0x5f, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, + 0x10, 0x06, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x45, 0x46, + 0x45, 0x52, 0x52, 0x45, 0x44, 0x10, 0x07, 0x2a, 0x68, 0x0a, 0x0c, 0x53, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x4e, 0x41, 0x50, 0x53, + 0x48, 0x4f, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, + 0x4f, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x50, 0x50, 0x5f, 0x55, 0x50, 0x44, 0x41, + 0x54, 0x45, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4d, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x54, 0x45, 0x10, + 0x02, 0x2a, 0xb8, 0x01, 0x0a, 0x16, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2a, 0x0a, 0x26, + 0x5a, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x4e, + 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x5a, 0x5f, 0x49, 0x4e, + 0x46, 0x4f, 0x5f, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x01, 0x12, 0x27, + 0x0a, 0x23, 0x5a, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, + 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4e, 0x4f, 0x54, + 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x02, 0x12, 0x23, 0x0a, 0x1f, 0x5a, 0x5f, 0x49, 0x4e, 0x46, + 0x4f, 0x5f, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x03, 0x2a, 0x8f, 0x01, 0x0a, + 0x0d, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0f, + 0x0a, 0x0b, 0x56, 0x50, 0x4e, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, + 0x0f, 0x0a, 0x0b, 0x56, 0x50, 0x4e, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x10, 0x01, + 0x12, 0x12, 0x0a, 0x0e, 0x56, 0x50, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, + 0x4e, 0x47, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x56, 0x50, 0x4e, 0x5f, 0x45, 0x53, 0x54, 0x41, + 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x56, 0x50, 0x4e, + 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, + 0x56, 0x50, 0x4e, 0x5f, 0x52, 0x45, 0x4b, 0x45, 0x59, 0x45, 0x44, 0x10, 0x05, 0x12, 0x0f, 0x0a, + 0x0b, 0x56, 0x50, 0x4e, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x0a, 0x2a, 0x85, + 0x01, 0x0a, 0x15, 0x5a, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x5a, 0x4e, 0x45, 0x54, + 0x49, 0x4e, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x5a, 0x4e, 0x45, 0x54, + 0x49, 0x4e, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x10, + 0x01, 0x12, 0x19, 0x0a, 0x15, 0x5a, 0x4e, 0x45, 0x54, 0x49, 0x4e, 0x53, 0x54, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, + 0x5a, 0x4e, 0x45, 0x54, 0x49, 0x4e, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, + 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x2a, 0x9e, 0x01, 0x0a, 0x0e, 0x4c, 0x6f, 0x63, 0x52, 0x65, + 0x6c, 0x69, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x1b, 0x4c, 0x4f, 0x43, + 0x5f, 0x52, 0x45, 0x4c, 0x49, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x4f, + 0x43, 0x5f, 0x52, 0x45, 0x4c, 0x49, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x56, 0x45, + 0x52, 0x59, 0x5f, 0x4c, 0x4f, 0x57, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x4f, 0x43, 0x5f, + 0x52, 0x45, 0x4c, 0x49, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4c, 0x4f, 0x57, 0x10, + 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x4c, 0x4f, 0x43, 0x5f, 0x52, 0x45, 0x4c, 0x49, 0x41, 0x42, 0x49, + 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x10, 0x03, 0x12, 0x18, 0x0a, + 0x14, 0x4c, 0x4f, 0x43, 0x5f, 0x52, 0x45, 0x4c, 0x49, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, + 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x04, 0x42, 0x39, 0x0a, 0x13, 0x6f, 0x72, 0x67, 0x2e, 0x6c, + 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x5a, 0x22, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x66, 0x2d, 0x65, 0x64, + 0x67, 0x65, 0x2f, 0x65, 0x76, 0x65, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x69, 0x6e, + 0x66, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/python/config/vm_pb2.py b/python/config/vm_pb2.py index 4b05e2f0..c5e8acef 100644 --- a/python/config/vm_pb2.py +++ b/python/config/vm_pb2.py @@ -14,7 +14,7 @@ from evecommon import evecommon_pb2 as evecommon_dot_evecommon__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0f\x63onfig/vm.proto\x12\x15org.lfedge.eve.config\x1a\x19\x65vecommon/evecommon.proto\"\x8c\x05\n\x08VmConfig\x12\x0e\n\x06kernel\x18\x01 \x01(\t\x12\x0f\n\x07ramdisk\x18\x02 \x01(\t\x12\x0e\n\x06memory\x18\x03 \x01(\r\x12\x0e\n\x06maxmem\x18\x04 \x01(\r\x12\r\n\x05vcpus\x18\x05 \x01(\r\x12\x0f\n\x07maxcpus\x18\x06 \x01(\r\x12\x0f\n\x07rootdev\x18\x07 \x01(\t\x12\x11\n\textraargs\x18\x08 \x01(\t\x12\x12\n\nbootloader\x18\t \x01(\t\x12\x0c\n\x04\x63pus\x18\n \x01(\t\x12\x12\n\ndevicetree\x18\x0b \x01(\t\x12\r\n\x05\x64tdev\x18\x0c \x03(\t\x12\x0c\n\x04irqs\x18\r \x03(\r\x12\r\n\x05iomem\x18\x0e \x03(\t\x12\x39\n\x12virtualizationMode\x18\x0f \x01(\x0e\x32\x1d.org.lfedge.eve.config.VmMode\x12\x12\n\nenable_vnc\x18\x10 \x01(\x08\x12\x12\n\nvncDisplay\x18\x11 \x01(\r\x12\x11\n\tvncPasswd\x18\x12 \x01(\t\x12\x13\n\x0b\x64isableLogs\x18\x13 \x01(\x08\x12\x0f\n\x07pin_cpu\x18\x14 \x01(\x08\x12\x12\n\nvmm_maxmem\x18\x15 \x01(\r\x12\x1a\n\x12\x65nable_vnc_shim_vm\x18\x16 \x01(\x08\x12\x34\n\tboot_mode\x18\x17 \x01(\x0e\x32!.org.lfedge.eve.config.VmBootMode\x12\'\n\x1f\x65nforce_network_interface_order\x18\x18 \x01(\x08\x12\"\n\x1a\x65nable_oem_win_license_key\x18\x19 \x01(\x08\x12\x14\n\x0c\x64isable_vtpm\x18\x1a \x01(\x08\x12\x34\n\nboot_order\x18\x1b \x01(\x0e\x32 .org.lfedge.eve.common.BootOrder*G\n\x06VmMode\x12\x06\n\x02PV\x10\x00\x12\x07\n\x03HVM\x10\x01\x12\n\n\x06\x46iller\x10\x02\x12\x07\n\x03\x46ML\x10\x03\x12\x0b\n\x07NOHYPER\x10\x04\x12\n\n\x06LEGACY\x10\x05*Z\n\nVmBootMode\x12\x1c\n\x18VM_BOOT_MODE_UNSPECIFIED\x10\x00\x12\x17\n\x13VM_BOOT_MODE_LEGACY\x10\x01\x12\x15\n\x11VM_BOOT_MODE_UEFI\x10\x02\x42=\n\x15org.lfedge.eve.configZ$github.com/lf-edge/eve-api/go/configb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0f\x63onfig/vm.proto\x12\x15org.lfedge.eve.config\x1a\x19\x65vecommon/evecommon.proto\"\xe9\x07\n\x08VmConfig\x12\x0e\n\x06kernel\x18\x01 \x01(\t\x12\x0f\n\x07ramdisk\x18\x02 \x01(\t\x12\x0e\n\x06memory\x18\x03 \x01(\r\x12\x0e\n\x06maxmem\x18\x04 \x01(\r\x12\r\n\x05vcpus\x18\x05 \x01(\r\x12\x0f\n\x07maxcpus\x18\x06 \x01(\r\x12\x0f\n\x07rootdev\x18\x07 \x01(\t\x12\x11\n\textraargs\x18\x08 \x01(\t\x12\x12\n\nbootloader\x18\t \x01(\t\x12\x0c\n\x04\x63pus\x18\n \x01(\t\x12\x12\n\ndevicetree\x18\x0b \x01(\t\x12\r\n\x05\x64tdev\x18\x0c \x03(\t\x12\x0c\n\x04irqs\x18\r \x03(\r\x12\r\n\x05iomem\x18\x0e \x03(\t\x12\x39\n\x12virtualizationMode\x18\x0f \x01(\x0e\x32\x1d.org.lfedge.eve.config.VmMode\x12\x12\n\nenable_vnc\x18\x10 \x01(\x08\x12\x12\n\nvncDisplay\x18\x11 \x01(\r\x12\x11\n\tvncPasswd\x18\x12 \x01(\t\x12\x13\n\x0b\x64isableLogs\x18\x13 \x01(\x08\x12\x0f\n\x07pin_cpu\x18\x14 \x01(\x08\x12\x12\n\nvmm_maxmem\x18\x15 \x01(\r\x12\x1a\n\x12\x65nable_vnc_shim_vm\x18\x16 \x01(\x08\x12\x34\n\tboot_mode\x18\x17 \x01(\x0e\x32!.org.lfedge.eve.config.VmBootMode\x12\'\n\x1f\x65nforce_network_interface_order\x18\x18 \x01(\x08\x12\"\n\x1a\x65nable_oem_win_license_key\x18\x19 \x01(\x08\x12\x14\n\x0c\x64isable_vtpm\x18\x1a \x01(\x08\x12\x34\n\nboot_order\x18\x1b \x01(\x0e\x32 .org.lfedge.eve.common.BootOrder\x12\x34\n\ncpu_policy\x18\x1c \x01(\x0e\x32 .org.lfedge.eve.config.CpuPolicy\x12\x17\n\x0f\x66ull_pcpus_only\x18\x1d \x01(\x08\x12\x18\n\x10threads_per_core\x18\x1e \x01(\r\x12\x36\n\x0bnuma_policy\x18\x1f \x01(\x0e\x32!.org.lfedge.eve.config.NumaPolicy\x12\x38\n\x0cio_placement\x18 \x01(\x0e\x32\".org.lfedge.eve.config.IoPlacement\x12<\n\x0eisolation_tier\x18! \x01(\x0e\x32$.org.lfedge.eve.config.IsolationTier\x12\x42\n\x11\x64isruption_policy\x18\" \x01(\x0e\x32\'.org.lfedge.eve.config.DisruptionPolicy*G\n\x06VmMode\x12\x06\n\x02PV\x10\x00\x12\x07\n\x03HVM\x10\x01\x12\n\n\x06\x46iller\x10\x02\x12\x07\n\x03\x46ML\x10\x03\x12\x0b\n\x07NOHYPER\x10\x04\x12\n\n\x06LEGACY\x10\x05*X\n\tCpuPolicy\x12\x1a\n\x16\x43PU_POLICY_UNSPECIFIED\x10\x00\x12\x15\n\x11\x43PU_POLICY_SHARED\x10\x01\x12\x18\n\x14\x43PU_POLICY_DEDICATED\x10\x02*\x9a\x01\n\nNumaPolicy\x12\x1b\n\x17NUMA_POLICY_UNSPECIFIED\x10\x00\x12\x14\n\x10NUMA_POLICY_NONE\x10\x01\x12\x1b\n\x17NUMA_POLICY_BEST_EFFORT\x10\x02\x12\x1a\n\x16NUMA_POLICY_RESTRICTED\x10\x03\x12 \n\x1cNUMA_POLICY_SINGLE_NUMA_NODE\x10\x04*f\n\x0bIoPlacement\x12\x1c\n\x18IO_PLACEMENT_UNSPECIFIED\x10\x00\x12\x1a\n\x16IO_PLACEMENT_DEDICATED\x10\x01\x12\x1d\n\x19IO_PLACEMENT_HOUSEKEEPING\x10\x02*z\n\rIsolationTier\x12\x1e\n\x1aISOLATION_TIER_UNSPECIFIED\x10\x00\x12\x17\n\x13ISOLATION_TIER_NONE\x10\x01\x12\x17\n\x13ISOLATION_TIER_SOFT\x10\x02\x12\x17\n\x13ISOLATION_TIER_HARD\x10\x03*q\n\x10\x44isruptionPolicy\x12!\n\x1d\x44ISRUPTION_POLICY_UNSPECIFIED\x10\x00\x12\x1b\n\x17\x44ISRUPTION_POLICY_ALLOW\x10\x01\x12\x1d\n\x19\x44ISRUPTION_POLICY_PROTECT\x10\x02*Z\n\nVmBootMode\x12\x1c\n\x18VM_BOOT_MODE_UNSPECIFIED\x10\x00\x12\x17\n\x13VM_BOOT_MODE_LEGACY\x10\x01\x12\x15\n\x11VM_BOOT_MODE_UEFI\x10\x02\x42=\n\x15org.lfedge.eve.configZ$github.com/lf-edge/eve-api/go/configb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -23,10 +23,20 @@ DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b'\n\025org.lfedge.eve.configZ$github.com/lf-edge/eve-api/go/config' - _globals['_VMMODE']._serialized_start=724 - _globals['_VMMODE']._serialized_end=795 - _globals['_VMBOOTMODE']._serialized_start=797 - _globals['_VMBOOTMODE']._serialized_end=887 + _globals['_VMMODE']._serialized_start=1073 + _globals['_VMMODE']._serialized_end=1144 + _globals['_CPUPOLICY']._serialized_start=1146 + _globals['_CPUPOLICY']._serialized_end=1234 + _globals['_NUMAPOLICY']._serialized_start=1237 + _globals['_NUMAPOLICY']._serialized_end=1391 + _globals['_IOPLACEMENT']._serialized_start=1393 + _globals['_IOPLACEMENT']._serialized_end=1495 + _globals['_ISOLATIONTIER']._serialized_start=1497 + _globals['_ISOLATIONTIER']._serialized_end=1619 + _globals['_DISRUPTIONPOLICY']._serialized_start=1621 + _globals['_DISRUPTIONPOLICY']._serialized_end=1734 + _globals['_VMBOOTMODE']._serialized_start=1736 + _globals['_VMBOOTMODE']._serialized_end=1826 _globals['_VMCONFIG']._serialized_start=70 - _globals['_VMCONFIG']._serialized_end=722 + _globals['_VMCONFIG']._serialized_end=1071 # @@protoc_insertion_point(module_scope) diff --git a/python/info/common_pb2.py b/python/info/common_pb2.py index b4a49a3a..3078abd2 100644 --- a/python/info/common_pb2.py +++ b/python/info/common_pb2.py @@ -14,7 +14,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11info/common.proto\x12\x13org.lfedge.eve.info\x1a\x1fgoogle/protobuf/timestamp.proto\"\xce\x01\n\tErrorInfo\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\x12-\n\ttimestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x08severity\x18\x03 \x01(\x0e\x32\x1d.org.lfedge.eve.info.Severity\x12\x33\n\x08\x65ntities\x18\x04 \x03(\x0b\x32!.org.lfedge.eve.info.DeviceEntity\x12\x17\n\x0fretry_condition\x18\x05 \x01(\t\"c\n\x0c\x44\x65viceEntity\x12+\n\x06\x65ntity\x18\x01 \x01(\x0e\x32\x1b.org.lfedge.eve.info.Entity\x12\x11\n\tentity_id\x18\x02 \x01(\t\x12\x13\n\x0b\x65ntity_name\x18\x03 \x01(\t*c\n\x08Severity\x12\x18\n\x14SEVERITY_UNSPECIFIED\x10\x00\x12\x13\n\x0fSEVERITY_NOTICE\x10\x01\x12\x14\n\x10SEVERITY_WARNING\x10\x02\x12\x12\n\x0eSEVERITY_ERROR\x10\x03*\x99\x02\n\x06\x45ntity\x12\x16\n\x12\x45NTITY_UNSPECIFIED\x10\x00\x12\x12\n\x0e\x45NTITY_BASE_OS\x10\x01\x12\x19\n\x15\x45NTITY_SYSTEM_ADAPTER\x10\x02\x12\x10\n\x0c\x45NTITY_VAULT\x10\x03\x12\x16\n\x12\x45NTITY_ATTESTATION\x10\x04\x12\x17\n\x13\x45NTITY_APP_INSTANCE\x10\x05\x12\x0f\n\x0b\x45NTITY_PORT\x10\x06\x12\x12\n\x0e\x45NTITY_NETWORK\x10\x07\x12\x1b\n\x17\x45NTITY_NETWORK_INSTANCE\x10\x08\x12\x17\n\x13\x45NTITY_CONTENT_TREE\x10\t\x12\x17\n\x13\x45NTITY_CONTENT_BLOB\x10\n\x12\x11\n\rENTITY_VOLUME\x10\x0b\x42\x39\n\x13org.lfedge.eve.infoZ\"github.com/lf-edge/eve-api/go/infob\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11info/common.proto\x12\x13org.lfedge.eve.info\x1a\x1fgoogle/protobuf/timestamp.proto\"\xe2\x01\n\tErrorInfo\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\x12-\n\ttimestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x08severity\x18\x03 \x01(\x0e\x32\x1d.org.lfedge.eve.info.Severity\x12\x33\n\x08\x65ntities\x18\x04 \x03(\x0b\x32!.org.lfedge.eve.info.DeviceEntity\x12\x17\n\x0fretry_condition\x18\x05 \x01(\t\x12\x12\n\nerror_code\x18\x06 \x01(\t\"c\n\x0c\x44\x65viceEntity\x12+\n\x06\x65ntity\x18\x01 \x01(\x0e\x32\x1b.org.lfedge.eve.info.Entity\x12\x11\n\tentity_id\x18\x02 \x01(\t\x12\x13\n\x0b\x65ntity_name\x18\x03 \x01(\t*c\n\x08Severity\x12\x18\n\x14SEVERITY_UNSPECIFIED\x10\x00\x12\x13\n\x0fSEVERITY_NOTICE\x10\x01\x12\x14\n\x10SEVERITY_WARNING\x10\x02\x12\x12\n\x0eSEVERITY_ERROR\x10\x03*\x99\x02\n\x06\x45ntity\x12\x16\n\x12\x45NTITY_UNSPECIFIED\x10\x00\x12\x12\n\x0e\x45NTITY_BASE_OS\x10\x01\x12\x19\n\x15\x45NTITY_SYSTEM_ADAPTER\x10\x02\x12\x10\n\x0c\x45NTITY_VAULT\x10\x03\x12\x16\n\x12\x45NTITY_ATTESTATION\x10\x04\x12\x17\n\x13\x45NTITY_APP_INSTANCE\x10\x05\x12\x0f\n\x0b\x45NTITY_PORT\x10\x06\x12\x12\n\x0e\x45NTITY_NETWORK\x10\x07\x12\x1b\n\x17\x45NTITY_NETWORK_INSTANCE\x10\x08\x12\x17\n\x13\x45NTITY_CONTENT_TREE\x10\t\x12\x17\n\x13\x45NTITY_CONTENT_BLOB\x10\n\x12\x11\n\rENTITY_VOLUME\x10\x0b\x42\x39\n\x13org.lfedge.eve.infoZ\"github.com/lf-edge/eve-api/go/infob\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -23,12 +23,12 @@ DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b'\n\023org.lfedge.eve.infoZ\"github.com/lf-edge/eve-api/go/info' - _globals['_SEVERITY']._serialized_start=385 - _globals['_SEVERITY']._serialized_end=484 - _globals['_ENTITY']._serialized_start=487 - _globals['_ENTITY']._serialized_end=768 + _globals['_SEVERITY']._serialized_start=405 + _globals['_SEVERITY']._serialized_end=504 + _globals['_ENTITY']._serialized_start=507 + _globals['_ENTITY']._serialized_end=788 _globals['_ERRORINFO']._serialized_start=76 - _globals['_ERRORINFO']._serialized_end=282 - _globals['_DEVICEENTITY']._serialized_start=284 - _globals['_DEVICEENTITY']._serialized_end=383 + _globals['_ERRORINFO']._serialized_end=302 + _globals['_DEVICEENTITY']._serialized_start=304 + _globals['_DEVICEENTITY']._serialized_end=403 # @@protoc_insertion_point(module_scope) diff --git a/python/info/hardware_pb2.py b/python/info/hardware_pb2.py index 314c219e..1971fd7c 100644 --- a/python/info/hardware_pb2.py +++ b/python/info/hardware_pb2.py @@ -13,7 +13,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13info/hardware.proto\x12\x13org.lfedge.eve.info\"\'\n\nUSBAddress\x12\x0b\n\x03\x62us\x18\x01 \x01(\r\x12\x0c\n\x04port\x18\x02 \x01(\t\"\x9d\x01\n\tBusParent\x12\x38\n\npci_parent\x18\x01 \x01(\x0b\x32\x1f.org.lfedge.eve.info.PCIAddressH\x00\x88\x01\x01\x12\x38\n\nusb_parent\x18\x02 \x01(\x0b\x32\x1f.org.lfedge.eve.info.USBAddressH\x01\x88\x01\x01\x42\r\n\x0b_pci_parentB\r\n\x0b_usb_parent\"\xea\x01\n\tUSBDevice\x12\x33\n\x06parent\x18\x01 \x01(\x0b\x32\x1e.org.lfedge.eve.info.BusParentH\x00\x88\x01\x01\x12\x11\n\tvendor_id\x18\x02 \x01(\r\x12\x12\n\nproduct_id\x18\x03 \x01(\r\x12\x31\n\x08\x62us_port\x18\x04 \x01(\x0b\x32\x1f.org.lfedge.eve.info.USBAddress\x12\x0e\n\x06\x64river\x18\x05 \x01(\t\x12\x10\n\x08\x63lass_id\x18\x06 \x01(\r\x12\x1b\n\x13suggested_assigngrp\x18\x07 \x01(\tB\t\n\x07_parentJ\x04\x08\x08\x10\t\"K\n\nPCIAddress\x12\x0e\n\x06\x64omain\x18\x01 \x01(\r\x12\x0b\n\x03\x62us\x18\x02 \x01(\r\x12\x0e\n\x06\x64\x65vice\x18\x03 \x01(\r\x12\x10\n\x08\x66unction\x18\x04 \x01(\r\"\xbe\x02\n\tPCIDevice\x12G\n\x19parent_pci_device_address\x18\x01 \x01(\x0b\x32\x1f.org.lfedge.eve.info.PCIAddressH\x00\x88\x01\x01\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\x30\n\x07\x61\x64\x64ress\x18\x03 \x01(\x0b\x32\x1f.org.lfedge.eve.info.PCIAddress\x12\x11\n\tvendor_id\x18\x04 \x01(\r\x12\x11\n\tdevice_id\x18\x05 \x01(\r\x12\x10\n\x08revision\x18\x06 \x01(\r\x12\x14\n\x0csubsystem_id\x18\x07 \x01(\r\x12\x10\n\x08\x63lass_id\x18\x08 \x01(\r\x12\x13\n\x0bsubclass_id\x18\t \x01(\x04\x12\x13\n\x0biommu_group\x18\n \x01(\tB\x1c\n\x1a_parent_pci_device_address\"\x80\x01\n\nSerialPort\x12\x33\n\x06parent\x18\x01 \x01(\x0b\x32\x1e.org.lfedge.eve.info.BusParentH\x00\x88\x01\x01\x12\x14\n\x0cioport_range\x18\x02 \x01(\t\x12\x0b\n\x03irq\x18\x03 \x01(\x04\x12\x0f\n\x07\x64\x65vpath\x18\x04 \x01(\tB\t\n\x07_parent\"[\n\tCANDevice\x12\x33\n\x06parent\x18\x01 \x01(\x0b\x32\x1e.org.lfedge.eve.info.BusParentH\x00\x88\x01\x01\x12\x0e\n\x06ifname\x18\x02 \x01(\tB\t\n\x07_parent\"\xbe\x01\n\rNetworkDevice\x12\x33\n\x06parent\x18\x01 \x01(\x0b\x32\x1e.org.lfedge.eve.info.BusParentH\x00\x88\x01\x01\x12\x0e\n\x06ifname\x18\x02 \x01(\t\x12\x34\n\x04type\x18\x03 \x01(\x0e\x32&.org.lfedge.eve.info.NetworkDeviceType\x12\x13\n\x0bmac_address\x18\x04 \x01(\t\x12\x12\n\nspeed_mbps\x18\x05 \x01(\rB\t\n\x07_parent\"\x9a\x01\n\x04\x42IOS\x12\x0e\n\x06vendor\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12>\n\nattributes\x18\xe8\x07 \x03(\x0b\x32).org.lfedge.eve.info.BIOS.AttributesEntry\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\">\n\x03\x43PU\x12\r\n\x05model\x18\x01 \x01(\t\x12\x0e\n\x06vendor\x18\x02 \x01(\t\x12\n\n\x02id\x18\x03 \x01(\r\x12\x0c\n\x04\x66req\x18\x04 \x01(\x04\"1\n\x07\x43PUInfo\x12&\n\x04\x63pus\x18\x01 \x03(\x0b\x32\x18.org.lfedge.eve.info.CPU\"\\\n\x03TPM\x12\x0f\n\x07present\x18\x01 \x01(\x08\x12\x14\n\x0cmanufacturer\x18\x02 \x01(\t\x12\x18\n\x10\x66irmware_version\x18\x03 \x01(\t\x12\x14\n\x0cspec_version\x18\x04 \x01(\t\"\x8b\x05\n\x11HardwareInventory\x12\x33\n\x0bpci_devices\x18\x03 \x03(\x0b\x32\x1e.org.lfedge.eve.info.PCIDevice\x12\x33\n\x0busb_devices\x18\x04 \x03(\x0b\x32\x1e.org.lfedge.eve.info.USBDevice\x12\x37\n\x0eserial_devices\x18\x05 \x03(\x0b\x32\x1f.org.lfedge.eve.info.SerialPort\x12;\n\x0fnetwork_devices\x18\x06 \x03(\x0b\x32\".org.lfedge.eve.info.NetworkDevice\x12\x33\n\x0b\x63\x61n_devices\x18\x07 \x03(\x0b\x32\x1e.org.lfedge.eve.info.CANDevice\x12\'\n\x04\x62ios\x18\x08 \x01(\x0b\x32\x19.org.lfedge.eve.info.BIOS\x12.\n\x08\x63pu_info\x18\t \x01(\x0b\x32\x1c.org.lfedge.eve.info.CPUInfo\x12\x1a\n\x12total_memory_bytes\x18\n \x01(\x04\x12\x1b\n\x13total_storage_bytes\x18\x0b \x01(\x04\x12\x18\n\x10watchdog_present\x18\r \x01(\x08\x12%\n\x03tpm\x18\x0e \x01(\x0b\x32\x18.org.lfedge.eve.info.TPM\x12\x1a\n\x12status_led_present\x18\x0f \x01(\x08\x12?\n\x04misc\x18\xe8\x07 \x03(\x0b\x32\x30.org.lfedge.eve.info.HardwareInventory.MiscEntry\x1a+\n\tMiscEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01J\x04\x08\x0c\x10\r*\xd2\x01\n\x11NetworkDeviceType\x12\x1f\n\x1bNETWORK_DEVICE_TYPE_UNKNOWN\x10\x00\x12 \n\x1cNETWORK_DEVICE_TYPE_ETHERNET\x10\x01\x12\x1c\n\x18NETWORK_DEVICE_TYPE_WIFI\x10\x05\x12\x1c\n\x18NETWORK_DEVICE_TYPE_WWAN\x10\x06\x12\x1e\n\x1aNETWORK_DEVICE_TYPE_ETH_PF\x10\x0b\x12\x1e\n\x1aNETWORK_DEVICE_TYPE_ETH_VF\x10\x0c\x42\x39\n\x13org.lfedge.eve.infoZ\"github.com/lf-edge/eve-api/go/infob\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13info/hardware.proto\x12\x13org.lfedge.eve.info\"\'\n\nUSBAddress\x12\x0b\n\x03\x62us\x18\x01 \x01(\r\x12\x0c\n\x04port\x18\x02 \x01(\t\"\x9d\x01\n\tBusParent\x12\x38\n\npci_parent\x18\x01 \x01(\x0b\x32\x1f.org.lfedge.eve.info.PCIAddressH\x00\x88\x01\x01\x12\x38\n\nusb_parent\x18\x02 \x01(\x0b\x32\x1f.org.lfedge.eve.info.USBAddressH\x01\x88\x01\x01\x42\r\n\x0b_pci_parentB\r\n\x0b_usb_parent\"\xea\x01\n\tUSBDevice\x12\x33\n\x06parent\x18\x01 \x01(\x0b\x32\x1e.org.lfedge.eve.info.BusParentH\x00\x88\x01\x01\x12\x11\n\tvendor_id\x18\x02 \x01(\r\x12\x12\n\nproduct_id\x18\x03 \x01(\r\x12\x31\n\x08\x62us_port\x18\x04 \x01(\x0b\x32\x1f.org.lfedge.eve.info.USBAddress\x12\x0e\n\x06\x64river\x18\x05 \x01(\t\x12\x10\n\x08\x63lass_id\x18\x06 \x01(\r\x12\x1b\n\x13suggested_assigngrp\x18\x07 \x01(\tB\t\n\x07_parentJ\x04\x08\x08\x10\t\"K\n\nPCIAddress\x12\x0e\n\x06\x64omain\x18\x01 \x01(\r\x12\x0b\n\x03\x62us\x18\x02 \x01(\r\x12\x0e\n\x06\x64\x65vice\x18\x03 \x01(\r\x12\x10\n\x08\x66unction\x18\x04 \x01(\r\"\xfb\x02\n\tPCIDevice\x12G\n\x19parent_pci_device_address\x18\x01 \x01(\x0b\x32\x1f.org.lfedge.eve.info.PCIAddressH\x00\x88\x01\x01\x12\x0e\n\x06\x64river\x18\x02 \x01(\t\x12\x30\n\x07\x61\x64\x64ress\x18\x03 \x01(\x0b\x32\x1f.org.lfedge.eve.info.PCIAddress\x12\x11\n\tvendor_id\x18\x04 \x01(\r\x12\x11\n\tdevice_id\x18\x05 \x01(\r\x12\x10\n\x08revision\x18\x06 \x01(\r\x12\x14\n\x0csubsystem_id\x18\x07 \x01(\r\x12\x10\n\x08\x63lass_id\x18\x08 \x01(\r\x12\x13\n\x0bsubclass_id\x18\t \x01(\x04\x12\x13\n\x0biommu_group\x18\n \x01(\t\x12\x16\n\tnuma_node\x18\x0b \x01(\x05H\x01\x88\x01\x01\x12\x15\n\rlocal_cpu_ids\x18\x0c \x03(\rB\x1c\n\x1a_parent_pci_device_addressB\x0c\n\n_numa_node\"\x80\x01\n\nSerialPort\x12\x33\n\x06parent\x18\x01 \x01(\x0b\x32\x1e.org.lfedge.eve.info.BusParentH\x00\x88\x01\x01\x12\x14\n\x0cioport_range\x18\x02 \x01(\t\x12\x0b\n\x03irq\x18\x03 \x01(\x04\x12\x0f\n\x07\x64\x65vpath\x18\x04 \x01(\tB\t\n\x07_parent\"[\n\tCANDevice\x12\x33\n\x06parent\x18\x01 \x01(\x0b\x32\x1e.org.lfedge.eve.info.BusParentH\x00\x88\x01\x01\x12\x0e\n\x06ifname\x18\x02 \x01(\tB\t\n\x07_parent\"\xbe\x01\n\rNetworkDevice\x12\x33\n\x06parent\x18\x01 \x01(\x0b\x32\x1e.org.lfedge.eve.info.BusParentH\x00\x88\x01\x01\x12\x0e\n\x06ifname\x18\x02 \x01(\t\x12\x34\n\x04type\x18\x03 \x01(\x0e\x32&.org.lfedge.eve.info.NetworkDeviceType\x12\x13\n\x0bmac_address\x18\x04 \x01(\t\x12\x12\n\nspeed_mbps\x18\x05 \x01(\rB\t\n\x07_parent\"\x9a\x01\n\x04\x42IOS\x12\x0e\n\x06vendor\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12>\n\nattributes\x18\xe8\x07 \x03(\x0b\x32).org.lfedge.eve.info.BIOS.AttributesEntry\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xf4\x01\n\x03\x43PU\x12\r\n\x05model\x18\x01 \x01(\t\x12\x0e\n\x06vendor\x18\x02 \x01(\t\x12\n\n\x02id\x18\x03 \x01(\r\x12\x0c\n\x04\x66req\x18\x04 \x01(\x04\x12\x11\n\tsocket_id\x18\x05 \x01(\r\x12\x0f\n\x07\x63ore_id\x18\x06 \x01(\r\x12\x11\n\tnuma_node\x18\x07 \x01(\r\x12\r\n\x05l2_id\x18\x08 \x01(\r\x12\r\n\x05l3_id\x18\t \x01(\r\x12\x32\n\ncore_class\x18\n \x01(\x0e\x32\x1e.org.lfedge.eve.info.CoreClass\x12\x15\n\rbase_freq_khz\x18\x0b \x01(\x04\x12\x14\n\x0cmax_freq_khz\x18\x0c \x01(\x04\"n\n\x0b\x43\x61\x63heDomain\x12.\n\x05level\x18\x01 \x01(\x0e\x32\x1f.org.lfedge.eve.info.CacheLevel\x12\x12\n\nsize_bytes\x18\x02 \x01(\x04\x12\x0f\n\x07\x63pu_ids\x18\x03 \x03(\r\x12\n\n\x02id\x18\x04 \x01(\r\"H\n\x0f\x43PUCapabilities\x12\x12\n\nrdt_l3_cat\x18\x01 \x01(\x08\x12\x0f\n\x07rdt_mba\x18\x02 \x01(\x08\x12\x10\n\x08num_clos\x18\x03 \x01(\r\"\x9f\x01\n\x07\x43PUInfo\x12&\n\x04\x63pus\x18\x01 \x03(\x0b\x32\x18.org.lfedge.eve.info.CPU\x12\x30\n\x06\x63\x61\x63hes\x18\x02 \x03(\x0b\x32 .org.lfedge.eve.info.CacheDomain\x12:\n\x0c\x63\x61pabilities\x18\x03 \x01(\x0b\x32$.org.lfedge.eve.info.CPUCapabilities\"b\n\x10NodeCapabilities\x12\x18\n\x10isolated_cpu_ids\x18\x01 \x03(\r\x12\x19\n\x11nohz_full_cpu_ids\x18\x02 \x03(\r\x12\x19\n\x11rcu_nocbs_cpu_ids\x18\x03 \x03(\r\"\\\n\x03TPM\x12\x0f\n\x07present\x18\x01 \x01(\x08\x12\x14\n\x0cmanufacturer\x18\x02 \x01(\t\x12\x18\n\x10\x66irmware_version\x18\x03 \x01(\t\x12\x14\n\x0cspec_version\x18\x04 \x01(\t\"\xcd\x05\n\x11HardwareInventory\x12\x33\n\x0bpci_devices\x18\x03 \x03(\x0b\x32\x1e.org.lfedge.eve.info.PCIDevice\x12\x33\n\x0busb_devices\x18\x04 \x03(\x0b\x32\x1e.org.lfedge.eve.info.USBDevice\x12\x37\n\x0eserial_devices\x18\x05 \x03(\x0b\x32\x1f.org.lfedge.eve.info.SerialPort\x12;\n\x0fnetwork_devices\x18\x06 \x03(\x0b\x32\".org.lfedge.eve.info.NetworkDevice\x12\x33\n\x0b\x63\x61n_devices\x18\x07 \x03(\x0b\x32\x1e.org.lfedge.eve.info.CANDevice\x12\'\n\x04\x62ios\x18\x08 \x01(\x0b\x32\x19.org.lfedge.eve.info.BIOS\x12.\n\x08\x63pu_info\x18\t \x01(\x0b\x32\x1c.org.lfedge.eve.info.CPUInfo\x12\x1a\n\x12total_memory_bytes\x18\n \x01(\x04\x12\x1b\n\x13total_storage_bytes\x18\x0b \x01(\x04\x12\x18\n\x10watchdog_present\x18\r \x01(\x08\x12%\n\x03tpm\x18\x0e \x01(\x0b\x32\x18.org.lfedge.eve.info.TPM\x12\x1a\n\x12status_led_present\x18\x0f \x01(\x08\x12@\n\x11node_capabilities\x18\x10 \x01(\x0b\x32%.org.lfedge.eve.info.NodeCapabilities\x12?\n\x04misc\x18\xe8\x07 \x03(\x0b\x32\x30.org.lfedge.eve.info.HardwareInventory.MiscEntry\x1a+\n\tMiscEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01J\x04\x08\x0c\x10\r*\xd2\x01\n\x11NetworkDeviceType\x12\x1f\n\x1bNETWORK_DEVICE_TYPE_UNKNOWN\x10\x00\x12 \n\x1cNETWORK_DEVICE_TYPE_ETHERNET\x10\x01\x12\x1c\n\x18NETWORK_DEVICE_TYPE_WIFI\x10\x05\x12\x1c\n\x18NETWORK_DEVICE_TYPE_WWAN\x10\x06\x12\x1e\n\x1aNETWORK_DEVICE_TYPE_ETH_PF\x10\x0b\x12\x1e\n\x1aNETWORK_DEVICE_TYPE_ETH_VF\x10\x0c*x\n\tCoreClass\x12\x1a\n\x16\x43ORE_CLASS_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x43ORE_CLASS_PERFORMANCE\x10\x01\x12\x19\n\x15\x43ORE_CLASS_EFFICIENCY\x10\x02\x12\x18\n\x14\x43ORE_CLASS_LOW_POWER\x10\x03*{\n\nCacheLevel\x12\x1b\n\x17\x43\x41\x43HE_LEVEL_UNSPECIFIED\x10\x00\x12\x13\n\x0f\x43\x41\x43HE_LEVEL_L1D\x10\x01\x12\x13\n\x0f\x43\x41\x43HE_LEVEL_L1I\x10\x02\x12\x12\n\x0e\x43\x41\x43HE_LEVEL_L2\x10\x03\x12\x12\n\x0e\x43\x41\x43HE_LEVEL_L3\x10\x04\x42\x39\n\x13org.lfedge.eve.infoZ\"github.com/lf-edge/eve-api/go/infob\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -26,8 +26,12 @@ _BIOS_ATTRIBUTESENTRY._serialized_options = b'8\001' _HARDWAREINVENTORY_MISCENTRY._options = None _HARDWAREINVENTORY_MISCENTRY._serialized_options = b'8\001' - _globals['_NETWORKDEVICETYPE']._serialized_start=2318 - _globals['_NETWORKDEVICETYPE']._serialized_end=2528 + _globals['_NETWORKDEVICETYPE']._serialized_start=3025 + _globals['_NETWORKDEVICETYPE']._serialized_end=3235 + _globals['_CORECLASS']._serialized_start=3237 + _globals['_CORECLASS']._serialized_end=3357 + _globals['_CACHELEVEL']._serialized_start=3359 + _globals['_CACHELEVEL']._serialized_end=3482 _globals['_USBADDRESS']._serialized_start=44 _globals['_USBADDRESS']._serialized_end=83 _globals['_BUSPARENT']._serialized_start=86 @@ -37,25 +41,31 @@ _globals['_PCIADDRESS']._serialized_start=482 _globals['_PCIADDRESS']._serialized_end=557 _globals['_PCIDEVICE']._serialized_start=560 - _globals['_PCIDEVICE']._serialized_end=878 - _globals['_SERIALPORT']._serialized_start=881 - _globals['_SERIALPORT']._serialized_end=1009 - _globals['_CANDEVICE']._serialized_start=1011 - _globals['_CANDEVICE']._serialized_end=1102 - _globals['_NETWORKDEVICE']._serialized_start=1105 - _globals['_NETWORKDEVICE']._serialized_end=1295 - _globals['_BIOS']._serialized_start=1298 - _globals['_BIOS']._serialized_end=1452 - _globals['_BIOS_ATTRIBUTESENTRY']._serialized_start=1403 - _globals['_BIOS_ATTRIBUTESENTRY']._serialized_end=1452 - _globals['_CPU']._serialized_start=1454 - _globals['_CPU']._serialized_end=1516 - _globals['_CPUINFO']._serialized_start=1518 - _globals['_CPUINFO']._serialized_end=1567 - _globals['_TPM']._serialized_start=1569 - _globals['_TPM']._serialized_end=1661 - _globals['_HARDWAREINVENTORY']._serialized_start=1664 - _globals['_HARDWAREINVENTORY']._serialized_end=2315 - _globals['_HARDWAREINVENTORY_MISCENTRY']._serialized_start=2266 - _globals['_HARDWAREINVENTORY_MISCENTRY']._serialized_end=2309 + _globals['_PCIDEVICE']._serialized_end=939 + _globals['_SERIALPORT']._serialized_start=942 + _globals['_SERIALPORT']._serialized_end=1070 + _globals['_CANDEVICE']._serialized_start=1072 + _globals['_CANDEVICE']._serialized_end=1163 + _globals['_NETWORKDEVICE']._serialized_start=1166 + _globals['_NETWORKDEVICE']._serialized_end=1356 + _globals['_BIOS']._serialized_start=1359 + _globals['_BIOS']._serialized_end=1513 + _globals['_BIOS_ATTRIBUTESENTRY']._serialized_start=1464 + _globals['_BIOS_ATTRIBUTESENTRY']._serialized_end=1513 + _globals['_CPU']._serialized_start=1516 + _globals['_CPU']._serialized_end=1760 + _globals['_CACHEDOMAIN']._serialized_start=1762 + _globals['_CACHEDOMAIN']._serialized_end=1872 + _globals['_CPUCAPABILITIES']._serialized_start=1874 + _globals['_CPUCAPABILITIES']._serialized_end=1946 + _globals['_CPUINFO']._serialized_start=1949 + _globals['_CPUINFO']._serialized_end=2108 + _globals['_NODECAPABILITIES']._serialized_start=2110 + _globals['_NODECAPABILITIES']._serialized_end=2208 + _globals['_TPM']._serialized_start=2210 + _globals['_TPM']._serialized_end=2302 + _globals['_HARDWAREINVENTORY']._serialized_start=2305 + _globals['_HARDWAREINVENTORY']._serialized_end=3022 + _globals['_HARDWAREINVENTORY_MISCENTRY']._serialized_start=2973 + _globals['_HARDWAREINVENTORY_MISCENTRY']._serialized_end=3016 # @@protoc_insertion_point(module_scope) diff --git a/python/info/info_pb2.py b/python/info/info_pb2.py index 46891aae..2b7c8dac 100644 --- a/python/info/info_pb2.py +++ b/python/info/info_pb2.py @@ -25,7 +25,7 @@ from info import common_pb2 as info_dot_common__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0finfo/info.proto\x12\x13org.lfedge.eve.info\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1e\x65vecommon/devmodelcommon.proto\x1a\x19\x65vecommon/evecommon.proto\x1a\x16\x65vecommon/netcmn.proto\x1a\x19info/patch_envelope.proto\x1a\x15info/ntpsources.proto\x1a\x1cinfo/edge_node_cluster.proto\x1a\x13info/hardware.proto\x1a\x0finfo/bond.proto\x1a\x0finfo/pnac.proto\x1a\x0finfo/cert.proto\x1a\x11info/common.proto\"\x93\x01\n\tSmartAttr\x12\n\n\x02id\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\x04\x12\r\n\x05worst\x18\x03 \x01(\x04\x12\x0e\n\x06thresh\x18\x04 \x01(\x04\x12\x13\n\x0bwhen_failed\x18\x05 \x01(\t\x12\x11\n\traw_value\x18\x06 \x01(\x04\x12\x0c\n\x04type\x18\x07 \x01(\t\x12\x16\n\x0e\x61ttribute_name\x18\x08 \x01(\t\"\xab\x01\n\x0fStorageDiskInfo\x12\x11\n\tdisk_name\x18\x01 \x01(\t\x12\x0b\n\x03wwn\x18\x04 \x01(\t\x12\x15\n\rserial_number\x18\x05 \x01(\t\x12\r\n\x05model\x18\x06 \x01(\t\x12\x18\n\x10\x63ollector_errors\x18\x07 \x01(\t\x12\x32\n\nsmart_attr\x18\x08 \x03(\x0b\x32\x1e.org.lfedge.eve.info.SmartAttrJ\x04\x08\x03\x10\x04\"\xdc\x01\n\x14\x64\x65precatedMetricItem\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x34\n\x04type\x18\x02 \x01(\x0e\x32&.org.lfedge.eve.info.DepMetricItemType\x12\x13\n\tboolValue\x18\x03 \x01(\x08H\x00\x12\x15\n\x0buint32Value\x18\x04 \x01(\rH\x00\x12\x15\n\x0buint64Value\x18\x05 \x01(\x04H\x00\x12\x14\n\nfloatValue\x18\x06 \x01(\x02H\x00\x12\x15\n\x0bstringValue\x18\x07 \x01(\tH\x00\x42\x11\n\x0fmetricItemValue\">\n\x15ZmetIPAssignmentEntry\x12\x12\n\nmacAddress\x18\x01 \x01(\t\x12\x11\n\tipAddress\x18\x02 \x03(\t\"A\n\x0bZmetVifInfo\x12\x0f\n\x07vifName\x18\x01 \x01(\t\x12\x12\n\nmacAddress\x18\x02 \x01(\t\x12\r\n\x05\x61ppID\x18\x03 \x01(\t\"\xa5\x02\n\tZioBundle\x12.\n\x04type\x18\x01 \x01(\x0e\x32 .org.lfedge.eve.common.PhyIoType\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07members\x18\x03 \x03(\t\x12\x15\n\rusedByAppUUID\x18\x04 \x01(\t\x12\x14\n\x0cusedByBaseOS\x18\x05 \x01(\x08\x12\x37\n\rioAddressList\x18\x06 \x03(\x0b\x32 .org.lfedge.eve.info.IoAddresses\x12\x36\n\x05usage\x18\x07 \x01(\x0e\x32\'.org.lfedge.eve.common.PhyIoMemberUsage\x12+\n\x03\x65rr\x18\x08 \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\"X\n\x0bIoAddresses\x12\x12\n\nmacAddress\x18\x01 \x01(\t\x12\x35\n\x07vf_info\x18\x02 \x01(\x0b\x32$.org.lfedge.eve.info.VfPublishedInfo\"1\n\x0fVfPublishedInfo\x12\r\n\x05index\x18\x01 \x01(\r\x12\x0f\n\x07vlan_id\x18\x02 \x01(\r\"\xc9\x01\n\x11ZInfoManufacturer\x12\x14\n\x0cmanufacturer\x18\x01 \x01(\t\x12\x13\n\x0bproductName\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\t\x12\x14\n\x0cserialNumber\x18\x04 \x01(\t\x12\x0c\n\x04UUID\x18\x05 \x01(\t\x12\x12\n\ncompatible\x18\x06 \x01(\t\x12\x12\n\nbiosVendor\x18\x07 \x01(\t\x12\x13\n\x0b\x62iosVersion\x18\x08 \x01(\t\x12\x17\n\x0f\x62iosReleaseDate\x18\t \x01(\t\"\x8c\x03\n\x0cZInfoNetwork\x12\x0f\n\x07macAddr\x18\x03 \x01(\t\x12\x0f\n\x07\x64\x65vName\x18\x04 \x01(\t\x12\r\n\x05\x61lias\x18( \x01(\t\x12\x0f\n\x07IPAddrs\x18\x05 \x03(\t\x12\x16\n\x0e\x64\x65\x66\x61ultRouters\x18\x06 \x03(\t\x12*\n\x03\x64ns\x18\x07 \x01(\x0b\x32\x1d.org.lfedge.eve.info.ZInfoDNS\x12\x0f\n\x07ipv4_up\x18\x08 \x01(\x08\x12-\n\x08location\x18\t \x01(\x0b\x32\x1b.org.lfedge.eve.info.GeoLoc\x12\x0e\n\x06uplink\x18\n \x01(\x08\x12\x32\n\nnetworkErr\x18\x0b \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12\x11\n\tlocalName\x18\x0c \x01(\t\x12/\n\x05proxy\x18\r \x01(\x0b\x32 .org.lfedge.eve.info.ProxyStatus\x12\x19\n\x11ip_addr_mis_match\x18\x0e \x01(\x08\x12\x13\n\x0bntp_servers\x18\x0f \x03(\t\"\x87\x01\n\x06GeoLoc\x12\x12\n\nUnderlayIP\x18\x01 \x01(\t\x12\x10\n\x08Hostname\x18\x02 \x01(\t\x12\x0c\n\x04\x43ity\x18\x03 \x01(\t\x12\x0e\n\x06Region\x18\x04 \x01(\t\x12\x0f\n\x07\x43ountry\x18\x05 \x01(\t\x12\x0b\n\x03Loc\x18\x06 \x01(\t\x12\x0b\n\x03Org\x18\x07 \x01(\t\x12\x0e\n\x06Postal\x18\x08 \x01(\t\"D\n\x08ZInfoDNS\x12\x12\n\nDNSservers\x18\x01 \x03(\t\x12\x11\n\tDNSdomain\x18\x02 \x01(\t\x12\x11\n\tDNSsearch\x18\x03 \x03(\t\"\xa5\x01\n\x07ZInfoSW\x12\x11\n\tswVersion\x18\x02 \x01(\t\x12\x0e\n\x06swHash\x18\x03 \x01(\t\x12,\n\x05state\x18\x04 \x01(\x0e\x32\x1d.org.lfedge.eve.info.ZSwState\x12\x0e\n\x06target\x18\x06 \x01(\t\x12\x0c\n\x04vdev\x18\x07 \x01(\t\x12\x18\n\x10\x64ownloadProgress\x18\x08 \x01(\r\x12\x11\n\timageName\x18\t \x01(\t\"\xb8\x01\n\tVaultInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x38\n\x06status\x18\x02 \x01(\x0e\x32(.org.lfedge.eve.info.DataSecAtRestStatus\x12\x30\n\x08vaultErr\x18\x03 \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12\x31\n\tpcrStatus\x18\x04 \x01(\x0e\x32\x1e.org.lfedge.eve.info.PCRStatus\"\x8a\x01\n\rDataSecAtRest\x12\x38\n\x06status\x18\x01 \x01(\x0e\x32(.org.lfedge.eve.info.DataSecAtRestStatus\x12\x0c\n\x04info\x18\x02 \x01(\t\x12\x31\n\tvaultList\x18\x03 \x03(\x0b\x32\x1e.org.lfedge.eve.info.VaultInfo\"<\n\x0cSecurityInfo\x12\x13\n\x0bsha_root_ca\x18\x01 \x01(\x0c\x12\x17\n\x0fsha_tls_root_ca\x18\x02 \x01(\x0c\"/\n\x0fZInfoConfigItem\x12\r\n\x05value\x18\x01 \x01(\t\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\x84\x03\n\x15ZInfoConfigItemStatus\x12P\n\x0b\x63onfigItems\x18\x01 \x03(\x0b\x32;.org.lfedge.eve.info.ZInfoConfigItemStatus.ConfigItemsEntry\x12^\n\x12unknownConfigItems\x18\x02 \x03(\x0b\x32\x42.org.lfedge.eve.info.ZInfoConfigItemStatus.UnknownConfigItemsEntry\x1aX\n\x10\x43onfigItemsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x33\n\x05value\x18\x02 \x01(\x0b\x32$.org.lfedge.eve.info.ZInfoConfigItem:\x02\x38\x01\x1a_\n\x17UnknownConfigItemsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x33\n\x05value\x18\x02 \x01(\x0b\x32$.org.lfedge.eve.info.ZInfoConfigItem:\x02\x38\x01\"B\n\x10ZInfoAppInstance\x12\x0c\n\x04uuid\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\ndomainName\x18\x03 \x01(\t\"3\n\x10ZInfoDeviceTasks\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tnamespace\x18\x02 \x01(\t\"\xc1\x01\n\x0cZSimcardInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10\x63\x65ll_module_name\x18\x02 \x01(\t\x12\x0c\n\x04imsi\x18\x03 \x01(\t\x12\r\n\x05iccid\x18\x04 \x01(\t\x12\r\n\x05state\x18\x06 \x01(\t\x12\x13\n\x0bslot_number\x18\x07 \x01(\r\x12\x16\n\x0eslot_activated\x18\x08 \x01(\x08\x12*\n\x04type\x18\t \x01(\x0e\x32\x1c.org.lfedge.eve.info.SimTypeJ\x04\x08\x05\x10\x06\"\x80\x02\n\x13ZCellularModuleInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04imei\x18\x02 \x01(\t\x12\x18\n\x10\x66irmware_version\x18\x03 \x01(\t\x12\r\n\x05model\x18\x04 \x01(\t\x12\x45\n\x0foperating_state\x18\x05 \x01(\x0e\x32,.org.lfedge.eve.info.ZCellularOperatingState\x12G\n\x10\x63ontrol_protocol\x18\x06 \x01(\x0e\x32-.org.lfedge.eve.info.ZCellularControlProtocol\x12\x14\n\x0cmanufacturer\x18\x07 \x01(\t\"s\n\x11ZCellularProvider\x12\x0c\n\x04plmn\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x17\n\x0f\x63urrent_serving\x18\x03 \x01(\x08\x12\x0f\n\x07roaming\x18\x04 \x01(\x08\x12\x11\n\tforbidden\x18\x05 \x01(\x08\"\xec\x01\n\x0e\x43\x65llularBearer\x12\x0b\n\x03\x61pn\x18\x01 \x01(\t\x12\x36\n\x0b\x62\x65\x61rer_type\x18\x02 \x01(\x0e\x32!.org.lfedge.eve.common.BearerType\x12\x36\n\x07ip_type\x18\x03 \x01(\x0e\x32%.org.lfedge.eve.common.CellularIPType\x12\x11\n\tconnected\x18\x04 \x01(\x08\x12\x18\n\x10\x63onnection_error\x18\x05 \x01(\t\x12\x30\n\x0c\x63onnected_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xbc\x01\n\x0f\x43\x65llularProfile\x12\x14\n\x0cprofile_name\x18\x01 \x01(\t\x12\x0b\n\x03\x61pn\x18\x02 \x01(\t\x12\x36\n\x0b\x62\x65\x61rer_type\x18\x03 \x01(\x0e\x32!.org.lfedge.eve.common.BearerType\x12\x36\n\x07ip_type\x18\x04 \x01(\x0e\x32%.org.lfedge.eve.common.CellularIPType\x12\x16\n\x0e\x66orbid_roaming\x18\x05 \x01(\x08\"\xa6\x01\n\x10StorageDiskState\x12\x39\n\tdisk_name\x18\x01 \x01(\x0b\x32&.org.lfedge.eve.common.DiskDescription\x12\x32\n\x06status\x18\x02 \x01(\x0e\x32\".org.lfedge.eve.info.StorageStatus\x12\r\n\x05state\x18\x03 \x01(\t\x12\x14\n\x0csmart_status\x18\x04 \x01(\t\"\xe2\x01\n\x0fStorageChildren\x12:\n\x0c\x63urrent_raid\x18\x01 \x01(\x0e\x32$.org.lfedge.eve.info.StorageRaidType\x12\x34\n\x05\x64isks\x18\x02 \x03(\x0b\x32%.org.lfedge.eve.info.StorageDiskState\x12\x36\n\x08\x63hildren\x18\x03 \x03(\x0b\x32$.org.lfedge.eve.info.StorageChildren\x12\x14\n\x0c\x64isplay_name\x18\x04 \x01(\t\x12\x0f\n\x07g_u_i_d\x18\x05 \x01(\x04\"\xcd\x03\n\x0bStorageInfo\x12\x11\n\tpool_name\x18\x01 \x01(\t\x12:\n\x0cstorage_type\x18\x02 \x01(\x0e\x32$.org.lfedge.eve.info.StorageTypeInfo\x12\x13\n\x0bzfs_version\x18\x03 \x01(\t\x12:\n\x0c\x63urrent_raid\x18\x04 \x01(\x0e\x32$.org.lfedge.eve.info.StorageRaidType\x12\x19\n\x11\x63ompression_ratio\x18\x05 \x01(\x01\x12\x12\n\nzpool_size\x18\x06 \x01(\x04\x12\x13\n\x0b\x63ount_zvols\x18\x07 \x01(\r\x12\x39\n\rstorage_state\x18\x08 \x01(\x0e\x32\".org.lfedge.eve.info.StorageStatus\x12\x34\n\x05\x64isks\x18\t \x03(\x0b\x32%.org.lfedge.eve.info.StorageDiskState\x12\x18\n\x10\x63ollector_errors\x18\n \x01(\t\x12\x36\n\x08\x63hildren\x18\x0b \x03(\x0b\x32$.org.lfedge.eve.info.StorageChildren\x12\x17\n\x0fpool_status_msg\x18\x0c \x01(\t\"\xe6\x11\n\x0bZInfoDevice\x12\x13\n\x0bmachineArch\x18\x04 \x01(\t\x12\x0f\n\x07\x63puArch\x18\x05 \x01(\t\x12\x10\n\x08platform\x18\x06 \x01(\t\x12\x0c\n\x04ncpu\x18\x07 \x01(\r\x12\x0e\n\x06memory\x18\x08 \x01(\x04\x12\x0f\n\x07storage\x18\t \x01(\x04\x12\x19\n\x11powerCycleCounter\x18\n \x01(\x03\x12\x35\n\x05minfo\x18\x0b \x01(\x0b\x32&.org.lfedge.eve.info.ZInfoManufacturer\x12\x32\n\x07network\x18\r \x03(\x0b\x32!.org.lfedge.eve.info.ZInfoNetwork\x12:\n\x12\x61ssignableAdapters\x18\x0f \x03(\x0b\x32\x1e.org.lfedge.eve.info.ZioBundle\x12*\n\x03\x64ns\x18\x10 \x01(\x0b\x32\x1d.org.lfedge.eve.info.ZInfoDNS\x12\x36\n\x0bstorageList\x18\x11 \x03(\x0b\x32!.org.lfedge.eve.info.ZInfoStorage\x12,\n\x08\x62ootTime\x18\x12 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x06swList\x18\x13 \x03(\x0b\x32\x1f.org.lfedge.eve.info.ZInfoDevSW\x12\x10\n\x08HostName\x18\x14 \x01(\t\x12>\n\x0bmetricItems\x18\x15 \x03(\x0b\x32).org.lfedge.eve.info.deprecatedMetricItem\x12\x18\n\x10lastRebootReason\x18\x16 \x01(\t\x12\x32\n\x0elastRebootTime\x18\x17 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12=\n\rsystemAdapter\x18\x18 \x01(\x0b\x32&.org.lfedge.eve.info.SystemAdapterInfo\x12\x16\n\x0erestartCounter\x18\x19 \x01(\r\x12>\n\tHSMStatus\x18\x1a \x01(\x0e\x32+.org.lfedge.eve.info.HwSecurityModuleStatus\x12\x0f\n\x07HSMInfo\x18\x1b \x01(\t\x12\x17\n\x0flastRebootStack\x18\x1c \x01(\t\x12=\n\x11\x64\x61taSecAtRestInfo\x18\x1d \x01(\x0b\x32\".org.lfedge.eve.info.DataSecAtRest\x12\x33\n\x08sec_info\x18\x1e \x01(\x0b\x32!.org.lfedge.eve.info.SecurityInfo\x12\x44\n\x10\x63onfigItemStatus\x18\x1f \x01(\x0b\x32*.org.lfedge.eve.info.ZInfoConfigItemStatus\x12;\n\x0c\x61ppInstances\x18 \x03(\x0b\x32%.org.lfedge.eve.info.ZInfoAppInstance\x12\x1b\n\x13rebootConfigCounter\x18! \x01(\r\x12\x39\n\x10last_boot_reason\x18\" \x01(\x0e\x32\x1f.org.lfedge.eve.info.BootReason\x12=\n\x0b\x63\x65ll_radios\x18# \x03(\x0b\x32(.org.lfedge.eve.info.ZCellularModuleInfo\x12/\n\x04sims\x18$ \x03(\x0b\x32!.org.lfedge.eve.info.ZSimcardInfo\x12\x34\n\x05tasks\x18% \x03(\x0b\x32%.org.lfedge.eve.info.ZInfoDeviceTasks\x12\x18\n\x10maintenance_mode\x18& \x01(\x08\x12O\n\x17maintenance_mode_reason\x18\' \x01(\x0e\x32*.org.lfedge.eve.info.MaintenanceModeReasonB\x02\x18\x01\x12!\n\x19hardware_watchdog_present\x18( \x01(\x08\x12\x19\n\x11reboot_inprogress\x18) \x01(\x08\x12\x37\n\x0c\x63\x61pabilities\x18* \x01(\x0b\x32!.org.lfedge.eve.info.Capabilities\x12\x1d\n\x15\x62\x61seos_update_counter\x18+ \x01(\r\x12\x30\n\x05state\x18, \x01(\x0e\x32!.org.lfedge.eve.info.ZDeviceState\x12\x15\n\rlocal_profile\x18- \x01(\t\x12L\n\x18maintenance_mode_reasons\x18. \x03(\x0e\x32*.org.lfedge.eve.info.MaintenanceModeReason\x12\x18\n\x0c\x64ormant_time\x18/ \x01(\tB\x02\x18\x01\x12\x36\n\x0cstorage_info\x18\x30 \x03(\x0b\x32 .org.lfedge.eve.info.StorageInfo\x12\x1f\n\x17shutdown_config_counter\x18\x31 \x01(\r\x12>\n\x10\x61ttestation_info\x18\x32 \x01(\x0b\x32$.org.lfedge.eve.info.AttestationInfo\x12:\n\x0e\x61pi_capability\x18\x33 \x01(\x0e\x32\".org.lfedge.eve.info.APICapability\x12\x1e\n\x16remote_access_disabled\x18\x34 \x01(\x08\x12H\n\x15optional_capabilities\x18\x35 \x01(\x0b\x32).org.lfedge.eve.info.OptionalCapabilities\x12\x13\n\x0b\x64\x65vice_name\x18\x36 \x01(\t\x12\x17\n\x0f\x65nterprise_name\x18\x37 \x01(\t\x12\x15\n\renterprise_id\x18\x38 \x01(\t\x12\x14\n\x0cproject_name\x18\x39 \x01(\t\x12\x12\n\nproject_id\x18: \x01(\t\x12\x35\n\x0e\x65nrolled_certs\x18< \x03(\x0b\x32\x1d.org.lfedge.eve.info.CertInfo\"e\n\x14OptionalCapabilities\x12\x18\n\x10hv_type_kubevirt\x18\x01 \x01(\x08\x12\x1c\n\x14hw_inventory_support\x18\x02 \x01(\x08\x12\x15\n\retcd_snapshot\x18\x03 \x01(\x08\"v\n\x0f\x41ttestationInfo\x12\x34\n\x05state\x18\x01 \x01(\x0e\x32%.org.lfedge.eve.info.AttestationState\x12-\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\"`\n\x11SystemAdapterInfo\x12\x14\n\x0c\x63urrentIndex\x18\x01 \x01(\r\x12\x35\n\x06status\x18\x02 \x03(\x0b\x32%.org.lfedge.eve.info.DevicePortStatus\"\x88\x02\n\x10\x44\x65vicePortStatus\x12\x0f\n\x07version\x18\x01 \x01(\r\x12\x0b\n\x03key\x18\x02 \x01(\t\x12\x30\n\x0ctimePriority\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nlastFailed\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x31\n\rlastSucceeded\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\x05ports\x18\x06 \x03(\x0b\x32\x1f.org.lfedge.eve.info.DevicePort\x12\x11\n\tlastError\x18\x07 \x01(\t\"\xce\x06\n\nDevicePort\x12\x0e\n\x06ifname\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06isMgmt\x18\x03 \x01(\x08\x12\x0c\n\x04\x66ree\x18\x04 \x01(\x08\x12\x10\n\x08\x64hcpType\x18\x0b \x01(\r\x12\x0e\n\x06subnet\x18\x0c \x01(\t\x12\x0f\n\x07gateway\x18\r \x01(\t\x12\x12\n\ndomainname\x18\x0e \x01(\t\x12\x11\n\tntpServer\x18\x0f \x01(\t\x12\x18\n\x10more_ntp_servers\x18# \x03(\t\x12\x12\n\ndnsServers\x18\x10 \x03(\t\x12\x14\n\x0c\x64hcpRangeLow\x18\x11 \x01(\t\x12\x15\n\rdhcpRangeHigh\x18\x12 \x01(\t\x12/\n\x05proxy\x18\x15 \x01(\x0b\x32 .org.lfedge.eve.info.ProxyStatus\x12\x0f\n\x07macAddr\x18\x16 \x01(\t\x12\x0f\n\x07IPAddrs\x18\x17 \x03(\t\x12\x16\n\x0e\x64\x65\x66\x61ultRouters\x18\x18 \x03(\t\x12*\n\x03\x64ns\x18\x19 \x01(\x0b\x32\x1d.org.lfedge.eve.info.ZInfoDNS\x12\n\n\x02up\x18\x1a \x01(\x08\x12-\n\x08location\x18\x1b \x01(\x0b\x32\x1b.org.lfedge.eve.info.GeoLoc\x12+\n\x03\x65rr\x18\x1d \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12\x36\n\x05usage\x18\x1e \x01(\x0e\x32\'.org.lfedge.eve.common.PhyIoMemberUsage\x12\x13\n\x0bnetworkUUID\x18\x1f \x01(\t\x12\x0c\n\x04\x63ost\x18 \x01(\r\x12<\n\x0fwireless_status\x18! \x01(\x0b\x32#.org.lfedge.eve.info.WirelessStatus\x12\x0b\n\x03mtu\x18\" \x01(\r\x12>\n\rconfig_source\x18( \x01(\x0b\x32\'.org.lfedge.eve.common.PortConfigSource\x12\x34\n\x0bpnac_status\x18\x32 \x01(\x0b\x32\x1f.org.lfedge.eve.info.PNACStatus\x12\x34\n\x0b\x62ond_status\x18< \x01(\x0b\x32\x1f.org.lfedge.eve.info.BondStatus\"\xaa\x01\n\x0bProxyStatus\x12\x30\n\x07proxies\x18\x01 \x03(\x0b\x32\x1f.org.lfedge.eve.info.ProxyEntry\x12\x12\n\nexceptions\x18\x02 \x01(\t\x12\x0f\n\x07pacfile\x18\x03 \x01(\t\x12\x1a\n\x12networkProxyEnable\x18\x04 \x01(\x08\x12\x17\n\x0fnetworkProxyURL\x18\x05 \x01(\t\x12\x0f\n\x07wpadURL\x18\x06 \x01(\t\"8\n\nProxyEntry\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06server\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\r\"y\n\x0eWirelessStatus\x12/\n\x04type\x18\x01 \x01(\x0e\x32!.org.lfedge.eve.info.WirelessType\x12\x36\n\x08\x63\x65llular\x18\x02 \x01(\x0b\x32$.org.lfedge.eve.info.ZCellularStatus\"\x87\x03\n\x0fZCellularStatus\x12\x17\n\x0f\x63\x65llular_module\x18\x01 \x01(\t\x12\x11\n\tsim_cards\x18\x02 \x03(\t\x12\x39\n\tproviders\x18\x03 \x03(\x0b\x32&.org.lfedge.eve.info.ZCellularProvider\x12\x42\n\x0c\x63urrent_rats\x18\x04 \x03(\x0e\x32,.org.lfedge.eve.common.RadioAccessTechnology\x12\x30\n\x0c\x63onnected_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x14\n\x0c\x63onfig_error\x18\n \x01(\t\x12\x13\n\x0bprobe_error\x18\x0b \x01(\t\x12\x34\n\x07\x62\x65\x61rers\x18\x0c \x03(\x0b\x32#.org.lfedge.eve.info.CellularBearer\x12\x36\n\x08profiles\x18\r \x03(\x0b\x32$.org.lfedge.eve.info.CellularProfile\"\xac\x03\n\nZInfoDevSW\x12\x11\n\tactivated\x18\x02 \x01(\x08\x12\x16\n\x0epartitionLabel\x18\x03 \x01(\t\x12\x17\n\x0fpartitionDevice\x18\x04 \x01(\t\x12\x16\n\x0epartitionState\x18\x05 \x01(\t\x12-\n\x06status\x18\x06 \x01(\x0e\x32\x1d.org.lfedge.eve.info.ZSwState\x12\x14\n\x0cshortVersion\x18\x07 \x01(\t\x12\x13\n\x0blongVersion\x18\x08 \x01(\t\x12-\n\x05swErr\x18\t \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12\x18\n\x10\x64ownloadProgress\x18\n \x01(\r\x12\x35\n\nuserStatus\x18\x0b \x01(\x0e\x32!.org.lfedge.eve.info.BaseOsStatus\x12\x14\n\x0csubStatusStr\x18\x0c \x01(\t\x12\x37\n\tsubStatus\x18\r \x01(\x0e\x32$.org.lfedge.eve.info.BaseOsSubStatus\x12\x19\n\x11subStatusProgress\x18\x0e \x01(\r\"\xa3\x01\n\x0cZInfoStorage\x12\x0e\n\x06\x64\x65vice\x18\x01 \x01(\t\x12\x11\n\tmountPath\x18\x02 \x01(\t\x12\r\n\x05total\x18\x03 \x01(\x04\x12\x17\n\x0fstorageLocation\x18\x04 \x01(\x08\x12\x16\n\x0epartitionLabel\x18\x05 \x01(\t\x12\x19\n\x11partitionTypeGuid\x18\x06 \x01(\t\x12\x15\n\rpartitionUuid\x18\x07 \x01(\t\"\xda\x01\n\rZInfoSnapshot\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\tconfig_id\x18\x02 \x01(\t\x12\x16\n\x0e\x63onfig_version\x18\x03 \x01(\t\x12/\n\x0b\x63reate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x04type\x18\x05 \x01(\x0e\x32!.org.lfedge.eve.info.SnapshotType\x12\x30\n\x08snap_err\x18\x06 \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\"T\n\x10ZInfoClusterNode\x12@\n\x0bnode_status\x18\x01 \x01(\x0e\x32+.org.lfedge.eve.info.ZInfoClusterNodeStatus\"\xf3\x03\n\x08ZInfoApp\x12\r\n\x05\x41ppID\x18\x01 \x01(\t\x12\x12\n\nappVersion\x18\x02 \x01(\t\x12\x11\n\tsystemApp\x18\x06 \x01(\x08\x12\x0f\n\x07\x41ppName\x18\x07 \x01(\t\x12\x32\n\x0csoftwareList\x18\x08 \x03(\x0b\x32\x1c.org.lfedge.eve.info.ZInfoSW\x12,\n\x08\x62ootTime\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x38\n\x10\x61ssignedAdapters\x18\r \x03(\x0b\x32\x1e.org.lfedge.eve.info.ZioBundle\x12.\n\x06\x61ppErr\x18\x0e \x03(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12,\n\x05state\x18\x0f \x01(\x0e\x32\x1d.org.lfedge.eve.info.ZSwState\x12\x32\n\x07network\x18\x10 \x03(\x0b\x32!.org.lfedge.eve.info.ZInfoNetwork\x12\x12\n\nvolumeRefs\x18\x11 \x03(\t\x12\x35\n\tsnapshots\x18\x12 \x03(\x0b\x32\".org.lfedge.eve.info.ZInfoSnapshot\x12\x1b\n\x13\x63luster_app_running\x18\x14 \x01(\x08J\x04\x08\t\x10\x0cJ\x04\x08\x13\x10\x14\"D\n\x10ZInfoVpnLinkInfo\x12\r\n\x05spiId\x18\x01 \x01(\t\x12\x0e\n\x06subNet\x18\x02 \x01(\t\x12\x11\n\tdirection\x18\x03 \x01(\x08\"\xf9\x01\n\x0cZInfoVpnLink\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05reqId\x18\x03 \x01(\t\x12\x10\n\x08instTime\x18\x04 \x01(\x04\x12\x0f\n\x07\x65spInfo\x18\x05 \x01(\t\x12\x31\n\x05state\x18\x06 \x01(\x0e\x32\".org.lfedge.eve.info.ZInfoVpnState\x12\x34\n\x05lInfo\x18\n \x01(\x0b\x32%.org.lfedge.eve.info.ZInfoVpnLinkInfo\x12\x34\n\x05rInfo\x18\x0b \x01(\x0b\x32%.org.lfedge.eve.info.ZInfoVpnLinkInfo\"<\n\x10ZInfoVpnEndPoint\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0e\n\x06ipAddr\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\r\"\xa9\x02\n\x0cZInfoVpnConn\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\t\x12\x0f\n\x07\x65stTime\x18\x04 \x01(\x04\x12\x0c\n\x04ikes\x18\x05 \x01(\t\x12\x31\n\x05state\x18\x06 \x01(\x0e\x32\".org.lfedge.eve.info.ZInfoVpnState\x12\x34\n\x05lInfo\x18\x07 \x01(\x0b\x32%.org.lfedge.eve.info.ZInfoVpnEndPoint\x12\x34\n\x05rInfo\x18\x08 \x01(\x0b\x32%.org.lfedge.eve.info.ZInfoVpnEndPoint\x12\x30\n\x05links\x18\n \x03(\x0b\x32!.org.lfedge.eve.info.ZInfoVpnLink\"z\n\x08ZInfoVpn\x12\x0e\n\x06upTime\x18\x01 \x01(\x04\x12\x13\n\x0bpolicyBased\x18\x02 \x01(\x08\x12\x18\n\x10listeningIpAddrs\x18\x03 \x03(\t\x12/\n\x04\x63onn\x18\n \x03(\x0b\x32!.org.lfedge.eve.info.ZInfoVpnConn\"\x9b\x06\n\x14ZInfoNetworkInstance\x12\x11\n\tnetworkID\x18\x02 \x01(\t\x12\x16\n\x0enetworkVersion\x18\x03 \x01(\t\x12\x10\n\x08instType\x18\x05 \x01(\r\x12\x13\n\x0b\x64isplayname\x18\x06 \x01(\t\x12\x11\n\tactivated\x18\x07 \x01(\x08\x12/\n\x0bupTimeStamp\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x32\n\x0csoftwareList\x18\t \x01(\x0b\x32\x1c.org.lfedge.eve.info.ZInfoSW\x12\x1d\n\x11\x43urrentUplinkIntf\x18\n \x01(\tB\x02\x18\x01\x12\x1e\n\x12\x43urrentUplinkAlias\x18\x0b \x01(\tB\x02\x18\x01\x12\r\n\x05ports\x18\x0c \x03(\t\x12\x11\n\tbridgeNum\x18\x14 \x01(\r\x12\x12\n\nbridgeName\x18\x15 \x01(\t\x12\x14\n\x0c\x62ridgeIPAddr\x18\x16 \x01(\t\x12\x41\n\ripAssignments\x18\x17 \x03(\x0b\x32*.org.lfedge.eve.info.ZmetIPAssignmentEntry\x12.\n\x04vifs\x18\x19 \x03(\x0b\x32 .org.lfedge.eve.info.ZmetVifInfo\x12\x0f\n\x07ipv4Eid\x18\x1a \x01(\x08\x12\x38\n\x10\x61ssignedAdapters\x18\x1e \x03(\x0b\x32\x1e.org.lfedge.eve.info.ZioBundle\x12.\n\x05vinfo\x18\x1f \x01(\x0b\x32\x1d.org.lfedge.eve.info.ZInfoVpnH\x00\x12\x32\n\nnetworkErr\x18( \x03(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12\x39\n\x05state\x18) \x01(\x0e\x32*.org.lfedge.eve.info.ZNetworkInstanceState\x12\x0b\n\x03mtu\x18* \x01(\r\x12/\n\tip_routes\x18+ \x03(\x0b\x32\x1c.org.lfedge.eve.info.IPRouteB\r\n\x0bInfoContentJ\x04\x08\x18\x10\x19\"Z\n\x07IPRoute\x12\x1b\n\x13\x64\x65stination_network\x18\x01 \x01(\t\x12\x0f\n\x07gateway\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\t\x12\x13\n\x0bgateway_app\x18\x04 \x01(\t\"\x89\x01\n\tUsageInfo\x12.\n\ncreateTime\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08refCount\x18\x02 \x01(\r\x12:\n\x16lastRefcountChangeTime\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"=\n\x0fVolumeResources\x12\x14\n\x0cmaxSizeBytes\x18\x01 \x01(\x04\x12\x14\n\x0c\x63urSizeBytes\x18\x02 \x01(\x04\"\xaf\x02\n\x0bZInfoVolume\x12\x0c\n\x04uuid\x18\x01 \x01(\t\x12\x13\n\x0b\x64isplayName\x18\x02 \x01(\t\x12-\n\x05usage\x18\x03 \x01(\x0b\x32\x1e.org.lfedge.eve.info.UsageInfo\x12\x37\n\tresources\x18\x04 \x01(\x0b\x32$.org.lfedge.eve.info.VolumeResources\x12,\n\x05state\x18\x05 \x01(\x0e\x32\x1d.org.lfedge.eve.info.ZSwState\x12\x1a\n\x12progressPercentage\x18\x06 \x01(\r\x12\x31\n\tvolumeErr\x18\x07 \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12\x18\n\x10generation_count\x18\x08 \x01(\x03\"(\n\x10\x43ontentResources\x12\x14\n\x0c\x63urSizeBytes\x18\x01 \x01(\x04\"\xd9\x02\n\x10ZInfoContentTree\x12\x0c\n\x04uuid\x18\x01 \x01(\t\x12\x13\n\x0b\x64isplayName\x18\x02 \x01(\t\x12\x0e\n\x06sha256\x18\x03 \x01(\t\x12\x38\n\tresources\x18\x04 \x01(\x0b\x32%.org.lfedge.eve.info.ContentResources\x12-\n\x05usage\x18\x05 \x01(\x0b\x32\x1e.org.lfedge.eve.info.UsageInfo\x12,\n\x05state\x18\x06 \x01(\x0e\x32\x1d.org.lfedge.eve.info.ZSwState\x12\x1a\n\x12progressPercentage\x18\x07 \x01(\r\x12+\n\x03\x65rr\x18\x08 \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12\x18\n\x10\x63omponentShaList\x18\t \x03(\t\x12\x18\n\x10generation_count\x18\n \x01(\x03\"\xfb\x01\n\tZInfoBlob\x12\x0e\n\x06sha256\x18\x01 \x01(\t\x12\x38\n\tresources\x18\x02 \x01(\x0b\x32%.org.lfedge.eve.info.ContentResources\x12-\n\x05usage\x18\x03 \x01(\x0b\x32\x1e.org.lfedge.eve.info.UsageInfo\x12,\n\x05state\x18\x04 \x01(\x0e\x32\x1d.org.lfedge.eve.info.ZSwState\x12\x1a\n\x12progressPercentage\x18\x05 \x01(\r\x12+\n\x03\x65rr\x18\x06 \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\"=\n\rZInfoBlobList\x12,\n\x04\x62lob\x18\x01 \x03(\x0b\x32\x1e.org.lfedge.eve.info.ZInfoBlob\"\xfb\x07\n\x08ZInfoMsg\x12.\n\x05ztype\x18\x01 \x01(\x0e\x32\x1f.org.lfedge.eve.info.ZInfoTypes\x12\r\n\x05\x64\x65vId\x18\x02 \x01(\t\x12\x31\n\x05\x64info\x18\x03 \x01(\x0b\x32 .org.lfedge.eve.info.ZInfoDeviceH\x00\x12.\n\x05\x61info\x18\x05 \x01(\x0b\x32\x1d.org.lfedge.eve.info.ZInfoAppH\x00\x12;\n\x06niinfo\x18\x0c \x01(\x0b\x32).org.lfedge.eve.info.ZInfoNetworkInstanceH\x00\x12\x31\n\x05vinfo\x18\r \x01(\x0b\x32 .org.lfedge.eve.info.ZInfoVolumeH\x00\x12\x36\n\x05\x63info\x18\x0e \x01(\x0b\x32%.org.lfedge.eve.info.ZInfoContentTreeH\x00\x12\x33\n\x05\x62info\x18\x0f \x01(\x0b\x32\".org.lfedge.eve.info.ZInfoBlobListH\x00\x12<\n\x07\x61mdinfo\x18\x10 \x01(\x0b\x32).org.lfedge.eve.info.ZInfoAppInstMetaDataH\x00\x12\x34\n\x06\x65vinfo\x18\x11 \x01(\x0b\x32\".org.lfedge.eve.info.ZInfoEdgeviewH\x00\x12\x34\n\x06hwinfo\x18\x12 \x01(\x0b\x32\".org.lfedge.eve.info.ZInfoHardwareH\x00\x12\x35\n\x07locinfo\x18\x13 \x01(\x0b\x32\".org.lfedge.eve.info.ZInfoLocationH\x00\x12<\n\tpatchInfo\x18\x14 \x01(\x0b\x32\'.org.lfedge.eve.info.ZInfoPatchEnvelopeH\x00\x12=\n\x0c\x63luster_node\x18\x16 \x01(\x0b\x32%.org.lfedge.eve.info.ZInfoClusterNodeH\x00\x12;\n\x0bntp_sources\x18\x17 \x01(\x0b\x32$.org.lfedge.eve.info.ZInfoNTPSourcesH\x00\x12=\n\x0c\x63luster_info\x18\x18 \x01(\x0b\x32%.org.lfedge.eve.info.ZInfoKubeClusterH\x00\x12P\n\x13\x63luster_update_info\x18\x19 \x01(\x0b\x32\x31.org.lfedge.eve.info.ZInfoKubeClusterUpdateStatusH\x00\x12/\n\x0b\x61tTimeStamp\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\r\n\x0bInfoContentJ\x04\x08\x15\x10\x16\"J\n\x0c\x43\x61pabilities\x12 \n\x18HWAssistedVirtualization\x18\x02 \x01(\x08\x12\x18\n\x10IOVirtualization\x18\x03 \x01(\x08\"j\n\x14ZInfoAppInstMetaData\x12\x0c\n\x04uuid\x18\x01 \x01(\t\x12\x36\n\x04type\x18\x02 \x01(\x0e\x32(.org.lfedge.eve.info.AppInstMetaDataType\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"\xab\x01\n\rZInfoEdgeview\x12/\n\x0b\x65xpire_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0cstarted_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x11\n\tcount_dev\x18\x03 \x01(\r\x12\x11\n\tcount_app\x18\x04 \x01(\r\x12\x11\n\tcount_ext\x18\x05 \x01(\r\"\xd5\x02\n\rZInfoLocation\x12\x10\n\x08latitude\x18\x01 \x01(\x01\x12\x11\n\tlongitude\x18\x02 \x01(\x01\x12\x10\n\x08\x61ltitude\x18\x03 \x01(\x01\x12\x31\n\rutc_timestamp\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x43\n\x16horizontal_reliability\x18\x05 \x01(\x0e\x32#.org.lfedge.eve.info.LocReliability\x12\x41\n\x14vertical_reliability\x18\x06 \x01(\x0e\x32#.org.lfedge.eve.info.LocReliability\x12\x1e\n\x16horizontal_uncertainty\x18\x07 \x01(\x02\x12\x1c\n\x14vertical_uncertainty\x18\x08 \x01(\x02\x12\x14\n\x0clogicallabel\x18\t \x01(\t\"\xe4\x01\n\x1cZInfoKubeClusterUpdateStatus\x12\x14\n\x0c\x63urrent_node\x18\x01 \x01(\t\x12\x30\n\tcomponent\x18\x02 \x01(\x0e\x32\x1d.org.lfedge.eve.info.KubeComp\x12\x39\n\x06status\x18\x03 \x01(\x0e\x32).org.lfedge.eve.info.KubeCompUpdateStatus\x12-\n\x05\x65rror\x18\x04 \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12\x12\n\ncluster_id\x18\x05 \x01(\t\"\xc4\x02\n\x10ZInfoKubeCluster\x12\x30\n\x05nodes\x18\x01 \x03(\x0b\x32!.org.lfedge.eve.info.KubeNodeInfo\x12\x42\n\x0fpod_name_spaces\x18\x02 \x03(\x0b\x32).org.lfedge.eve.info.KubePodNameSpaceInfo\x12\x38\n\x08\x65ve_apps\x18\x03 \x03(\x0b\x32&.org.lfedge.eve.info.KubeEVEAppPodInfo\x12\x35\n\x07storage\x18\x04 \x01(\x0b\x32$.org.lfedge.eve.info.KubeStorageInfo\x12\x12\n\ncluster_id\x18\x05 \x01(\t\x12\x35\n\x0b\x65ve_vm_apps\x18\x06 \x03(\x0b\x32 .org.lfedge.eve.info.KubeVMIInfo\"\x88\x02\n\rZInfoHardware\x12\x37\n\x05\x64isks\x18\x01 \x03(\x0b\x32$.org.lfedge.eve.info.StorageDiskInfoB\x02\x18\x01\x12\x13\n\x0b\x65ve_release\x18\x02 \x01(\t\x12\x39\n\tinventory\x18\x03 \x01(\x0b\x32&.org.lfedge.eve.info.HardwareInventory\x12\x15\n\rkernel_flavor\x18\x04 \x01(\t\x12\x16\n\x0ekernel_version\x18\x05 \x01(\t\x12\x14\n\x0c\x65ve_platform\x18\x06 \x01(\t\x12\x11\n\tpartition\x18\x07 \x01(\t\x12\x16\n\x0ekernel_cmdline\x18\x08 \x01(\t*u\n\x11\x44\x65pMetricItemType\x12\x16\n\x12\x44\x65pMetricItemOther\x10\x00\x12\x16\n\x12\x44\x65pMetricItemGauge\x10\x01\x12\x18\n\x14\x44\x65pMetricItemCounter\x10\x02\x12\x16\n\x12\x44\x65pMetricItemState\x10\x03*\xb0\x02\n\nZInfoTypes\x12\t\n\x05ZiNop\x10\x00\x12\x0c\n\x08ZiDevice\x10\x01\x12\t\n\x05ZiApp\x10\x03\x12\x15\n\x11ZiNetworkInstance\x10\x06\x12\x0c\n\x08ZiVolume\x10\x07\x12\x11\n\rZiContentTree\x10\x08\x12\x0e\n\nZiBlobList\x10\t\x12\x15\n\x11ZiAppInstMetaData\x10\n\x12\x0e\n\nZiHardware\x10\x0b\x12\x0e\n\nZiEdgeview\x10\x0c\x12\x0e\n\nZiLocation\x10\r\x12\x13\n\x0fZiPatchEnvelope\x10\x0e\x12\x10\n\x0cZiNTPSources\x10\x10\x12\x11\n\rZiKubeCluster\x10\x11\x12\x1d\n\x19ZiKubeClusterUpdateStatus\x10\x12\"\x04\x08\x02\x10\x02\"\x04\x08\x04\x10\x04\"\x04\x08\x05\x10\x05\"\x04\x08\x0f\x10\x0f*\x91\x03\n\x08ZSwState\x12\x0b\n\x07INVALID\x10\x00\x12\x0b\n\x07INITIAL\x10\x01\x12\x14\n\x10\x44OWNLOAD_STARTED\x10\x02\x12\x0e\n\nDOWNLOADED\x10\x03\x12\r\n\tDELIVERED\x10\x04\x12\r\n\tINSTALLED\x10\x05\x12\x0b\n\x07\x42OOTING\x10\x06\x12\x0b\n\x07RUNNING\x10\x07\x12\x0b\n\x07HALTING\x10\x08\x12\n\n\x06HALTED\x10\t\x12\x0e\n\nRESTARTING\x10\n\x12\x0b\n\x07PURGING\x10\x0b\x12\x11\n\rRESOLVING_TAG\x10\x0c\x12\x10\n\x0cRESOLVED_TAG\x10\r\x12\x13\n\x0f\x43REATING_VOLUME\x10\x0e\x12\x12\n\x0e\x43REATED_VOLUME\x10\x0f\x12\r\n\tVERIFYING\x10\x10\x12\x0c\n\x08VERIFIED\x10\x11\x12\x0b\n\x07LOADING\x10\x12\x12\n\n\x06LOADED\x10\x13\x12\x18\n\x14\x41WAITNETWORKINSTANCE\x10\x14\x12\t\n\x05\x45RROR\x10\x15\x12\x11\n\rSTART_DELAYED\x10\x16\x12\x0b\n\x07PENDING\x10\x17\x12\x0e\n\nSCHEDULING\x10\x18*N\n\x16HwSecurityModuleStatus\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0c\n\x08NOTFOUND\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\x12\x0b\n\x07\x45NABLED\x10\x03*\x88\x01\n\x13\x44\x61taSecAtRestStatus\x12\x1b\n\x17\x44\x41TASEC_AT_REST_UNKNOWN\x10\x00\x12\x1c\n\x18\x44\x41TASEC_AT_REST_DISABLED\x10\x01\x12\x1b\n\x17\x44\x41TASEC_AT_REST_ENABLED\x10\x02\x12\x19\n\x15\x44\x41TASEC_AT_REST_ERROR\x10\x04*?\n\tPCRStatus\x12\x0f\n\x0bPCR_UNKNOWN\x10\x00\x12\x0f\n\x0bPCR_ENABLED\x10\x01\x12\x10\n\x0cPCR_DISABLED\x10\x02*M\n\x07SimType\x12\x18\n\x14SIM_TYPE_UNSPECIFIED\x10\x00\x12\x15\n\x11SIM_TYPE_PHYSICAL\x10\x01\x12\x11\n\rSIM_TYPE_ESIM\x10\x02*\xa0\x02\n\x17ZCellularOperatingState\x12*\n&Z_CELLULAR_OPERATING_STATE_UNSPECIFIED\x10\x00\x12&\n\"Z_CELLULAR_OPERATING_STATE_OFFLINE\x10\x01\x12(\n$Z_CELLULAR_OPERATING_STATE_RADIO_OFF\x10\x02\x12%\n!Z_CELLULAR_OPERATING_STATE_ONLINE\x10\x03\x12\x33\n/Z_CELLULAR_OPERATING_STATE_ONLINE_AND_CONNECTED\x10\x04\x12+\n\'Z_CELLULAR_OPERATING_STATE_UNRECOGNIZED\x10\x05*\x92\x01\n\x18ZCellularControlProtocol\x12+\n\'Z_CELLULAR_CONTROL_PROTOCOL_UNSPECIFIED\x10\x00\x12#\n\x1fZ_CELLULAR_CONTROL_PROTOCOL_QMI\x10\x01\x12$\n Z_CELLULAR_CONTROL_PROTOCOL_MBIM\x10\x02*\xb1\x02\n\x0cZDeviceState\x12\x1d\n\x19ZDEVICE_STATE_UNSPECIFIED\x10\x00\x12\x18\n\x14ZDEVICE_STATE_ONLINE\x10\x01\x12\x1b\n\x17ZDEVICE_STATE_REBOOTING\x10\x02\x12\"\n\x1eZDEVICE_STATE_MAINTENANCE_MODE\x10\x03\x12!\n\x1dZDEVICE_STATE_BASEOS_UPDATING\x10\x04\x12\x19\n\x15ZDEVICE_STATE_BOOTING\x10\x05\x12$\n ZDEVICE_STATE_PREPARING_POWEROFF\x10\x06\x12\x1e\n\x1aZDEVICE_STATE_POWERING_OFF\x10\x07\x12#\n\x1fZDEVICE_STATE_PREPARED_POWEROFF\x10\x08*\xf5\x01\n\rStorageStatus\x12\x1e\n\x1aSTORAGE_STATUS_UNSPECIFIED\x10\x00\x12\x19\n\x15STORAGE_STATUS_ONLINE\x10\x01\x12\x1b\n\x17STORAGE_STATUS_DEGRADED\x10\x02\x12\x1a\n\x16STORAGE_STATUS_FAULTED\x10\x03\x12\x1a\n\x16STORAGE_STATUS_OFFLINE\x10\x04\x12\x1a\n\x16STORAGE_STATUS_UNAVAIL\x10\x05\x12\x1a\n\x16STORAGE_STATUS_REMOVED\x10\x06\x12\x1c\n\x18STORAGE_STATUS_SUSPENDED\x10\x07*\xe3\x01\n\x0fStorageRaidType\x12!\n\x1dSTORAGE_RAID_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\x17STORAGE_RAID_TYPE_RAID0\x10\x01\x12\x1b\n\x17STORAGE_RAID_TYPE_RAID1\x10\x02\x12\x1b\n\x17STORAGE_RAID_TYPE_RAID5\x10\x03\x12\x1b\n\x17STORAGE_RAID_TYPE_RAID6\x10\x04\x12\x1b\n\x17STORAGE_RAID_TYPE_RAID7\x10\x05\x12\x1c\n\x18STORAGE_RAID_TYPE_NORAID\x10\x06*k\n\x0fStorageTypeInfo\x12!\n\x1dSTORAGE_TYPE_INFO_UNSPECIFIED\x10\x00\x12\x1a\n\x16STORAGE_TYPE_INFO_EXT4\x10\x01\x12\x19\n\x15STORAGE_TYPE_INFO_ZFS\x10\x02*\x87\x07\n\rAPICapability\x12\x1e\n\x1a\x41PI_CAPABILITY_UNSPECIFIED\x10\x00\x12\x1f\n\x1b\x41PI_CAPABILITY_RETRY_UPDATE\x10\x01\x12\x1b\n\x17\x41PI_CAPABILITY_SHUTDOWN\x10\x02\x12)\n%API_CAPABILITY_START_DELAY_IN_SECONDS\x10\x03\x12\x1b\n\x17\x41PI_CAPABILITY_EDGEVIEW\x10\x04\x12#\n\x1f\x41PI_CAPABILITY_VOLUME_SNAPSHOTS\x10\x05\x12+\n\'API_CAPABILITY_NETWORK_INSTANCE_ROUTING\x10\x06\x12\x1c\n\x18\x41PI_CAPABILITY_BOOT_MODE\x10\x07\x12\x16\n\x12\x41PI_CAPABILITY_MTU\x10\x08\x12&\n\"API_CAPABILITY_ADAPTER_USER_LABELS\x10\t\x12/\n+API_CAPABILITY_ENFORCED_NET_INTERFACE_ORDER\x10\n\x12\x1c\n\x18\x41PI_CAPABILITY_NTPS_FQDN\x10\x0b\x12&\n\"API_CAPABILITY_WIN_LIC_PASSTHROUGH\x10\x0c\x12-\n)API_CAPABILITY_VOLUME_SNAPSHOTS_IMMEDIATE\x10\r\x12+\n\'API_CAPABILITY_ENCRYPTED_PATCH_ENVELOPE\x10\x0e\x12*\n&API_CAPABILITY_SINGLE_STACK_IP_NETWORK\x10\x0f\x12)\n%API_CAPABILITY_CELLULAR_ATTACH_CONFIG\x10\x10\x12*\n&API_CAPABILITY_EDGEVIEW_AUTHENTICATION\x10\x11\x12\x1f\n\x1b\x41PI_CAPABILITY_DISABLE_VTPM\x10\x12\x12*\n&API_CAPABILITY_LOC_REBOOT_COLLECT_INFO\x10\x13\x12\x1f\n\x1b\x41PI_CAPABILITY_SMART_REPORT\x10\x14\x12&\n\"API_CAPABILITY_REPORT_TPM_EVENTLOG\x10\x15\x12\x34\n0API_CAPABILITY_APP_INSTANCE_NET_INTERFACE_CHANGE\x10\x16*\xb9\x03\n\nBootReason\x12\x1b\n\x17\x42OOT_REASON_UNSPECIFIED\x10\x00\x12\x15\n\x11\x42OOT_REASON_FIRST\x10\x01\x12\x1a\n\x16\x42OOT_REASON_REBOOT_CMD\x10\x02\x12\x16\n\x12\x42OOT_REASON_UPDATE\x10\x03\x12\x18\n\x14\x42OOT_REASON_FALLBACK\x10\x04\x12\x1a\n\x16\x42OOT_REASON_DISCONNECT\x10\x05\x12\x15\n\x11\x42OOT_REASON_FATAL\x10\x06\x12\x13\n\x0f\x42OOT_REASON_OOM\x10\x07\x12\x1d\n\x19\x42OOT_REASON_WATCHDOG_HUNG\x10\x08\x12\x1c\n\x18\x42OOT_REASON_WATCHDOG_PID\x10\t\x12\x16\n\x12\x42OOT_REASON_KERNEL\x10\n\x12\x1a\n\x16\x42OOT_REASON_POWER_FAIL\x10\x0b\x12\x17\n\x13\x42OOT_REASON_UNKNOWN\x10\x0c\x12\x1c\n\x18\x42OOT_REASON_VAULT_FAILED\x10\r\x12\x1c\n\x18\x42OOT_REASON_POWEROFF_CMD\x10\x0e\x12\x1b\n\x16\x42OOT_REASON_PARSE_FAIL\x10\xff\x01*\xd6\x02\n\x15MaintenanceModeReason\x12 \n\x1cMAINTENANCE_MODE_REASON_NONE\x10\x00\x12*\n&MAINTENANCE_MODE_REASON_USER_REQUESTED\x10\x01\x12+\n\'MAINTENANCE_MODE_REASON_VAULT_LOCKED_UP\x10\x02\x12*\n&MAINTENANCE_MODE_REASON_LOW_DISK_SPACE\x10\x03\x12\x32\n.MAINTENANCE_MODE_REASON_TPM_ENCRYPTION_FAILURE\x10\x04\x12-\n)MAINTENANCE_MODE_REASON_TPM_QUOTE_FAILURE\x10\x05\x12\x33\n/MAINTENANCE_MODE_REASON_EDGE_NODE_CERTS_REFUSED\x10\x06*\xb5\x02\n\x10\x41ttestationState\x12!\n\x1d\x41TTESTATION_STATE_UNSPECIFIED\x10\x00\x12 \n\x1c\x41TTESTATION_STATE_NONCE_WAIT\x10\x01\x12$\n ATTESTATION_STATE_TPM_QUOTE_WAIT\x10\x02\x12%\n!ATTESTATION_STATE_TPM_ESCROW_WAIT\x10\x03\x12!\n\x1d\x41TTESTATION_STATE_ATTEST_WAIT\x10\x04\x12(\n$ATTESTATION_STATE_ATTEST_ESCROW_WAIT\x10\x05\x12\"\n\x1e\x41TTESTATION_STATE_RESTART_WAIT\x10\x06\x12\x1e\n\x1a\x41TTESTATION_STATE_COMPLETE\x10\x07*\x8b\x01\n\x13\x41ppInstMetaDataType\x12 \n\x1c\x41PP_INST_META_DATA_TYPE_NONE\x10\x00\x12\'\n#APP_INST_META_DATA_TYPE_KUBE_CONFIG\x10\x01\x12)\n%APP_INST_META_DATA_TYPE_CUSTOM_STATUS\x10\x02*a\n\x0cWirelessType\x12\x1d\n\x19WIRELESS_TYPE_UNSPECIFIED\x10\x00\x12\x16\n\x12WIRELESS_TYPE_WIFI\x10\x01\x12\x1a\n\x16WIRELESS_TYPE_CELLULAR\x10\x02*q\n\x0c\x42\x61seOsStatus\x12\x08\n\x04NONE\x10\x00\x12\x0f\n\x0b\x44OWNLOADING\x10\x01\x12\x11\n\rDOWNLOAD_DONE\x10\x02\x12\x0c\n\x08UPDATING\x10\x03\x12\x0b\n\x07UPDATED\x10\x04\x12\x0c\n\x08\x46\x41LLBACK\x10\x05\x12\n\n\x06\x46\x41ILED\x10\x06*\xcb\x01\n\x0f\x42\x61seOsSubStatus\x12\x12\n\x0eNONE_SUBSTATUS\x10\x00\x12\x17\n\x13\x44OWNLOAD_INPROGRESS\x10\x01\x12\x15\n\x11VERIFY_INPROGRESS\x10\x02\x12\x17\n\x13UPDATE_INITIALIZING\x10\x03\x12\x14\n\x10UPDATE_REBOOTING\x10\x04\x12\x12\n\x0eUPDATE_TESTING\x10\x05\x12\x1c\n\x18UPDATE_NEED_TEST_CONFIRM\x10\x06\x12\x13\n\x0fUPDATE_DEFERRED\x10\x07*h\n\x0cSnapshotType\x12\x1d\n\x19SNAPSHOT_TYPE_UNSPECIFIED\x10\x00\x12\x1c\n\x18SNAPSHOT_TYPE_APP_UPDATE\x10\x01\x12\x1b\n\x17SNAPSHOT_TYPE_IMMEDIATE\x10\x02*\xb8\x01\n\x16ZInfoClusterNodeStatus\x12*\n&Z_INFO_CLUSTER_NODE_STATUS_UNSPECIFIED\x10\x00\x12$\n Z_INFO_CLUSTER_NODE_STATUS_READY\x10\x01\x12\'\n#Z_INFO_CLUSTER_NODE_STATUS_NOTREADY\x10\x02\x12#\n\x1fZ_INFO_CLUSTER_NODE_STATUS_DOWN\x10\x03*\x8f\x01\n\rZInfoVpnState\x12\x0f\n\x0bVPN_INVALID\x10\x00\x12\x0f\n\x0bVPN_INITIAL\x10\x01\x12\x12\n\x0eVPN_CONNECTING\x10\x02\x12\x13\n\x0fVPN_ESTABLISHED\x10\x03\x12\x11\n\rVPN_INSTALLED\x10\x04\x12\x0f\n\x0bVPN_REKEYED\x10\x05\x12\x0f\n\x0bVPN_DELETED\x10\n*\x85\x01\n\x15ZNetworkInstanceState\x12\x1e\n\x1aZNETINST_STATE_UNSPECIFIED\x10\x00\x12\x17\n\x13ZNETINST_STATE_INIT\x10\x01\x12\x19\n\x15ZNETINST_STATE_ONLINE\x10\x02\x12\x18\n\x14ZNETINST_STATE_ERROR\x10\x03*\x9e\x01\n\x0eLocReliability\x12\x1f\n\x1bLOC_RELIABILITY_UNSPECIFIED\x10\x00\x12\x1c\n\x18LOC_RELIABILITY_VERY_LOW\x10\x01\x12\x17\n\x13LOC_RELIABILITY_LOW\x10\x02\x12\x1a\n\x16LOC_RELIABILITY_MEDIUM\x10\x03\x12\x18\n\x14LOC_RELIABILITY_HIGH\x10\x04\x42\x39\n\x13org.lfedge.eve.infoZ\"github.com/lf-edge/eve-api/go/infob\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0finfo/info.proto\x12\x13org.lfedge.eve.info\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1e\x65vecommon/devmodelcommon.proto\x1a\x19\x65vecommon/evecommon.proto\x1a\x16\x65vecommon/netcmn.proto\x1a\x19info/patch_envelope.proto\x1a\x15info/ntpsources.proto\x1a\x1cinfo/edge_node_cluster.proto\x1a\x13info/hardware.proto\x1a\x0finfo/bond.proto\x1a\x0finfo/pnac.proto\x1a\x0finfo/cert.proto\x1a\x11info/common.proto\"\x93\x01\n\tSmartAttr\x12\n\n\x02id\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\x04\x12\r\n\x05worst\x18\x03 \x01(\x04\x12\x0e\n\x06thresh\x18\x04 \x01(\x04\x12\x13\n\x0bwhen_failed\x18\x05 \x01(\t\x12\x11\n\traw_value\x18\x06 \x01(\x04\x12\x0c\n\x04type\x18\x07 \x01(\t\x12\x16\n\x0e\x61ttribute_name\x18\x08 \x01(\t\"\xab\x01\n\x0fStorageDiskInfo\x12\x11\n\tdisk_name\x18\x01 \x01(\t\x12\x0b\n\x03wwn\x18\x04 \x01(\t\x12\x15\n\rserial_number\x18\x05 \x01(\t\x12\r\n\x05model\x18\x06 \x01(\t\x12\x18\n\x10\x63ollector_errors\x18\x07 \x01(\t\x12\x32\n\nsmart_attr\x18\x08 \x03(\x0b\x32\x1e.org.lfedge.eve.info.SmartAttrJ\x04\x08\x03\x10\x04\"\xdc\x01\n\x14\x64\x65precatedMetricItem\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x34\n\x04type\x18\x02 \x01(\x0e\x32&.org.lfedge.eve.info.DepMetricItemType\x12\x13\n\tboolValue\x18\x03 \x01(\x08H\x00\x12\x15\n\x0buint32Value\x18\x04 \x01(\rH\x00\x12\x15\n\x0buint64Value\x18\x05 \x01(\x04H\x00\x12\x14\n\nfloatValue\x18\x06 \x01(\x02H\x00\x12\x15\n\x0bstringValue\x18\x07 \x01(\tH\x00\x42\x11\n\x0fmetricItemValue\">\n\x15ZmetIPAssignmentEntry\x12\x12\n\nmacAddress\x18\x01 \x01(\t\x12\x11\n\tipAddress\x18\x02 \x03(\t\"A\n\x0bZmetVifInfo\x12\x0f\n\x07vifName\x18\x01 \x01(\t\x12\x12\n\nmacAddress\x18\x02 \x01(\t\x12\r\n\x05\x61ppID\x18\x03 \x01(\t\"\xa5\x02\n\tZioBundle\x12.\n\x04type\x18\x01 \x01(\x0e\x32 .org.lfedge.eve.common.PhyIoType\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07members\x18\x03 \x03(\t\x12\x15\n\rusedByAppUUID\x18\x04 \x01(\t\x12\x14\n\x0cusedByBaseOS\x18\x05 \x01(\x08\x12\x37\n\rioAddressList\x18\x06 \x03(\x0b\x32 .org.lfedge.eve.info.IoAddresses\x12\x36\n\x05usage\x18\x07 \x01(\x0e\x32\'.org.lfedge.eve.common.PhyIoMemberUsage\x12+\n\x03\x65rr\x18\x08 \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\"X\n\x0bIoAddresses\x12\x12\n\nmacAddress\x18\x01 \x01(\t\x12\x35\n\x07vf_info\x18\x02 \x01(\x0b\x32$.org.lfedge.eve.info.VfPublishedInfo\"1\n\x0fVfPublishedInfo\x12\r\n\x05index\x18\x01 \x01(\r\x12\x0f\n\x07vlan_id\x18\x02 \x01(\r\"\xc9\x01\n\x11ZInfoManufacturer\x12\x14\n\x0cmanufacturer\x18\x01 \x01(\t\x12\x13\n\x0bproductName\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\t\x12\x14\n\x0cserialNumber\x18\x04 \x01(\t\x12\x0c\n\x04UUID\x18\x05 \x01(\t\x12\x12\n\ncompatible\x18\x06 \x01(\t\x12\x12\n\nbiosVendor\x18\x07 \x01(\t\x12\x13\n\x0b\x62iosVersion\x18\x08 \x01(\t\x12\x17\n\x0f\x62iosReleaseDate\x18\t \x01(\t\"\x8c\x03\n\x0cZInfoNetwork\x12\x0f\n\x07macAddr\x18\x03 \x01(\t\x12\x0f\n\x07\x64\x65vName\x18\x04 \x01(\t\x12\r\n\x05\x61lias\x18( \x01(\t\x12\x0f\n\x07IPAddrs\x18\x05 \x03(\t\x12\x16\n\x0e\x64\x65\x66\x61ultRouters\x18\x06 \x03(\t\x12*\n\x03\x64ns\x18\x07 \x01(\x0b\x32\x1d.org.lfedge.eve.info.ZInfoDNS\x12\x0f\n\x07ipv4_up\x18\x08 \x01(\x08\x12-\n\x08location\x18\t \x01(\x0b\x32\x1b.org.lfedge.eve.info.GeoLoc\x12\x0e\n\x06uplink\x18\n \x01(\x08\x12\x32\n\nnetworkErr\x18\x0b \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12\x11\n\tlocalName\x18\x0c \x01(\t\x12/\n\x05proxy\x18\r \x01(\x0b\x32 .org.lfedge.eve.info.ProxyStatus\x12\x19\n\x11ip_addr_mis_match\x18\x0e \x01(\x08\x12\x13\n\x0bntp_servers\x18\x0f \x03(\t\"\x87\x01\n\x06GeoLoc\x12\x12\n\nUnderlayIP\x18\x01 \x01(\t\x12\x10\n\x08Hostname\x18\x02 \x01(\t\x12\x0c\n\x04\x43ity\x18\x03 \x01(\t\x12\x0e\n\x06Region\x18\x04 \x01(\t\x12\x0f\n\x07\x43ountry\x18\x05 \x01(\t\x12\x0b\n\x03Loc\x18\x06 \x01(\t\x12\x0b\n\x03Org\x18\x07 \x01(\t\x12\x0e\n\x06Postal\x18\x08 \x01(\t\"D\n\x08ZInfoDNS\x12\x12\n\nDNSservers\x18\x01 \x03(\t\x12\x11\n\tDNSdomain\x18\x02 \x01(\t\x12\x11\n\tDNSsearch\x18\x03 \x03(\t\"\xa5\x01\n\x07ZInfoSW\x12\x11\n\tswVersion\x18\x02 \x01(\t\x12\x0e\n\x06swHash\x18\x03 \x01(\t\x12,\n\x05state\x18\x04 \x01(\x0e\x32\x1d.org.lfedge.eve.info.ZSwState\x12\x0e\n\x06target\x18\x06 \x01(\t\x12\x0c\n\x04vdev\x18\x07 \x01(\t\x12\x18\n\x10\x64ownloadProgress\x18\x08 \x01(\r\x12\x11\n\timageName\x18\t \x01(\t\"\xb8\x01\n\tVaultInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x38\n\x06status\x18\x02 \x01(\x0e\x32(.org.lfedge.eve.info.DataSecAtRestStatus\x12\x30\n\x08vaultErr\x18\x03 \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12\x31\n\tpcrStatus\x18\x04 \x01(\x0e\x32\x1e.org.lfedge.eve.info.PCRStatus\"\x8a\x01\n\rDataSecAtRest\x12\x38\n\x06status\x18\x01 \x01(\x0e\x32(.org.lfedge.eve.info.DataSecAtRestStatus\x12\x0c\n\x04info\x18\x02 \x01(\t\x12\x31\n\tvaultList\x18\x03 \x03(\x0b\x32\x1e.org.lfedge.eve.info.VaultInfo\"<\n\x0cSecurityInfo\x12\x13\n\x0bsha_root_ca\x18\x01 \x01(\x0c\x12\x17\n\x0fsha_tls_root_ca\x18\x02 \x01(\x0c\"/\n\x0fZInfoConfigItem\x12\r\n\x05value\x18\x01 \x01(\t\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\x84\x03\n\x15ZInfoConfigItemStatus\x12P\n\x0b\x63onfigItems\x18\x01 \x03(\x0b\x32;.org.lfedge.eve.info.ZInfoConfigItemStatus.ConfigItemsEntry\x12^\n\x12unknownConfigItems\x18\x02 \x03(\x0b\x32\x42.org.lfedge.eve.info.ZInfoConfigItemStatus.UnknownConfigItemsEntry\x1aX\n\x10\x43onfigItemsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x33\n\x05value\x18\x02 \x01(\x0b\x32$.org.lfedge.eve.info.ZInfoConfigItem:\x02\x38\x01\x1a_\n\x17UnknownConfigItemsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x33\n\x05value\x18\x02 \x01(\x0b\x32$.org.lfedge.eve.info.ZInfoConfigItem:\x02\x38\x01\"B\n\x10ZInfoAppInstance\x12\x0c\n\x04uuid\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\ndomainName\x18\x03 \x01(\t\"3\n\x10ZInfoDeviceTasks\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tnamespace\x18\x02 \x01(\t\"\xc1\x01\n\x0cZSimcardInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10\x63\x65ll_module_name\x18\x02 \x01(\t\x12\x0c\n\x04imsi\x18\x03 \x01(\t\x12\r\n\x05iccid\x18\x04 \x01(\t\x12\r\n\x05state\x18\x06 \x01(\t\x12\x13\n\x0bslot_number\x18\x07 \x01(\r\x12\x16\n\x0eslot_activated\x18\x08 \x01(\x08\x12*\n\x04type\x18\t \x01(\x0e\x32\x1c.org.lfedge.eve.info.SimTypeJ\x04\x08\x05\x10\x06\"\x80\x02\n\x13ZCellularModuleInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04imei\x18\x02 \x01(\t\x12\x18\n\x10\x66irmware_version\x18\x03 \x01(\t\x12\r\n\x05model\x18\x04 \x01(\t\x12\x45\n\x0foperating_state\x18\x05 \x01(\x0e\x32,.org.lfedge.eve.info.ZCellularOperatingState\x12G\n\x10\x63ontrol_protocol\x18\x06 \x01(\x0e\x32-.org.lfedge.eve.info.ZCellularControlProtocol\x12\x14\n\x0cmanufacturer\x18\x07 \x01(\t\"s\n\x11ZCellularProvider\x12\x0c\n\x04plmn\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x17\n\x0f\x63urrent_serving\x18\x03 \x01(\x08\x12\x0f\n\x07roaming\x18\x04 \x01(\x08\x12\x11\n\tforbidden\x18\x05 \x01(\x08\"\xec\x01\n\x0e\x43\x65llularBearer\x12\x0b\n\x03\x61pn\x18\x01 \x01(\t\x12\x36\n\x0b\x62\x65\x61rer_type\x18\x02 \x01(\x0e\x32!.org.lfedge.eve.common.BearerType\x12\x36\n\x07ip_type\x18\x03 \x01(\x0e\x32%.org.lfedge.eve.common.CellularIPType\x12\x11\n\tconnected\x18\x04 \x01(\x08\x12\x18\n\x10\x63onnection_error\x18\x05 \x01(\t\x12\x30\n\x0c\x63onnected_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xbc\x01\n\x0f\x43\x65llularProfile\x12\x14\n\x0cprofile_name\x18\x01 \x01(\t\x12\x0b\n\x03\x61pn\x18\x02 \x01(\t\x12\x36\n\x0b\x62\x65\x61rer_type\x18\x03 \x01(\x0e\x32!.org.lfedge.eve.common.BearerType\x12\x36\n\x07ip_type\x18\x04 \x01(\x0e\x32%.org.lfedge.eve.common.CellularIPType\x12\x16\n\x0e\x66orbid_roaming\x18\x05 \x01(\x08\"\xa6\x01\n\x10StorageDiskState\x12\x39\n\tdisk_name\x18\x01 \x01(\x0b\x32&.org.lfedge.eve.common.DiskDescription\x12\x32\n\x06status\x18\x02 \x01(\x0e\x32\".org.lfedge.eve.info.StorageStatus\x12\r\n\x05state\x18\x03 \x01(\t\x12\x14\n\x0csmart_status\x18\x04 \x01(\t\"\xe2\x01\n\x0fStorageChildren\x12:\n\x0c\x63urrent_raid\x18\x01 \x01(\x0e\x32$.org.lfedge.eve.info.StorageRaidType\x12\x34\n\x05\x64isks\x18\x02 \x03(\x0b\x32%.org.lfedge.eve.info.StorageDiskState\x12\x36\n\x08\x63hildren\x18\x03 \x03(\x0b\x32$.org.lfedge.eve.info.StorageChildren\x12\x14\n\x0c\x64isplay_name\x18\x04 \x01(\t\x12\x0f\n\x07g_u_i_d\x18\x05 \x01(\x04\"\xcd\x03\n\x0bStorageInfo\x12\x11\n\tpool_name\x18\x01 \x01(\t\x12:\n\x0cstorage_type\x18\x02 \x01(\x0e\x32$.org.lfedge.eve.info.StorageTypeInfo\x12\x13\n\x0bzfs_version\x18\x03 \x01(\t\x12:\n\x0c\x63urrent_raid\x18\x04 \x01(\x0e\x32$.org.lfedge.eve.info.StorageRaidType\x12\x19\n\x11\x63ompression_ratio\x18\x05 \x01(\x01\x12\x12\n\nzpool_size\x18\x06 \x01(\x04\x12\x13\n\x0b\x63ount_zvols\x18\x07 \x01(\r\x12\x39\n\rstorage_state\x18\x08 \x01(\x0e\x32\".org.lfedge.eve.info.StorageStatus\x12\x34\n\x05\x64isks\x18\t \x03(\x0b\x32%.org.lfedge.eve.info.StorageDiskState\x12\x18\n\x10\x63ollector_errors\x18\n \x01(\t\x12\x36\n\x08\x63hildren\x18\x0b \x03(\x0b\x32$.org.lfedge.eve.info.StorageChildren\x12\x17\n\x0fpool_status_msg\x18\x0c \x01(\t\"\xe6\x11\n\x0bZInfoDevice\x12\x13\n\x0bmachineArch\x18\x04 \x01(\t\x12\x0f\n\x07\x63puArch\x18\x05 \x01(\t\x12\x10\n\x08platform\x18\x06 \x01(\t\x12\x0c\n\x04ncpu\x18\x07 \x01(\r\x12\x0e\n\x06memory\x18\x08 \x01(\x04\x12\x0f\n\x07storage\x18\t \x01(\x04\x12\x19\n\x11powerCycleCounter\x18\n \x01(\x03\x12\x35\n\x05minfo\x18\x0b \x01(\x0b\x32&.org.lfedge.eve.info.ZInfoManufacturer\x12\x32\n\x07network\x18\r \x03(\x0b\x32!.org.lfedge.eve.info.ZInfoNetwork\x12:\n\x12\x61ssignableAdapters\x18\x0f \x03(\x0b\x32\x1e.org.lfedge.eve.info.ZioBundle\x12*\n\x03\x64ns\x18\x10 \x01(\x0b\x32\x1d.org.lfedge.eve.info.ZInfoDNS\x12\x36\n\x0bstorageList\x18\x11 \x03(\x0b\x32!.org.lfedge.eve.info.ZInfoStorage\x12,\n\x08\x62ootTime\x18\x12 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x06swList\x18\x13 \x03(\x0b\x32\x1f.org.lfedge.eve.info.ZInfoDevSW\x12\x10\n\x08HostName\x18\x14 \x01(\t\x12>\n\x0bmetricItems\x18\x15 \x03(\x0b\x32).org.lfedge.eve.info.deprecatedMetricItem\x12\x18\n\x10lastRebootReason\x18\x16 \x01(\t\x12\x32\n\x0elastRebootTime\x18\x17 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12=\n\rsystemAdapter\x18\x18 \x01(\x0b\x32&.org.lfedge.eve.info.SystemAdapterInfo\x12\x16\n\x0erestartCounter\x18\x19 \x01(\r\x12>\n\tHSMStatus\x18\x1a \x01(\x0e\x32+.org.lfedge.eve.info.HwSecurityModuleStatus\x12\x0f\n\x07HSMInfo\x18\x1b \x01(\t\x12\x17\n\x0flastRebootStack\x18\x1c \x01(\t\x12=\n\x11\x64\x61taSecAtRestInfo\x18\x1d \x01(\x0b\x32\".org.lfedge.eve.info.DataSecAtRest\x12\x33\n\x08sec_info\x18\x1e \x01(\x0b\x32!.org.lfedge.eve.info.SecurityInfo\x12\x44\n\x10\x63onfigItemStatus\x18\x1f \x01(\x0b\x32*.org.lfedge.eve.info.ZInfoConfigItemStatus\x12;\n\x0c\x61ppInstances\x18 \x03(\x0b\x32%.org.lfedge.eve.info.ZInfoAppInstance\x12\x1b\n\x13rebootConfigCounter\x18! \x01(\r\x12\x39\n\x10last_boot_reason\x18\" \x01(\x0e\x32\x1f.org.lfedge.eve.info.BootReason\x12=\n\x0b\x63\x65ll_radios\x18# \x03(\x0b\x32(.org.lfedge.eve.info.ZCellularModuleInfo\x12/\n\x04sims\x18$ \x03(\x0b\x32!.org.lfedge.eve.info.ZSimcardInfo\x12\x34\n\x05tasks\x18% \x03(\x0b\x32%.org.lfedge.eve.info.ZInfoDeviceTasks\x12\x18\n\x10maintenance_mode\x18& \x01(\x08\x12O\n\x17maintenance_mode_reason\x18\' \x01(\x0e\x32*.org.lfedge.eve.info.MaintenanceModeReasonB\x02\x18\x01\x12!\n\x19hardware_watchdog_present\x18( \x01(\x08\x12\x19\n\x11reboot_inprogress\x18) \x01(\x08\x12\x37\n\x0c\x63\x61pabilities\x18* \x01(\x0b\x32!.org.lfedge.eve.info.Capabilities\x12\x1d\n\x15\x62\x61seos_update_counter\x18+ \x01(\r\x12\x30\n\x05state\x18, \x01(\x0e\x32!.org.lfedge.eve.info.ZDeviceState\x12\x15\n\rlocal_profile\x18- \x01(\t\x12L\n\x18maintenance_mode_reasons\x18. \x03(\x0e\x32*.org.lfedge.eve.info.MaintenanceModeReason\x12\x18\n\x0c\x64ormant_time\x18/ \x01(\tB\x02\x18\x01\x12\x36\n\x0cstorage_info\x18\x30 \x03(\x0b\x32 .org.lfedge.eve.info.StorageInfo\x12\x1f\n\x17shutdown_config_counter\x18\x31 \x01(\r\x12>\n\x10\x61ttestation_info\x18\x32 \x01(\x0b\x32$.org.lfedge.eve.info.AttestationInfo\x12:\n\x0e\x61pi_capability\x18\x33 \x01(\x0e\x32\".org.lfedge.eve.info.APICapability\x12\x1e\n\x16remote_access_disabled\x18\x34 \x01(\x08\x12H\n\x15optional_capabilities\x18\x35 \x01(\x0b\x32).org.lfedge.eve.info.OptionalCapabilities\x12\x13\n\x0b\x64\x65vice_name\x18\x36 \x01(\t\x12\x17\n\x0f\x65nterprise_name\x18\x37 \x01(\t\x12\x15\n\renterprise_id\x18\x38 \x01(\t\x12\x14\n\x0cproject_name\x18\x39 \x01(\t\x12\x12\n\nproject_id\x18: \x01(\t\x12\x35\n\x0e\x65nrolled_certs\x18< \x03(\x0b\x32\x1d.org.lfedge.eve.info.CertInfo\"\x84\x01\n\x14OptionalCapabilities\x12\x18\n\x10hv_type_kubevirt\x18\x01 \x01(\x08\x12\x1c\n\x14hw_inventory_support\x18\x02 \x01(\x08\x12\x15\n\retcd_snapshot\x18\x03 \x01(\x08\x12\x1d\n\x15managed_cpu_isolation\x18\x04 \x01(\x08\"v\n\x0f\x41ttestationInfo\x12\x34\n\x05state\x18\x01 \x01(\x0e\x32%.org.lfedge.eve.info.AttestationState\x12-\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\"`\n\x11SystemAdapterInfo\x12\x14\n\x0c\x63urrentIndex\x18\x01 \x01(\r\x12\x35\n\x06status\x18\x02 \x03(\x0b\x32%.org.lfedge.eve.info.DevicePortStatus\"\x88\x02\n\x10\x44\x65vicePortStatus\x12\x0f\n\x07version\x18\x01 \x01(\r\x12\x0b\n\x03key\x18\x02 \x01(\t\x12\x30\n\x0ctimePriority\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nlastFailed\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x31\n\rlastSucceeded\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\x05ports\x18\x06 \x03(\x0b\x32\x1f.org.lfedge.eve.info.DevicePort\x12\x11\n\tlastError\x18\x07 \x01(\t\"\xce\x06\n\nDevicePort\x12\x0e\n\x06ifname\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06isMgmt\x18\x03 \x01(\x08\x12\x0c\n\x04\x66ree\x18\x04 \x01(\x08\x12\x10\n\x08\x64hcpType\x18\x0b \x01(\r\x12\x0e\n\x06subnet\x18\x0c \x01(\t\x12\x0f\n\x07gateway\x18\r \x01(\t\x12\x12\n\ndomainname\x18\x0e \x01(\t\x12\x11\n\tntpServer\x18\x0f \x01(\t\x12\x18\n\x10more_ntp_servers\x18# \x03(\t\x12\x12\n\ndnsServers\x18\x10 \x03(\t\x12\x14\n\x0c\x64hcpRangeLow\x18\x11 \x01(\t\x12\x15\n\rdhcpRangeHigh\x18\x12 \x01(\t\x12/\n\x05proxy\x18\x15 \x01(\x0b\x32 .org.lfedge.eve.info.ProxyStatus\x12\x0f\n\x07macAddr\x18\x16 \x01(\t\x12\x0f\n\x07IPAddrs\x18\x17 \x03(\t\x12\x16\n\x0e\x64\x65\x66\x61ultRouters\x18\x18 \x03(\t\x12*\n\x03\x64ns\x18\x19 \x01(\x0b\x32\x1d.org.lfedge.eve.info.ZInfoDNS\x12\n\n\x02up\x18\x1a \x01(\x08\x12-\n\x08location\x18\x1b \x01(\x0b\x32\x1b.org.lfedge.eve.info.GeoLoc\x12+\n\x03\x65rr\x18\x1d \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12\x36\n\x05usage\x18\x1e \x01(\x0e\x32\'.org.lfedge.eve.common.PhyIoMemberUsage\x12\x13\n\x0bnetworkUUID\x18\x1f \x01(\t\x12\x0c\n\x04\x63ost\x18 \x01(\r\x12<\n\x0fwireless_status\x18! \x01(\x0b\x32#.org.lfedge.eve.info.WirelessStatus\x12\x0b\n\x03mtu\x18\" \x01(\r\x12>\n\rconfig_source\x18( \x01(\x0b\x32\'.org.lfedge.eve.common.PortConfigSource\x12\x34\n\x0bpnac_status\x18\x32 \x01(\x0b\x32\x1f.org.lfedge.eve.info.PNACStatus\x12\x34\n\x0b\x62ond_status\x18< \x01(\x0b\x32\x1f.org.lfedge.eve.info.BondStatus\"\xaa\x01\n\x0bProxyStatus\x12\x30\n\x07proxies\x18\x01 \x03(\x0b\x32\x1f.org.lfedge.eve.info.ProxyEntry\x12\x12\n\nexceptions\x18\x02 \x01(\t\x12\x0f\n\x07pacfile\x18\x03 \x01(\t\x12\x1a\n\x12networkProxyEnable\x18\x04 \x01(\x08\x12\x17\n\x0fnetworkProxyURL\x18\x05 \x01(\t\x12\x0f\n\x07wpadURL\x18\x06 \x01(\t\"8\n\nProxyEntry\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06server\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\r\"y\n\x0eWirelessStatus\x12/\n\x04type\x18\x01 \x01(\x0e\x32!.org.lfedge.eve.info.WirelessType\x12\x36\n\x08\x63\x65llular\x18\x02 \x01(\x0b\x32$.org.lfedge.eve.info.ZCellularStatus\"\x87\x03\n\x0fZCellularStatus\x12\x17\n\x0f\x63\x65llular_module\x18\x01 \x01(\t\x12\x11\n\tsim_cards\x18\x02 \x03(\t\x12\x39\n\tproviders\x18\x03 \x03(\x0b\x32&.org.lfedge.eve.info.ZCellularProvider\x12\x42\n\x0c\x63urrent_rats\x18\x04 \x03(\x0e\x32,.org.lfedge.eve.common.RadioAccessTechnology\x12\x30\n\x0c\x63onnected_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x14\n\x0c\x63onfig_error\x18\n \x01(\t\x12\x13\n\x0bprobe_error\x18\x0b \x01(\t\x12\x34\n\x07\x62\x65\x61rers\x18\x0c \x03(\x0b\x32#.org.lfedge.eve.info.CellularBearer\x12\x36\n\x08profiles\x18\r \x03(\x0b\x32$.org.lfedge.eve.info.CellularProfile\"\xac\x03\n\nZInfoDevSW\x12\x11\n\tactivated\x18\x02 \x01(\x08\x12\x16\n\x0epartitionLabel\x18\x03 \x01(\t\x12\x17\n\x0fpartitionDevice\x18\x04 \x01(\t\x12\x16\n\x0epartitionState\x18\x05 \x01(\t\x12-\n\x06status\x18\x06 \x01(\x0e\x32\x1d.org.lfedge.eve.info.ZSwState\x12\x14\n\x0cshortVersion\x18\x07 \x01(\t\x12\x13\n\x0blongVersion\x18\x08 \x01(\t\x12-\n\x05swErr\x18\t \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12\x18\n\x10\x64ownloadProgress\x18\n \x01(\r\x12\x35\n\nuserStatus\x18\x0b \x01(\x0e\x32!.org.lfedge.eve.info.BaseOsStatus\x12\x14\n\x0csubStatusStr\x18\x0c \x01(\t\x12\x37\n\tsubStatus\x18\r \x01(\x0e\x32$.org.lfedge.eve.info.BaseOsSubStatus\x12\x19\n\x11subStatusProgress\x18\x0e \x01(\r\"\xa3\x01\n\x0cZInfoStorage\x12\x0e\n\x06\x64\x65vice\x18\x01 \x01(\t\x12\x11\n\tmountPath\x18\x02 \x01(\t\x12\r\n\x05total\x18\x03 \x01(\x04\x12\x17\n\x0fstorageLocation\x18\x04 \x01(\x08\x12\x16\n\x0epartitionLabel\x18\x05 \x01(\t\x12\x19\n\x11partitionTypeGuid\x18\x06 \x01(\t\x12\x15\n\rpartitionUuid\x18\x07 \x01(\t\"\xda\x01\n\rZInfoSnapshot\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\tconfig_id\x18\x02 \x01(\t\x12\x16\n\x0e\x63onfig_version\x18\x03 \x01(\t\x12/\n\x0b\x63reate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x04type\x18\x05 \x01(\x0e\x32!.org.lfedge.eve.info.SnapshotType\x12\x30\n\x08snap_err\x18\x06 \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\"T\n\x10ZInfoClusterNode\x12@\n\x0bnode_status\x18\x01 \x01(\x0e\x32+.org.lfedge.eve.info.ZInfoClusterNodeStatus\"\xf3\x03\n\x08ZInfoApp\x12\r\n\x05\x41ppID\x18\x01 \x01(\t\x12\x12\n\nappVersion\x18\x02 \x01(\t\x12\x11\n\tsystemApp\x18\x06 \x01(\x08\x12\x0f\n\x07\x41ppName\x18\x07 \x01(\t\x12\x32\n\x0csoftwareList\x18\x08 \x03(\x0b\x32\x1c.org.lfedge.eve.info.ZInfoSW\x12,\n\x08\x62ootTime\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x38\n\x10\x61ssignedAdapters\x18\r \x03(\x0b\x32\x1e.org.lfedge.eve.info.ZioBundle\x12.\n\x06\x61ppErr\x18\x0e \x03(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12,\n\x05state\x18\x0f \x01(\x0e\x32\x1d.org.lfedge.eve.info.ZSwState\x12\x32\n\x07network\x18\x10 \x03(\x0b\x32!.org.lfedge.eve.info.ZInfoNetwork\x12\x12\n\nvolumeRefs\x18\x11 \x03(\t\x12\x35\n\tsnapshots\x18\x12 \x03(\x0b\x32\".org.lfedge.eve.info.ZInfoSnapshot\x12\x1b\n\x13\x63luster_app_running\x18\x14 \x01(\x08J\x04\x08\t\x10\x0cJ\x04\x08\x13\x10\x14\"D\n\x10ZInfoVpnLinkInfo\x12\r\n\x05spiId\x18\x01 \x01(\t\x12\x0e\n\x06subNet\x18\x02 \x01(\t\x12\x11\n\tdirection\x18\x03 \x01(\x08\"\xf9\x01\n\x0cZInfoVpnLink\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05reqId\x18\x03 \x01(\t\x12\x10\n\x08instTime\x18\x04 \x01(\x04\x12\x0f\n\x07\x65spInfo\x18\x05 \x01(\t\x12\x31\n\x05state\x18\x06 \x01(\x0e\x32\".org.lfedge.eve.info.ZInfoVpnState\x12\x34\n\x05lInfo\x18\n \x01(\x0b\x32%.org.lfedge.eve.info.ZInfoVpnLinkInfo\x12\x34\n\x05rInfo\x18\x0b \x01(\x0b\x32%.org.lfedge.eve.info.ZInfoVpnLinkInfo\"<\n\x10ZInfoVpnEndPoint\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0e\n\x06ipAddr\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\r\"\xa9\x02\n\x0cZInfoVpnConn\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\t\x12\x0f\n\x07\x65stTime\x18\x04 \x01(\x04\x12\x0c\n\x04ikes\x18\x05 \x01(\t\x12\x31\n\x05state\x18\x06 \x01(\x0e\x32\".org.lfedge.eve.info.ZInfoVpnState\x12\x34\n\x05lInfo\x18\x07 \x01(\x0b\x32%.org.lfedge.eve.info.ZInfoVpnEndPoint\x12\x34\n\x05rInfo\x18\x08 \x01(\x0b\x32%.org.lfedge.eve.info.ZInfoVpnEndPoint\x12\x30\n\x05links\x18\n \x03(\x0b\x32!.org.lfedge.eve.info.ZInfoVpnLink\"z\n\x08ZInfoVpn\x12\x0e\n\x06upTime\x18\x01 \x01(\x04\x12\x13\n\x0bpolicyBased\x18\x02 \x01(\x08\x12\x18\n\x10listeningIpAddrs\x18\x03 \x03(\t\x12/\n\x04\x63onn\x18\n \x03(\x0b\x32!.org.lfedge.eve.info.ZInfoVpnConn\"\x9b\x06\n\x14ZInfoNetworkInstance\x12\x11\n\tnetworkID\x18\x02 \x01(\t\x12\x16\n\x0enetworkVersion\x18\x03 \x01(\t\x12\x10\n\x08instType\x18\x05 \x01(\r\x12\x13\n\x0b\x64isplayname\x18\x06 \x01(\t\x12\x11\n\tactivated\x18\x07 \x01(\x08\x12/\n\x0bupTimeStamp\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x32\n\x0csoftwareList\x18\t \x01(\x0b\x32\x1c.org.lfedge.eve.info.ZInfoSW\x12\x1d\n\x11\x43urrentUplinkIntf\x18\n \x01(\tB\x02\x18\x01\x12\x1e\n\x12\x43urrentUplinkAlias\x18\x0b \x01(\tB\x02\x18\x01\x12\r\n\x05ports\x18\x0c \x03(\t\x12\x11\n\tbridgeNum\x18\x14 \x01(\r\x12\x12\n\nbridgeName\x18\x15 \x01(\t\x12\x14\n\x0c\x62ridgeIPAddr\x18\x16 \x01(\t\x12\x41\n\ripAssignments\x18\x17 \x03(\x0b\x32*.org.lfedge.eve.info.ZmetIPAssignmentEntry\x12.\n\x04vifs\x18\x19 \x03(\x0b\x32 .org.lfedge.eve.info.ZmetVifInfo\x12\x0f\n\x07ipv4Eid\x18\x1a \x01(\x08\x12\x38\n\x10\x61ssignedAdapters\x18\x1e \x03(\x0b\x32\x1e.org.lfedge.eve.info.ZioBundle\x12.\n\x05vinfo\x18\x1f \x01(\x0b\x32\x1d.org.lfedge.eve.info.ZInfoVpnH\x00\x12\x32\n\nnetworkErr\x18( \x03(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12\x39\n\x05state\x18) \x01(\x0e\x32*.org.lfedge.eve.info.ZNetworkInstanceState\x12\x0b\n\x03mtu\x18* \x01(\r\x12/\n\tip_routes\x18+ \x03(\x0b\x32\x1c.org.lfedge.eve.info.IPRouteB\r\n\x0bInfoContentJ\x04\x08\x18\x10\x19\"Z\n\x07IPRoute\x12\x1b\n\x13\x64\x65stination_network\x18\x01 \x01(\t\x12\x0f\n\x07gateway\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\t\x12\x13\n\x0bgateway_app\x18\x04 \x01(\t\"\x89\x01\n\tUsageInfo\x12.\n\ncreateTime\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08refCount\x18\x02 \x01(\r\x12:\n\x16lastRefcountChangeTime\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"=\n\x0fVolumeResources\x12\x14\n\x0cmaxSizeBytes\x18\x01 \x01(\x04\x12\x14\n\x0c\x63urSizeBytes\x18\x02 \x01(\x04\"\xaf\x02\n\x0bZInfoVolume\x12\x0c\n\x04uuid\x18\x01 \x01(\t\x12\x13\n\x0b\x64isplayName\x18\x02 \x01(\t\x12-\n\x05usage\x18\x03 \x01(\x0b\x32\x1e.org.lfedge.eve.info.UsageInfo\x12\x37\n\tresources\x18\x04 \x01(\x0b\x32$.org.lfedge.eve.info.VolumeResources\x12,\n\x05state\x18\x05 \x01(\x0e\x32\x1d.org.lfedge.eve.info.ZSwState\x12\x1a\n\x12progressPercentage\x18\x06 \x01(\r\x12\x31\n\tvolumeErr\x18\x07 \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12\x18\n\x10generation_count\x18\x08 \x01(\x03\"(\n\x10\x43ontentResources\x12\x14\n\x0c\x63urSizeBytes\x18\x01 \x01(\x04\"\xd9\x02\n\x10ZInfoContentTree\x12\x0c\n\x04uuid\x18\x01 \x01(\t\x12\x13\n\x0b\x64isplayName\x18\x02 \x01(\t\x12\x0e\n\x06sha256\x18\x03 \x01(\t\x12\x38\n\tresources\x18\x04 \x01(\x0b\x32%.org.lfedge.eve.info.ContentResources\x12-\n\x05usage\x18\x05 \x01(\x0b\x32\x1e.org.lfedge.eve.info.UsageInfo\x12,\n\x05state\x18\x06 \x01(\x0e\x32\x1d.org.lfedge.eve.info.ZSwState\x12\x1a\n\x12progressPercentage\x18\x07 \x01(\r\x12+\n\x03\x65rr\x18\x08 \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12\x18\n\x10\x63omponentShaList\x18\t \x03(\t\x12\x18\n\x10generation_count\x18\n \x01(\x03\"\xfb\x01\n\tZInfoBlob\x12\x0e\n\x06sha256\x18\x01 \x01(\t\x12\x38\n\tresources\x18\x02 \x01(\x0b\x32%.org.lfedge.eve.info.ContentResources\x12-\n\x05usage\x18\x03 \x01(\x0b\x32\x1e.org.lfedge.eve.info.UsageInfo\x12,\n\x05state\x18\x04 \x01(\x0e\x32\x1d.org.lfedge.eve.info.ZSwState\x12\x1a\n\x12progressPercentage\x18\x05 \x01(\r\x12+\n\x03\x65rr\x18\x06 \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\"=\n\rZInfoBlobList\x12,\n\x04\x62lob\x18\x01 \x03(\x0b\x32\x1e.org.lfedge.eve.info.ZInfoBlob\"\xfb\x07\n\x08ZInfoMsg\x12.\n\x05ztype\x18\x01 \x01(\x0e\x32\x1f.org.lfedge.eve.info.ZInfoTypes\x12\r\n\x05\x64\x65vId\x18\x02 \x01(\t\x12\x31\n\x05\x64info\x18\x03 \x01(\x0b\x32 .org.lfedge.eve.info.ZInfoDeviceH\x00\x12.\n\x05\x61info\x18\x05 \x01(\x0b\x32\x1d.org.lfedge.eve.info.ZInfoAppH\x00\x12;\n\x06niinfo\x18\x0c \x01(\x0b\x32).org.lfedge.eve.info.ZInfoNetworkInstanceH\x00\x12\x31\n\x05vinfo\x18\r \x01(\x0b\x32 .org.lfedge.eve.info.ZInfoVolumeH\x00\x12\x36\n\x05\x63info\x18\x0e \x01(\x0b\x32%.org.lfedge.eve.info.ZInfoContentTreeH\x00\x12\x33\n\x05\x62info\x18\x0f \x01(\x0b\x32\".org.lfedge.eve.info.ZInfoBlobListH\x00\x12<\n\x07\x61mdinfo\x18\x10 \x01(\x0b\x32).org.lfedge.eve.info.ZInfoAppInstMetaDataH\x00\x12\x34\n\x06\x65vinfo\x18\x11 \x01(\x0b\x32\".org.lfedge.eve.info.ZInfoEdgeviewH\x00\x12\x34\n\x06hwinfo\x18\x12 \x01(\x0b\x32\".org.lfedge.eve.info.ZInfoHardwareH\x00\x12\x35\n\x07locinfo\x18\x13 \x01(\x0b\x32\".org.lfedge.eve.info.ZInfoLocationH\x00\x12<\n\tpatchInfo\x18\x14 \x01(\x0b\x32\'.org.lfedge.eve.info.ZInfoPatchEnvelopeH\x00\x12=\n\x0c\x63luster_node\x18\x16 \x01(\x0b\x32%.org.lfedge.eve.info.ZInfoClusterNodeH\x00\x12;\n\x0bntp_sources\x18\x17 \x01(\x0b\x32$.org.lfedge.eve.info.ZInfoNTPSourcesH\x00\x12=\n\x0c\x63luster_info\x18\x18 \x01(\x0b\x32%.org.lfedge.eve.info.ZInfoKubeClusterH\x00\x12P\n\x13\x63luster_update_info\x18\x19 \x01(\x0b\x32\x31.org.lfedge.eve.info.ZInfoKubeClusterUpdateStatusH\x00\x12/\n\x0b\x61tTimeStamp\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\r\n\x0bInfoContentJ\x04\x08\x15\x10\x16\"J\n\x0c\x43\x61pabilities\x12 \n\x18HWAssistedVirtualization\x18\x02 \x01(\x08\x12\x18\n\x10IOVirtualization\x18\x03 \x01(\x08\"j\n\x14ZInfoAppInstMetaData\x12\x0c\n\x04uuid\x18\x01 \x01(\t\x12\x36\n\x04type\x18\x02 \x01(\x0e\x32(.org.lfedge.eve.info.AppInstMetaDataType\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"\xab\x01\n\rZInfoEdgeview\x12/\n\x0b\x65xpire_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0cstarted_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x11\n\tcount_dev\x18\x03 \x01(\r\x12\x11\n\tcount_app\x18\x04 \x01(\r\x12\x11\n\tcount_ext\x18\x05 \x01(\r\"\xd5\x02\n\rZInfoLocation\x12\x10\n\x08latitude\x18\x01 \x01(\x01\x12\x11\n\tlongitude\x18\x02 \x01(\x01\x12\x10\n\x08\x61ltitude\x18\x03 \x01(\x01\x12\x31\n\rutc_timestamp\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x43\n\x16horizontal_reliability\x18\x05 \x01(\x0e\x32#.org.lfedge.eve.info.LocReliability\x12\x41\n\x14vertical_reliability\x18\x06 \x01(\x0e\x32#.org.lfedge.eve.info.LocReliability\x12\x1e\n\x16horizontal_uncertainty\x18\x07 \x01(\x02\x12\x1c\n\x14vertical_uncertainty\x18\x08 \x01(\x02\x12\x14\n\x0clogicallabel\x18\t \x01(\t\"\xe4\x01\n\x1cZInfoKubeClusterUpdateStatus\x12\x14\n\x0c\x63urrent_node\x18\x01 \x01(\t\x12\x30\n\tcomponent\x18\x02 \x01(\x0e\x32\x1d.org.lfedge.eve.info.KubeComp\x12\x39\n\x06status\x18\x03 \x01(\x0e\x32).org.lfedge.eve.info.KubeCompUpdateStatus\x12-\n\x05\x65rror\x18\x04 \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12\x12\n\ncluster_id\x18\x05 \x01(\t\"\xc4\x02\n\x10ZInfoKubeCluster\x12\x30\n\x05nodes\x18\x01 \x03(\x0b\x32!.org.lfedge.eve.info.KubeNodeInfo\x12\x42\n\x0fpod_name_spaces\x18\x02 \x03(\x0b\x32).org.lfedge.eve.info.KubePodNameSpaceInfo\x12\x38\n\x08\x65ve_apps\x18\x03 \x03(\x0b\x32&.org.lfedge.eve.info.KubeEVEAppPodInfo\x12\x35\n\x07storage\x18\x04 \x01(\x0b\x32$.org.lfedge.eve.info.KubeStorageInfo\x12\x12\n\ncluster_id\x18\x05 \x01(\t\x12\x35\n\x0b\x65ve_vm_apps\x18\x06 \x03(\x0b\x32 .org.lfedge.eve.info.KubeVMIInfo\"\x88\x02\n\rZInfoHardware\x12\x37\n\x05\x64isks\x18\x01 \x03(\x0b\x32$.org.lfedge.eve.info.StorageDiskInfoB\x02\x18\x01\x12\x13\n\x0b\x65ve_release\x18\x02 \x01(\t\x12\x39\n\tinventory\x18\x03 \x01(\x0b\x32&.org.lfedge.eve.info.HardwareInventory\x12\x15\n\rkernel_flavor\x18\x04 \x01(\t\x12\x16\n\x0ekernel_version\x18\x05 \x01(\t\x12\x14\n\x0c\x65ve_platform\x18\x06 \x01(\t\x12\x11\n\tpartition\x18\x07 \x01(\t\x12\x16\n\x0ekernel_cmdline\x18\x08 \x01(\t*u\n\x11\x44\x65pMetricItemType\x12\x16\n\x12\x44\x65pMetricItemOther\x10\x00\x12\x16\n\x12\x44\x65pMetricItemGauge\x10\x01\x12\x18\n\x14\x44\x65pMetricItemCounter\x10\x02\x12\x16\n\x12\x44\x65pMetricItemState\x10\x03*\xb0\x02\n\nZInfoTypes\x12\t\n\x05ZiNop\x10\x00\x12\x0c\n\x08ZiDevice\x10\x01\x12\t\n\x05ZiApp\x10\x03\x12\x15\n\x11ZiNetworkInstance\x10\x06\x12\x0c\n\x08ZiVolume\x10\x07\x12\x11\n\rZiContentTree\x10\x08\x12\x0e\n\nZiBlobList\x10\t\x12\x15\n\x11ZiAppInstMetaData\x10\n\x12\x0e\n\nZiHardware\x10\x0b\x12\x0e\n\nZiEdgeview\x10\x0c\x12\x0e\n\nZiLocation\x10\r\x12\x13\n\x0fZiPatchEnvelope\x10\x0e\x12\x10\n\x0cZiNTPSources\x10\x10\x12\x11\n\rZiKubeCluster\x10\x11\x12\x1d\n\x19ZiKubeClusterUpdateStatus\x10\x12\"\x04\x08\x02\x10\x02\"\x04\x08\x04\x10\x04\"\x04\x08\x05\x10\x05\"\x04\x08\x0f\x10\x0f*\x91\x03\n\x08ZSwState\x12\x0b\n\x07INVALID\x10\x00\x12\x0b\n\x07INITIAL\x10\x01\x12\x14\n\x10\x44OWNLOAD_STARTED\x10\x02\x12\x0e\n\nDOWNLOADED\x10\x03\x12\r\n\tDELIVERED\x10\x04\x12\r\n\tINSTALLED\x10\x05\x12\x0b\n\x07\x42OOTING\x10\x06\x12\x0b\n\x07RUNNING\x10\x07\x12\x0b\n\x07HALTING\x10\x08\x12\n\n\x06HALTED\x10\t\x12\x0e\n\nRESTARTING\x10\n\x12\x0b\n\x07PURGING\x10\x0b\x12\x11\n\rRESOLVING_TAG\x10\x0c\x12\x10\n\x0cRESOLVED_TAG\x10\r\x12\x13\n\x0f\x43REATING_VOLUME\x10\x0e\x12\x12\n\x0e\x43REATED_VOLUME\x10\x0f\x12\r\n\tVERIFYING\x10\x10\x12\x0c\n\x08VERIFIED\x10\x11\x12\x0b\n\x07LOADING\x10\x12\x12\n\n\x06LOADED\x10\x13\x12\x18\n\x14\x41WAITNETWORKINSTANCE\x10\x14\x12\t\n\x05\x45RROR\x10\x15\x12\x11\n\rSTART_DELAYED\x10\x16\x12\x0b\n\x07PENDING\x10\x17\x12\x0e\n\nSCHEDULING\x10\x18*N\n\x16HwSecurityModuleStatus\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0c\n\x08NOTFOUND\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\x12\x0b\n\x07\x45NABLED\x10\x03*\x88\x01\n\x13\x44\x61taSecAtRestStatus\x12\x1b\n\x17\x44\x41TASEC_AT_REST_UNKNOWN\x10\x00\x12\x1c\n\x18\x44\x41TASEC_AT_REST_DISABLED\x10\x01\x12\x1b\n\x17\x44\x41TASEC_AT_REST_ENABLED\x10\x02\x12\x19\n\x15\x44\x41TASEC_AT_REST_ERROR\x10\x04*?\n\tPCRStatus\x12\x0f\n\x0bPCR_UNKNOWN\x10\x00\x12\x0f\n\x0bPCR_ENABLED\x10\x01\x12\x10\n\x0cPCR_DISABLED\x10\x02*M\n\x07SimType\x12\x18\n\x14SIM_TYPE_UNSPECIFIED\x10\x00\x12\x15\n\x11SIM_TYPE_PHYSICAL\x10\x01\x12\x11\n\rSIM_TYPE_ESIM\x10\x02*\xa0\x02\n\x17ZCellularOperatingState\x12*\n&Z_CELLULAR_OPERATING_STATE_UNSPECIFIED\x10\x00\x12&\n\"Z_CELLULAR_OPERATING_STATE_OFFLINE\x10\x01\x12(\n$Z_CELLULAR_OPERATING_STATE_RADIO_OFF\x10\x02\x12%\n!Z_CELLULAR_OPERATING_STATE_ONLINE\x10\x03\x12\x33\n/Z_CELLULAR_OPERATING_STATE_ONLINE_AND_CONNECTED\x10\x04\x12+\n\'Z_CELLULAR_OPERATING_STATE_UNRECOGNIZED\x10\x05*\x92\x01\n\x18ZCellularControlProtocol\x12+\n\'Z_CELLULAR_CONTROL_PROTOCOL_UNSPECIFIED\x10\x00\x12#\n\x1fZ_CELLULAR_CONTROL_PROTOCOL_QMI\x10\x01\x12$\n Z_CELLULAR_CONTROL_PROTOCOL_MBIM\x10\x02*\xb1\x02\n\x0cZDeviceState\x12\x1d\n\x19ZDEVICE_STATE_UNSPECIFIED\x10\x00\x12\x18\n\x14ZDEVICE_STATE_ONLINE\x10\x01\x12\x1b\n\x17ZDEVICE_STATE_REBOOTING\x10\x02\x12\"\n\x1eZDEVICE_STATE_MAINTENANCE_MODE\x10\x03\x12!\n\x1dZDEVICE_STATE_BASEOS_UPDATING\x10\x04\x12\x19\n\x15ZDEVICE_STATE_BOOTING\x10\x05\x12$\n ZDEVICE_STATE_PREPARING_POWEROFF\x10\x06\x12\x1e\n\x1aZDEVICE_STATE_POWERING_OFF\x10\x07\x12#\n\x1fZDEVICE_STATE_PREPARED_POWEROFF\x10\x08*\xf5\x01\n\rStorageStatus\x12\x1e\n\x1aSTORAGE_STATUS_UNSPECIFIED\x10\x00\x12\x19\n\x15STORAGE_STATUS_ONLINE\x10\x01\x12\x1b\n\x17STORAGE_STATUS_DEGRADED\x10\x02\x12\x1a\n\x16STORAGE_STATUS_FAULTED\x10\x03\x12\x1a\n\x16STORAGE_STATUS_OFFLINE\x10\x04\x12\x1a\n\x16STORAGE_STATUS_UNAVAIL\x10\x05\x12\x1a\n\x16STORAGE_STATUS_REMOVED\x10\x06\x12\x1c\n\x18STORAGE_STATUS_SUSPENDED\x10\x07*\xe3\x01\n\x0fStorageRaidType\x12!\n\x1dSTORAGE_RAID_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\x17STORAGE_RAID_TYPE_RAID0\x10\x01\x12\x1b\n\x17STORAGE_RAID_TYPE_RAID1\x10\x02\x12\x1b\n\x17STORAGE_RAID_TYPE_RAID5\x10\x03\x12\x1b\n\x17STORAGE_RAID_TYPE_RAID6\x10\x04\x12\x1b\n\x17STORAGE_RAID_TYPE_RAID7\x10\x05\x12\x1c\n\x18STORAGE_RAID_TYPE_NORAID\x10\x06*k\n\x0fStorageTypeInfo\x12!\n\x1dSTORAGE_TYPE_INFO_UNSPECIFIED\x10\x00\x12\x1a\n\x16STORAGE_TYPE_INFO_EXT4\x10\x01\x12\x19\n\x15STORAGE_TYPE_INFO_ZFS\x10\x02*\xb0\x07\n\rAPICapability\x12\x1e\n\x1a\x41PI_CAPABILITY_UNSPECIFIED\x10\x00\x12\x1f\n\x1b\x41PI_CAPABILITY_RETRY_UPDATE\x10\x01\x12\x1b\n\x17\x41PI_CAPABILITY_SHUTDOWN\x10\x02\x12)\n%API_CAPABILITY_START_DELAY_IN_SECONDS\x10\x03\x12\x1b\n\x17\x41PI_CAPABILITY_EDGEVIEW\x10\x04\x12#\n\x1f\x41PI_CAPABILITY_VOLUME_SNAPSHOTS\x10\x05\x12+\n\'API_CAPABILITY_NETWORK_INSTANCE_ROUTING\x10\x06\x12\x1c\n\x18\x41PI_CAPABILITY_BOOT_MODE\x10\x07\x12\x16\n\x12\x41PI_CAPABILITY_MTU\x10\x08\x12&\n\"API_CAPABILITY_ADAPTER_USER_LABELS\x10\t\x12/\n+API_CAPABILITY_ENFORCED_NET_INTERFACE_ORDER\x10\n\x12\x1c\n\x18\x41PI_CAPABILITY_NTPS_FQDN\x10\x0b\x12&\n\"API_CAPABILITY_WIN_LIC_PASSTHROUGH\x10\x0c\x12-\n)API_CAPABILITY_VOLUME_SNAPSHOTS_IMMEDIATE\x10\r\x12+\n\'API_CAPABILITY_ENCRYPTED_PATCH_ENVELOPE\x10\x0e\x12*\n&API_CAPABILITY_SINGLE_STACK_IP_NETWORK\x10\x0f\x12)\n%API_CAPABILITY_CELLULAR_ATTACH_CONFIG\x10\x10\x12*\n&API_CAPABILITY_EDGEVIEW_AUTHENTICATION\x10\x11\x12\x1f\n\x1b\x41PI_CAPABILITY_DISABLE_VTPM\x10\x12\x12*\n&API_CAPABILITY_LOC_REBOOT_COLLECT_INFO\x10\x13\x12\x1f\n\x1b\x41PI_CAPABILITY_SMART_REPORT\x10\x14\x12&\n\"API_CAPABILITY_REPORT_TPM_EVENTLOG\x10\x15\x12\x34\n0API_CAPABILITY_APP_INSTANCE_NET_INTERFACE_CHANGE\x10\x16\x12\'\n#API_CAPABILITY_CPU_PLACEMENT_POLICY\x10\x17*\xb9\x03\n\nBootReason\x12\x1b\n\x17\x42OOT_REASON_UNSPECIFIED\x10\x00\x12\x15\n\x11\x42OOT_REASON_FIRST\x10\x01\x12\x1a\n\x16\x42OOT_REASON_REBOOT_CMD\x10\x02\x12\x16\n\x12\x42OOT_REASON_UPDATE\x10\x03\x12\x18\n\x14\x42OOT_REASON_FALLBACK\x10\x04\x12\x1a\n\x16\x42OOT_REASON_DISCONNECT\x10\x05\x12\x15\n\x11\x42OOT_REASON_FATAL\x10\x06\x12\x13\n\x0f\x42OOT_REASON_OOM\x10\x07\x12\x1d\n\x19\x42OOT_REASON_WATCHDOG_HUNG\x10\x08\x12\x1c\n\x18\x42OOT_REASON_WATCHDOG_PID\x10\t\x12\x16\n\x12\x42OOT_REASON_KERNEL\x10\n\x12\x1a\n\x16\x42OOT_REASON_POWER_FAIL\x10\x0b\x12\x17\n\x13\x42OOT_REASON_UNKNOWN\x10\x0c\x12\x1c\n\x18\x42OOT_REASON_VAULT_FAILED\x10\r\x12\x1c\n\x18\x42OOT_REASON_POWEROFF_CMD\x10\x0e\x12\x1b\n\x16\x42OOT_REASON_PARSE_FAIL\x10\xff\x01*\xd6\x02\n\x15MaintenanceModeReason\x12 \n\x1cMAINTENANCE_MODE_REASON_NONE\x10\x00\x12*\n&MAINTENANCE_MODE_REASON_USER_REQUESTED\x10\x01\x12+\n\'MAINTENANCE_MODE_REASON_VAULT_LOCKED_UP\x10\x02\x12*\n&MAINTENANCE_MODE_REASON_LOW_DISK_SPACE\x10\x03\x12\x32\n.MAINTENANCE_MODE_REASON_TPM_ENCRYPTION_FAILURE\x10\x04\x12-\n)MAINTENANCE_MODE_REASON_TPM_QUOTE_FAILURE\x10\x05\x12\x33\n/MAINTENANCE_MODE_REASON_EDGE_NODE_CERTS_REFUSED\x10\x06*\xb5\x02\n\x10\x41ttestationState\x12!\n\x1d\x41TTESTATION_STATE_UNSPECIFIED\x10\x00\x12 \n\x1c\x41TTESTATION_STATE_NONCE_WAIT\x10\x01\x12$\n ATTESTATION_STATE_TPM_QUOTE_WAIT\x10\x02\x12%\n!ATTESTATION_STATE_TPM_ESCROW_WAIT\x10\x03\x12!\n\x1d\x41TTESTATION_STATE_ATTEST_WAIT\x10\x04\x12(\n$ATTESTATION_STATE_ATTEST_ESCROW_WAIT\x10\x05\x12\"\n\x1e\x41TTESTATION_STATE_RESTART_WAIT\x10\x06\x12\x1e\n\x1a\x41TTESTATION_STATE_COMPLETE\x10\x07*\x8b\x01\n\x13\x41ppInstMetaDataType\x12 \n\x1c\x41PP_INST_META_DATA_TYPE_NONE\x10\x00\x12\'\n#APP_INST_META_DATA_TYPE_KUBE_CONFIG\x10\x01\x12)\n%APP_INST_META_DATA_TYPE_CUSTOM_STATUS\x10\x02*a\n\x0cWirelessType\x12\x1d\n\x19WIRELESS_TYPE_UNSPECIFIED\x10\x00\x12\x16\n\x12WIRELESS_TYPE_WIFI\x10\x01\x12\x1a\n\x16WIRELESS_TYPE_CELLULAR\x10\x02*q\n\x0c\x42\x61seOsStatus\x12\x08\n\x04NONE\x10\x00\x12\x0f\n\x0b\x44OWNLOADING\x10\x01\x12\x11\n\rDOWNLOAD_DONE\x10\x02\x12\x0c\n\x08UPDATING\x10\x03\x12\x0b\n\x07UPDATED\x10\x04\x12\x0c\n\x08\x46\x41LLBACK\x10\x05\x12\n\n\x06\x46\x41ILED\x10\x06*\xcb\x01\n\x0f\x42\x61seOsSubStatus\x12\x12\n\x0eNONE_SUBSTATUS\x10\x00\x12\x17\n\x13\x44OWNLOAD_INPROGRESS\x10\x01\x12\x15\n\x11VERIFY_INPROGRESS\x10\x02\x12\x17\n\x13UPDATE_INITIALIZING\x10\x03\x12\x14\n\x10UPDATE_REBOOTING\x10\x04\x12\x12\n\x0eUPDATE_TESTING\x10\x05\x12\x1c\n\x18UPDATE_NEED_TEST_CONFIRM\x10\x06\x12\x13\n\x0fUPDATE_DEFERRED\x10\x07*h\n\x0cSnapshotType\x12\x1d\n\x19SNAPSHOT_TYPE_UNSPECIFIED\x10\x00\x12\x1c\n\x18SNAPSHOT_TYPE_APP_UPDATE\x10\x01\x12\x1b\n\x17SNAPSHOT_TYPE_IMMEDIATE\x10\x02*\xb8\x01\n\x16ZInfoClusterNodeStatus\x12*\n&Z_INFO_CLUSTER_NODE_STATUS_UNSPECIFIED\x10\x00\x12$\n Z_INFO_CLUSTER_NODE_STATUS_READY\x10\x01\x12\'\n#Z_INFO_CLUSTER_NODE_STATUS_NOTREADY\x10\x02\x12#\n\x1fZ_INFO_CLUSTER_NODE_STATUS_DOWN\x10\x03*\x8f\x01\n\rZInfoVpnState\x12\x0f\n\x0bVPN_INVALID\x10\x00\x12\x0f\n\x0bVPN_INITIAL\x10\x01\x12\x12\n\x0eVPN_CONNECTING\x10\x02\x12\x13\n\x0fVPN_ESTABLISHED\x10\x03\x12\x11\n\rVPN_INSTALLED\x10\x04\x12\x0f\n\x0bVPN_REKEYED\x10\x05\x12\x0f\n\x0bVPN_DELETED\x10\n*\x85\x01\n\x15ZNetworkInstanceState\x12\x1e\n\x1aZNETINST_STATE_UNSPECIFIED\x10\x00\x12\x17\n\x13ZNETINST_STATE_INIT\x10\x01\x12\x19\n\x15ZNETINST_STATE_ONLINE\x10\x02\x12\x18\n\x14ZNETINST_STATE_ERROR\x10\x03*\x9e\x01\n\x0eLocReliability\x12\x1f\n\x1bLOC_RELIABILITY_UNSPECIFIED\x10\x00\x12\x1c\n\x18LOC_RELIABILITY_VERY_LOW\x10\x01\x12\x17\n\x13LOC_RELIABILITY_LOW\x10\x02\x12\x1a\n\x16LOC_RELIABILITY_MEDIUM\x10\x03\x12\x18\n\x14LOC_RELIABILITY_HIGH\x10\x04\x42\x39\n\x13org.lfedge.eve.infoZ\"github.com/lf-edge/eve-api/go/infob\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -48,58 +48,58 @@ _ZINFONETWORKINSTANCE.fields_by_name['CurrentUplinkAlias']._serialized_options = b'\030\001' _ZINFOHARDWARE.fields_by_name['disks']._options = None _ZINFOHARDWARE.fields_by_name['disks']._serialized_options = b'\030\001' - _globals['_DEPMETRICITEMTYPE']._serialized_start=16571 - _globals['_DEPMETRICITEMTYPE']._serialized_end=16688 - _globals['_ZINFOTYPES']._serialized_start=16691 - _globals['_ZINFOTYPES']._serialized_end=16995 - _globals['_ZSWSTATE']._serialized_start=16998 - _globals['_ZSWSTATE']._serialized_end=17399 - _globals['_HWSECURITYMODULESTATUS']._serialized_start=17401 - _globals['_HWSECURITYMODULESTATUS']._serialized_end=17479 - _globals['_DATASECATRESTSTATUS']._serialized_start=17482 - _globals['_DATASECATRESTSTATUS']._serialized_end=17618 - _globals['_PCRSTATUS']._serialized_start=17620 - _globals['_PCRSTATUS']._serialized_end=17683 - _globals['_SIMTYPE']._serialized_start=17685 - _globals['_SIMTYPE']._serialized_end=17762 - _globals['_ZCELLULAROPERATINGSTATE']._serialized_start=17765 - _globals['_ZCELLULAROPERATINGSTATE']._serialized_end=18053 - _globals['_ZCELLULARCONTROLPROTOCOL']._serialized_start=18056 - _globals['_ZCELLULARCONTROLPROTOCOL']._serialized_end=18202 - _globals['_ZDEVICESTATE']._serialized_start=18205 - _globals['_ZDEVICESTATE']._serialized_end=18510 - _globals['_STORAGESTATUS']._serialized_start=18513 - _globals['_STORAGESTATUS']._serialized_end=18758 - _globals['_STORAGERAIDTYPE']._serialized_start=18761 - _globals['_STORAGERAIDTYPE']._serialized_end=18988 - _globals['_STORAGETYPEINFO']._serialized_start=18990 - _globals['_STORAGETYPEINFO']._serialized_end=19097 - _globals['_APICAPABILITY']._serialized_start=19100 - _globals['_APICAPABILITY']._serialized_end=20003 - _globals['_BOOTREASON']._serialized_start=20006 - _globals['_BOOTREASON']._serialized_end=20447 - _globals['_MAINTENANCEMODEREASON']._serialized_start=20450 - _globals['_MAINTENANCEMODEREASON']._serialized_end=20792 - _globals['_ATTESTATIONSTATE']._serialized_start=20795 - _globals['_ATTESTATIONSTATE']._serialized_end=21104 - _globals['_APPINSTMETADATATYPE']._serialized_start=21107 - _globals['_APPINSTMETADATATYPE']._serialized_end=21246 - _globals['_WIRELESSTYPE']._serialized_start=21248 - _globals['_WIRELESSTYPE']._serialized_end=21345 - _globals['_BASEOSSTATUS']._serialized_start=21347 - _globals['_BASEOSSTATUS']._serialized_end=21460 - _globals['_BASEOSSUBSTATUS']._serialized_start=21463 - _globals['_BASEOSSUBSTATUS']._serialized_end=21666 - _globals['_SNAPSHOTTYPE']._serialized_start=21668 - _globals['_SNAPSHOTTYPE']._serialized_end=21772 - _globals['_ZINFOCLUSTERNODESTATUS']._serialized_start=21775 - _globals['_ZINFOCLUSTERNODESTATUS']._serialized_end=21959 - _globals['_ZINFOVPNSTATE']._serialized_start=21962 - _globals['_ZINFOVPNSTATE']._serialized_end=22105 - _globals['_ZNETWORKINSTANCESTATE']._serialized_start=22108 - _globals['_ZNETWORKINSTANCESTATE']._serialized_end=22241 - _globals['_LOCRELIABILITY']._serialized_start=22244 - _globals['_LOCRELIABILITY']._serialized_end=22402 + _globals['_DEPMETRICITEMTYPE']._serialized_start=16603 + _globals['_DEPMETRICITEMTYPE']._serialized_end=16720 + _globals['_ZINFOTYPES']._serialized_start=16723 + _globals['_ZINFOTYPES']._serialized_end=17027 + _globals['_ZSWSTATE']._serialized_start=17030 + _globals['_ZSWSTATE']._serialized_end=17431 + _globals['_HWSECURITYMODULESTATUS']._serialized_start=17433 + _globals['_HWSECURITYMODULESTATUS']._serialized_end=17511 + _globals['_DATASECATRESTSTATUS']._serialized_start=17514 + _globals['_DATASECATRESTSTATUS']._serialized_end=17650 + _globals['_PCRSTATUS']._serialized_start=17652 + _globals['_PCRSTATUS']._serialized_end=17715 + _globals['_SIMTYPE']._serialized_start=17717 + _globals['_SIMTYPE']._serialized_end=17794 + _globals['_ZCELLULAROPERATINGSTATE']._serialized_start=17797 + _globals['_ZCELLULAROPERATINGSTATE']._serialized_end=18085 + _globals['_ZCELLULARCONTROLPROTOCOL']._serialized_start=18088 + _globals['_ZCELLULARCONTROLPROTOCOL']._serialized_end=18234 + _globals['_ZDEVICESTATE']._serialized_start=18237 + _globals['_ZDEVICESTATE']._serialized_end=18542 + _globals['_STORAGESTATUS']._serialized_start=18545 + _globals['_STORAGESTATUS']._serialized_end=18790 + _globals['_STORAGERAIDTYPE']._serialized_start=18793 + _globals['_STORAGERAIDTYPE']._serialized_end=19020 + _globals['_STORAGETYPEINFO']._serialized_start=19022 + _globals['_STORAGETYPEINFO']._serialized_end=19129 + _globals['_APICAPABILITY']._serialized_start=19132 + _globals['_APICAPABILITY']._serialized_end=20076 + _globals['_BOOTREASON']._serialized_start=20079 + _globals['_BOOTREASON']._serialized_end=20520 + _globals['_MAINTENANCEMODEREASON']._serialized_start=20523 + _globals['_MAINTENANCEMODEREASON']._serialized_end=20865 + _globals['_ATTESTATIONSTATE']._serialized_start=20868 + _globals['_ATTESTATIONSTATE']._serialized_end=21177 + _globals['_APPINSTMETADATATYPE']._serialized_start=21180 + _globals['_APPINSTMETADATATYPE']._serialized_end=21319 + _globals['_WIRELESSTYPE']._serialized_start=21321 + _globals['_WIRELESSTYPE']._serialized_end=21418 + _globals['_BASEOSSTATUS']._serialized_start=21420 + _globals['_BASEOSSTATUS']._serialized_end=21533 + _globals['_BASEOSSUBSTATUS']._serialized_start=21536 + _globals['_BASEOSSUBSTATUS']._serialized_end=21739 + _globals['_SNAPSHOTTYPE']._serialized_start=21741 + _globals['_SNAPSHOTTYPE']._serialized_end=21845 + _globals['_ZINFOCLUSTERNODESTATUS']._serialized_start=21848 + _globals['_ZINFOCLUSTERNODESTATUS']._serialized_end=22032 + _globals['_ZINFOVPNSTATE']._serialized_start=22035 + _globals['_ZINFOVPNSTATE']._serialized_end=22178 + _globals['_ZNETWORKINSTANCESTATE']._serialized_start=22181 + _globals['_ZNETWORKINSTANCESTATE']._serialized_end=22314 + _globals['_LOCRELIABILITY']._serialized_start=22317 + _globals['_LOCRELIABILITY']._serialized_end=22475 _globals['_SMARTATTR']._serialized_start=328 _globals['_SMARTATTR']._serialized_end=475 _globals['_STORAGEDISKINFO']._serialized_start=478 @@ -162,76 +162,76 @@ _globals['_STORAGEINFO']._serialized_end=5234 _globals['_ZINFODEVICE']._serialized_start=5237 _globals['_ZINFODEVICE']._serialized_end=7515 - _globals['_OPTIONALCAPABILITIES']._serialized_start=7517 - _globals['_OPTIONALCAPABILITIES']._serialized_end=7618 - _globals['_ATTESTATIONINFO']._serialized_start=7620 - _globals['_ATTESTATIONINFO']._serialized_end=7738 - _globals['_SYSTEMADAPTERINFO']._serialized_start=7740 - _globals['_SYSTEMADAPTERINFO']._serialized_end=7836 - _globals['_DEVICEPORTSTATUS']._serialized_start=7839 - _globals['_DEVICEPORTSTATUS']._serialized_end=8103 - _globals['_DEVICEPORT']._serialized_start=8106 - _globals['_DEVICEPORT']._serialized_end=8952 - _globals['_PROXYSTATUS']._serialized_start=8955 - _globals['_PROXYSTATUS']._serialized_end=9125 - _globals['_PROXYENTRY']._serialized_start=9127 - _globals['_PROXYENTRY']._serialized_end=9183 - _globals['_WIRELESSSTATUS']._serialized_start=9185 - _globals['_WIRELESSSTATUS']._serialized_end=9306 - _globals['_ZCELLULARSTATUS']._serialized_start=9309 - _globals['_ZCELLULARSTATUS']._serialized_end=9700 - _globals['_ZINFODEVSW']._serialized_start=9703 - _globals['_ZINFODEVSW']._serialized_end=10131 - _globals['_ZINFOSTORAGE']._serialized_start=10134 - _globals['_ZINFOSTORAGE']._serialized_end=10297 - _globals['_ZINFOSNAPSHOT']._serialized_start=10300 - _globals['_ZINFOSNAPSHOT']._serialized_end=10518 - _globals['_ZINFOCLUSTERNODE']._serialized_start=10520 - _globals['_ZINFOCLUSTERNODE']._serialized_end=10604 - _globals['_ZINFOAPP']._serialized_start=10607 - _globals['_ZINFOAPP']._serialized_end=11106 - _globals['_ZINFOVPNLINKINFO']._serialized_start=11108 - _globals['_ZINFOVPNLINKINFO']._serialized_end=11176 - _globals['_ZINFOVPNLINK']._serialized_start=11179 - _globals['_ZINFOVPNLINK']._serialized_end=11428 - _globals['_ZINFOVPNENDPOINT']._serialized_start=11430 - _globals['_ZINFOVPNENDPOINT']._serialized_end=11490 - _globals['_ZINFOVPNCONN']._serialized_start=11493 - _globals['_ZINFOVPNCONN']._serialized_end=11790 - _globals['_ZINFOVPN']._serialized_start=11792 - _globals['_ZINFOVPN']._serialized_end=11914 - _globals['_ZINFONETWORKINSTANCE']._serialized_start=11917 - _globals['_ZINFONETWORKINSTANCE']._serialized_end=12712 - _globals['_IPROUTE']._serialized_start=12714 - _globals['_IPROUTE']._serialized_end=12804 - _globals['_USAGEINFO']._serialized_start=12807 - _globals['_USAGEINFO']._serialized_end=12944 - _globals['_VOLUMERESOURCES']._serialized_start=12946 - _globals['_VOLUMERESOURCES']._serialized_end=13007 - _globals['_ZINFOVOLUME']._serialized_start=13010 - _globals['_ZINFOVOLUME']._serialized_end=13313 - _globals['_CONTENTRESOURCES']._serialized_start=13315 - _globals['_CONTENTRESOURCES']._serialized_end=13355 - _globals['_ZINFOCONTENTTREE']._serialized_start=13358 - _globals['_ZINFOCONTENTTREE']._serialized_end=13703 - _globals['_ZINFOBLOB']._serialized_start=13706 - _globals['_ZINFOBLOB']._serialized_end=13957 - _globals['_ZINFOBLOBLIST']._serialized_start=13959 - _globals['_ZINFOBLOBLIST']._serialized_end=14020 - _globals['_ZINFOMSG']._serialized_start=14023 - _globals['_ZINFOMSG']._serialized_end=15042 - _globals['_CAPABILITIES']._serialized_start=15044 - _globals['_CAPABILITIES']._serialized_end=15118 - _globals['_ZINFOAPPINSTMETADATA']._serialized_start=15120 - _globals['_ZINFOAPPINSTMETADATA']._serialized_end=15226 - _globals['_ZINFOEDGEVIEW']._serialized_start=15229 - _globals['_ZINFOEDGEVIEW']._serialized_end=15400 - _globals['_ZINFOLOCATION']._serialized_start=15403 - _globals['_ZINFOLOCATION']._serialized_end=15744 - _globals['_ZINFOKUBECLUSTERUPDATESTATUS']._serialized_start=15747 - _globals['_ZINFOKUBECLUSTERUPDATESTATUS']._serialized_end=15975 - _globals['_ZINFOKUBECLUSTER']._serialized_start=15978 - _globals['_ZINFOKUBECLUSTER']._serialized_end=16302 - _globals['_ZINFOHARDWARE']._serialized_start=16305 - _globals['_ZINFOHARDWARE']._serialized_end=16569 + _globals['_OPTIONALCAPABILITIES']._serialized_start=7518 + _globals['_OPTIONALCAPABILITIES']._serialized_end=7650 + _globals['_ATTESTATIONINFO']._serialized_start=7652 + _globals['_ATTESTATIONINFO']._serialized_end=7770 + _globals['_SYSTEMADAPTERINFO']._serialized_start=7772 + _globals['_SYSTEMADAPTERINFO']._serialized_end=7868 + _globals['_DEVICEPORTSTATUS']._serialized_start=7871 + _globals['_DEVICEPORTSTATUS']._serialized_end=8135 + _globals['_DEVICEPORT']._serialized_start=8138 + _globals['_DEVICEPORT']._serialized_end=8984 + _globals['_PROXYSTATUS']._serialized_start=8987 + _globals['_PROXYSTATUS']._serialized_end=9157 + _globals['_PROXYENTRY']._serialized_start=9159 + _globals['_PROXYENTRY']._serialized_end=9215 + _globals['_WIRELESSSTATUS']._serialized_start=9217 + _globals['_WIRELESSSTATUS']._serialized_end=9338 + _globals['_ZCELLULARSTATUS']._serialized_start=9341 + _globals['_ZCELLULARSTATUS']._serialized_end=9732 + _globals['_ZINFODEVSW']._serialized_start=9735 + _globals['_ZINFODEVSW']._serialized_end=10163 + _globals['_ZINFOSTORAGE']._serialized_start=10166 + _globals['_ZINFOSTORAGE']._serialized_end=10329 + _globals['_ZINFOSNAPSHOT']._serialized_start=10332 + _globals['_ZINFOSNAPSHOT']._serialized_end=10550 + _globals['_ZINFOCLUSTERNODE']._serialized_start=10552 + _globals['_ZINFOCLUSTERNODE']._serialized_end=10636 + _globals['_ZINFOAPP']._serialized_start=10639 + _globals['_ZINFOAPP']._serialized_end=11138 + _globals['_ZINFOVPNLINKINFO']._serialized_start=11140 + _globals['_ZINFOVPNLINKINFO']._serialized_end=11208 + _globals['_ZINFOVPNLINK']._serialized_start=11211 + _globals['_ZINFOVPNLINK']._serialized_end=11460 + _globals['_ZINFOVPNENDPOINT']._serialized_start=11462 + _globals['_ZINFOVPNENDPOINT']._serialized_end=11522 + _globals['_ZINFOVPNCONN']._serialized_start=11525 + _globals['_ZINFOVPNCONN']._serialized_end=11822 + _globals['_ZINFOVPN']._serialized_start=11824 + _globals['_ZINFOVPN']._serialized_end=11946 + _globals['_ZINFONETWORKINSTANCE']._serialized_start=11949 + _globals['_ZINFONETWORKINSTANCE']._serialized_end=12744 + _globals['_IPROUTE']._serialized_start=12746 + _globals['_IPROUTE']._serialized_end=12836 + _globals['_USAGEINFO']._serialized_start=12839 + _globals['_USAGEINFO']._serialized_end=12976 + _globals['_VOLUMERESOURCES']._serialized_start=12978 + _globals['_VOLUMERESOURCES']._serialized_end=13039 + _globals['_ZINFOVOLUME']._serialized_start=13042 + _globals['_ZINFOVOLUME']._serialized_end=13345 + _globals['_CONTENTRESOURCES']._serialized_start=13347 + _globals['_CONTENTRESOURCES']._serialized_end=13387 + _globals['_ZINFOCONTENTTREE']._serialized_start=13390 + _globals['_ZINFOCONTENTTREE']._serialized_end=13735 + _globals['_ZINFOBLOB']._serialized_start=13738 + _globals['_ZINFOBLOB']._serialized_end=13989 + _globals['_ZINFOBLOBLIST']._serialized_start=13991 + _globals['_ZINFOBLOBLIST']._serialized_end=14052 + _globals['_ZINFOMSG']._serialized_start=14055 + _globals['_ZINFOMSG']._serialized_end=15074 + _globals['_CAPABILITIES']._serialized_start=15076 + _globals['_CAPABILITIES']._serialized_end=15150 + _globals['_ZINFOAPPINSTMETADATA']._serialized_start=15152 + _globals['_ZINFOAPPINSTMETADATA']._serialized_end=15258 + _globals['_ZINFOEDGEVIEW']._serialized_start=15261 + _globals['_ZINFOEDGEVIEW']._serialized_end=15432 + _globals['_ZINFOLOCATION']._serialized_start=15435 + _globals['_ZINFOLOCATION']._serialized_end=15776 + _globals['_ZINFOKUBECLUSTERUPDATESTATUS']._serialized_start=15779 + _globals['_ZINFOKUBECLUSTERUPDATESTATUS']._serialized_end=16007 + _globals['_ZINFOKUBECLUSTER']._serialized_start=16010 + _globals['_ZINFOKUBECLUSTER']._serialized_end=16334 + _globals['_ZINFOHARDWARE']._serialized_start=16337 + _globals['_ZINFOHARDWARE']._serialized_end=16601 # @@protoc_insertion_point(module_scope) From a7c05b4e6540e135f8da58cbc5af414d0a9cfc56 Mon Sep 17 00:00:00 2001 From: Mikhail Malyshev Date: Sat, 8 Aug 2026 16:04:38 +0000 Subject: [PATCH 3/4] info: report per-pool CPU utilization on ZInfoDevice The design requires the node to report, per CPU pool (housekeeping / dedicated / isolated), its CPU set and how much of it is still free, so a controller can answer "will this workload fit?" before a deploy and explain a cpu.placement.insufficient failure after one. Both the sets and the summary counts are reported. Counts answer "how much is left" directly; the sets let a consumer group CPUs into physical cores via the (socket_id, core_id) coordinates already in CPUInfo, which is what distinguishes free threads sitting on partly-allocated cores from genuinely free whole cores. A single free count would answer the question wrongly for one of the two request shapes. This is dynamic state, so it rides ZInfoDevice (change-driven and periodic) rather than the cached hardware inventory. Signed-off-by: Mikhail Malyshev --- proto/info/info.proto | 51 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/proto/info/info.proto b/proto/info/info.proto index 9f9338c1..d5a4cea2 100644 --- a/proto/info/info.proto +++ b/proto/info/info.proto @@ -523,6 +523,50 @@ message StorageInfo { string pool_status_msg = 12; // pool status msg } +// CPUPoolKind identifies one partition of the node's logical CPUs. The +// pools are disjoint and together cover the online CPUs. +enum CPUPoolKind { + CPU_POOL_KIND_UNSPECIFIED = 0; + // CPUs backing EVE's own housekeeping plus every workload that did not + // ask for dedicated placement. Never empty, so the device stays + // manageable. + CPU_POOL_KIND_HOUSEKEEPING = 1; + // CPUs handed out exclusively to workloads with a dedicated CPU policy + // (including SMT siblings parked idle by a one-thread-per-core request). + CPU_POOL_KIND_DEDICATED = 2; + // CPUs the running kernel isolates (isolcpus); a subset that dedicated + // workloads requesting the hard isolation tier can be placed into. + CPU_POOL_KIND_ISOLATED = 3; +} + +// CPUPoolUtilization reports one CPU pool's extent and how much of it is +// still available. +// +// Both the CPU *sets* and the summary counts are reported: the counts +// answer "how much is left" directly, while the sets let a consumer +// compute availability per request shape by grouping them into physical +// cores via the (socket_id, core_id) coordinates in +// HardwareInventory.CPUInfo. That distinction matters — free threads +// sitting on partially-allocated cores cannot satisfy a request for whole +// physical cores, so a single "free" number would answer the question +// wrongly for one of the two request shapes. +message CPUPoolUtilization { + CPUPoolKind kind = 1; + // Every logical CPU in this pool. + repeated uint32 cpu_ids = 2; + // The subset of cpu_ids not currently allocated to any workload. + repeated uint32 free_cpu_ids = 3; + // Summary counts, derived from the sets above. + uint32 total_threads = 4; + uint32 allocated_threads = 5; + uint32 free_threads = 6; + // Physical cores all of whose SMT siblings lie in this pool. + uint32 total_cores = 7; + // Physical cores all of whose SMT siblings are free — the number that + // actually bounds how many whole-core workloads still fit. + uint32 free_whole_cores = 8; +} + // Base device info, as discovered by Xen (or OS on bare metal) message ZInfoDevice { string machineArch = 4; @@ -640,6 +684,13 @@ message ZInfoDevice { // Device-reported information about certificates currently enrolled // on the device, typically via network enrollment protocols such as SCEP. repeated CertInfo enrolled_certs = 60; + + // Current CPU partitioning and utilization, one entry per pool. Dynamic + // state, deliberately reported here (change-driven and periodic) rather + // than on the cached hardware inventory. Lets a controller answer + // "will this workload fit?" before a deploy and explain an + // "cpu.placement.insufficient" failure after one. + repeated CPUPoolUtilization cpu_pools = 61; } // OptionalCapabilities indicates any additional capabilities device wants From e83592bee6ccc33e930577774a2c9e909d9fa679 Mon Sep 17 00:00:00 2001 From: Mikhail Malyshev Date: Sat, 8 Aug 2026 16:04:38 +0000 Subject: [PATCH 4/4] generated files: info: report per-pool CPU utilization on ZInfoDevice The design requires the node to report, per CPU pool (housekeeping / dedicated / isolated), its CPU set and how much of it is still free, so a controller can answer "will this workload fit?" before a deploy and explain a cpu.placement.insufficient failure after one. Both the sets and the summary counts are reported. Counts answer "how much is left" directly; the sets let a consumer group CPUs into physical cores via the (socket_id, core_id) coordinates already in CPUInfo, which is what distinguishes free threads sitting on partly-allocated cores from genuinely free whole cores. A single free count would answer the question wrongly for one of the two request shapes. This is dynamic state, so it rides ZInfoDevice (change-driven and periodic) rather than the cached hardware inventory. - add generated files. Signed-off-by: Mikhail Malyshev --- go/info/info.pb.go | 3693 +++++++++++++++++++++------------------ python/info/info_pb2.py | 258 +-- 2 files changed, 2099 insertions(+), 1852 deletions(-) diff --git a/go/info/info.pb.go b/go/info/info.pb.go index 7054e175..a1993a24 100644 --- a/go/info/info.pb.go +++ b/go/info/info.pb.go @@ -870,6 +870,67 @@ func (StorageTypeInfo) EnumDescriptor() ([]byte, []int) { return file_info_info_proto_rawDescGZIP(), []int{12} } +// CPUPoolKind identifies one partition of the node's logical CPUs. The +// pools are disjoint and together cover the online CPUs. +type CPUPoolKind int32 + +const ( + CPUPoolKind_CPU_POOL_KIND_UNSPECIFIED CPUPoolKind = 0 + // CPUs backing EVE's own housekeeping plus every workload that did not + // ask for dedicated placement. Never empty, so the device stays + // manageable. + CPUPoolKind_CPU_POOL_KIND_HOUSEKEEPING CPUPoolKind = 1 + // CPUs handed out exclusively to workloads with a dedicated CPU policy + // (including SMT siblings parked idle by a one-thread-per-core request). + CPUPoolKind_CPU_POOL_KIND_DEDICATED CPUPoolKind = 2 + // CPUs the running kernel isolates (isolcpus); a subset that dedicated + // workloads requesting the hard isolation tier can be placed into. + CPUPoolKind_CPU_POOL_KIND_ISOLATED CPUPoolKind = 3 +) + +// Enum value maps for CPUPoolKind. +var ( + CPUPoolKind_name = map[int32]string{ + 0: "CPU_POOL_KIND_UNSPECIFIED", + 1: "CPU_POOL_KIND_HOUSEKEEPING", + 2: "CPU_POOL_KIND_DEDICATED", + 3: "CPU_POOL_KIND_ISOLATED", + } + CPUPoolKind_value = map[string]int32{ + "CPU_POOL_KIND_UNSPECIFIED": 0, + "CPU_POOL_KIND_HOUSEKEEPING": 1, + "CPU_POOL_KIND_DEDICATED": 2, + "CPU_POOL_KIND_ISOLATED": 3, + } +) + +func (x CPUPoolKind) Enum() *CPUPoolKind { + p := new(CPUPoolKind) + *p = x + return p +} + +func (x CPUPoolKind) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CPUPoolKind) Descriptor() protoreflect.EnumDescriptor { + return file_info_info_proto_enumTypes[13].Descriptor() +} + +func (CPUPoolKind) Type() protoreflect.EnumType { + return &file_info_info_proto_enumTypes[13] +} + +func (x CPUPoolKind) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CPUPoolKind.Descriptor instead. +func (CPUPoolKind) EnumDescriptor() ([]byte, []int) { + return file_info_info_proto_rawDescGZIP(), []int{13} +} + // Capabilities indicates features in the EdgeDevConfig where there is // no easy way to otherwise determine whether or not they are parsed and // supported by EVE-OS @@ -971,11 +1032,11 @@ func (x APICapability) String() string { } func (APICapability) Descriptor() protoreflect.EnumDescriptor { - return file_info_info_proto_enumTypes[13].Descriptor() + return file_info_info_proto_enumTypes[14].Descriptor() } func (APICapability) Type() protoreflect.EnumType { - return &file_info_info_proto_enumTypes[13] + return &file_info_info_proto_enumTypes[14] } func (x APICapability) Number() protoreflect.EnumNumber { @@ -984,7 +1045,7 @@ func (x APICapability) Number() protoreflect.EnumNumber { // Deprecated: Use APICapability.Descriptor instead. func (APICapability) EnumDescriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{13} + return file_info_info_proto_rawDescGZIP(), []int{14} } // Different reasons for a boot/reboot @@ -1061,11 +1122,11 @@ func (x BootReason) String() string { } func (BootReason) Descriptor() protoreflect.EnumDescriptor { - return file_info_info_proto_enumTypes[14].Descriptor() + return file_info_info_proto_enumTypes[15].Descriptor() } func (BootReason) Type() protoreflect.EnumType { - return &file_info_info_proto_enumTypes[14] + return &file_info_info_proto_enumTypes[15] } func (x BootReason) Number() protoreflect.EnumNumber { @@ -1074,7 +1135,7 @@ func (x BootReason) Number() protoreflect.EnumNumber { // Deprecated: Use BootReason.Descriptor instead. func (BootReason) EnumDescriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{14} + return file_info_info_proto_rawDescGZIP(), []int{15} } // Different reasons why we are in maintenance mode @@ -1123,11 +1184,11 @@ func (x MaintenanceModeReason) String() string { } func (MaintenanceModeReason) Descriptor() protoreflect.EnumDescriptor { - return file_info_info_proto_enumTypes[15].Descriptor() + return file_info_info_proto_enumTypes[16].Descriptor() } func (MaintenanceModeReason) Type() protoreflect.EnumType { - return &file_info_info_proto_enumTypes[15] + return &file_info_info_proto_enumTypes[16] } func (x MaintenanceModeReason) Number() protoreflect.EnumNumber { @@ -1136,7 +1197,7 @@ func (x MaintenanceModeReason) Number() protoreflect.EnumNumber { // Deprecated: Use MaintenanceModeReason.Descriptor instead. func (MaintenanceModeReason) EnumDescriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{15} + return file_info_info_proto_rawDescGZIP(), []int{16} } // Different states of attestation process @@ -1190,11 +1251,11 @@ func (x AttestationState) String() string { } func (AttestationState) Descriptor() protoreflect.EnumDescriptor { - return file_info_info_proto_enumTypes[16].Descriptor() + return file_info_info_proto_enumTypes[17].Descriptor() } func (AttestationState) Type() protoreflect.EnumType { - return &file_info_info_proto_enumTypes[16] + return &file_info_info_proto_enumTypes[17] } func (x AttestationState) Number() protoreflect.EnumNumber { @@ -1203,7 +1264,7 @@ func (x AttestationState) Number() protoreflect.EnumNumber { // Deprecated: Use AttestationState.Descriptor instead. func (AttestationState) EnumDescriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{16} + return file_info_info_proto_rawDescGZIP(), []int{17} } // Different types of app instance metadata @@ -1240,11 +1301,11 @@ func (x AppInstMetaDataType) String() string { } func (AppInstMetaDataType) Descriptor() protoreflect.EnumDescriptor { - return file_info_info_proto_enumTypes[17].Descriptor() + return file_info_info_proto_enumTypes[18].Descriptor() } func (AppInstMetaDataType) Type() protoreflect.EnumType { - return &file_info_info_proto_enumTypes[17] + return &file_info_info_proto_enumTypes[18] } func (x AppInstMetaDataType) Number() protoreflect.EnumNumber { @@ -1253,7 +1314,7 @@ func (x AppInstMetaDataType) Number() protoreflect.EnumNumber { // Deprecated: Use AppInstMetaDataType.Descriptor instead. func (AppInstMetaDataType) EnumDescriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{17} + return file_info_info_proto_rawDescGZIP(), []int{18} } type WirelessType int32 @@ -1289,11 +1350,11 @@ func (x WirelessType) String() string { } func (WirelessType) Descriptor() protoreflect.EnumDescriptor { - return file_info_info_proto_enumTypes[18].Descriptor() + return file_info_info_proto_enumTypes[19].Descriptor() } func (WirelessType) Type() protoreflect.EnumType { - return &file_info_info_proto_enumTypes[18] + return &file_info_info_proto_enumTypes[19] } func (x WirelessType) Number() protoreflect.EnumNumber { @@ -1302,7 +1363,7 @@ func (x WirelessType) Number() protoreflect.EnumNumber { // Deprecated: Use WirelessType.Descriptor instead. func (WirelessType) EnumDescriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{18} + return file_info_info_proto_rawDescGZIP(), []int{19} } type BaseOsStatus int32 @@ -1351,11 +1412,11 @@ func (x BaseOsStatus) String() string { } func (BaseOsStatus) Descriptor() protoreflect.EnumDescriptor { - return file_info_info_proto_enumTypes[19].Descriptor() + return file_info_info_proto_enumTypes[20].Descriptor() } func (BaseOsStatus) Type() protoreflect.EnumType { - return &file_info_info_proto_enumTypes[19] + return &file_info_info_proto_enumTypes[20] } func (x BaseOsStatus) Number() protoreflect.EnumNumber { @@ -1364,7 +1425,7 @@ func (x BaseOsStatus) Number() protoreflect.EnumNumber { // Deprecated: Use BaseOsStatus.Descriptor instead. func (BaseOsStatus) EnumDescriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{19} + return file_info_info_proto_rawDescGZIP(), []int{20} } type BaseOsSubStatus int32 @@ -1415,11 +1476,11 @@ func (x BaseOsSubStatus) String() string { } func (BaseOsSubStatus) Descriptor() protoreflect.EnumDescriptor { - return file_info_info_proto_enumTypes[20].Descriptor() + return file_info_info_proto_enumTypes[21].Descriptor() } func (BaseOsSubStatus) Type() protoreflect.EnumType { - return &file_info_info_proto_enumTypes[20] + return &file_info_info_proto_enumTypes[21] } func (x BaseOsSubStatus) Number() protoreflect.EnumNumber { @@ -1428,7 +1489,7 @@ func (x BaseOsSubStatus) Number() protoreflect.EnumNumber { // Deprecated: Use BaseOsSubStatus.Descriptor instead. func (BaseOsSubStatus) EnumDescriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{20} + return file_info_info_proto_rawDescGZIP(), []int{21} } // Type of the snapshot creation reason @@ -1465,11 +1526,11 @@ func (x SnapshotType) String() string { } func (SnapshotType) Descriptor() protoreflect.EnumDescriptor { - return file_info_info_proto_enumTypes[21].Descriptor() + return file_info_info_proto_enumTypes[22].Descriptor() } func (SnapshotType) Type() protoreflect.EnumType { - return &file_info_info_proto_enumTypes[21] + return &file_info_info_proto_enumTypes[22] } func (x SnapshotType) Number() protoreflect.EnumNumber { @@ -1478,7 +1539,7 @@ func (x SnapshotType) Number() protoreflect.EnumNumber { // Deprecated: Use SnapshotType.Descriptor instead. func (SnapshotType) EnumDescriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{21} + return file_info_info_proto_rawDescGZIP(), []int{22} } type ZInfoClusterNodeStatus int32 @@ -1517,11 +1578,11 @@ func (x ZInfoClusterNodeStatus) String() string { } func (ZInfoClusterNodeStatus) Descriptor() protoreflect.EnumDescriptor { - return file_info_info_proto_enumTypes[22].Descriptor() + return file_info_info_proto_enumTypes[23].Descriptor() } func (ZInfoClusterNodeStatus) Type() protoreflect.EnumType { - return &file_info_info_proto_enumTypes[22] + return &file_info_info_proto_enumTypes[23] } func (x ZInfoClusterNodeStatus) Number() protoreflect.EnumNumber { @@ -1530,7 +1591,7 @@ func (x ZInfoClusterNodeStatus) Number() protoreflect.EnumNumber { // Deprecated: Use ZInfoClusterNodeStatus.Descriptor instead. func (ZInfoClusterNodeStatus) EnumDescriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{22} + return file_info_info_proto_rawDescGZIP(), []int{23} } // ipSec state information @@ -1579,11 +1640,11 @@ func (x ZInfoVpnState) String() string { } func (ZInfoVpnState) Descriptor() protoreflect.EnumDescriptor { - return file_info_info_proto_enumTypes[23].Descriptor() + return file_info_info_proto_enumTypes[24].Descriptor() } func (ZInfoVpnState) Type() protoreflect.EnumType { - return &file_info_info_proto_enumTypes[23] + return &file_info_info_proto_enumTypes[24] } func (x ZInfoVpnState) Number() protoreflect.EnumNumber { @@ -1592,7 +1653,7 @@ func (x ZInfoVpnState) Number() protoreflect.EnumNumber { // Deprecated: Use ZInfoVpnState.Descriptor instead. func (ZInfoVpnState) EnumDescriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{23} + return file_info_info_proto_rawDescGZIP(), []int{24} } type ZNetworkInstanceState int32 @@ -1633,11 +1694,11 @@ func (x ZNetworkInstanceState) String() string { } func (ZNetworkInstanceState) Descriptor() protoreflect.EnumDescriptor { - return file_info_info_proto_enumTypes[24].Descriptor() + return file_info_info_proto_enumTypes[25].Descriptor() } func (ZNetworkInstanceState) Type() protoreflect.EnumType { - return &file_info_info_proto_enumTypes[24] + return &file_info_info_proto_enumTypes[25] } func (x ZNetworkInstanceState) Number() protoreflect.EnumNumber { @@ -1646,7 +1707,7 @@ func (x ZNetworkInstanceState) Number() protoreflect.EnumNumber { // Deprecated: Use ZNetworkInstanceState.Descriptor instead. func (ZNetworkInstanceState) EnumDescriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{24} + return file_info_info_proto_rawDescGZIP(), []int{25} } // LocReliability - reliability of location information. @@ -1689,11 +1750,11 @@ func (x LocReliability) String() string { } func (LocReliability) Descriptor() protoreflect.EnumDescriptor { - return file_info_info_proto_enumTypes[25].Descriptor() + return file_info_info_proto_enumTypes[26].Descriptor() } func (LocReliability) Type() protoreflect.EnumType { - return &file_info_info_proto_enumTypes[25] + return &file_info_info_proto_enumTypes[26] } func (x LocReliability) Number() protoreflect.EnumNumber { @@ -1702,7 +1763,7 @@ func (x LocReliability) Number() protoreflect.EnumNumber { // Deprecated: Use LocReliability.Descriptor instead. func (LocReliability) EnumDescriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{25} + return file_info_info_proto_rawDescGZIP(), []int{26} } type SmartAttr struct { @@ -4104,6 +4165,126 @@ func (x *StorageInfo) GetPoolStatusMsg() string { return "" } +// CPUPoolUtilization reports one CPU pool's extent and how much of it is +// still available. +// +// Both the CPU *sets* and the summary counts are reported: the counts +// answer "how much is left" directly, while the sets let a consumer +// compute availability per request shape by grouping them into physical +// cores via the (socket_id, core_id) coordinates in +// HardwareInventory.CPUInfo. That distinction matters — free threads +// sitting on partially-allocated cores cannot satisfy a request for whole +// physical cores, so a single "free" number would answer the question +// wrongly for one of the two request shapes. +type CPUPoolUtilization struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Kind CPUPoolKind `protobuf:"varint,1,opt,name=kind,proto3,enum=org.lfedge.eve.info.CPUPoolKind" json:"kind,omitempty"` + // Every logical CPU in this pool. + CpuIds []uint32 `protobuf:"varint,2,rep,packed,name=cpu_ids,json=cpuIds,proto3" json:"cpu_ids,omitempty"` + // The subset of cpu_ids not currently allocated to any workload. + FreeCpuIds []uint32 `protobuf:"varint,3,rep,packed,name=free_cpu_ids,json=freeCpuIds,proto3" json:"free_cpu_ids,omitempty"` + // Summary counts, derived from the sets above. + TotalThreads uint32 `protobuf:"varint,4,opt,name=total_threads,json=totalThreads,proto3" json:"total_threads,omitempty"` + AllocatedThreads uint32 `protobuf:"varint,5,opt,name=allocated_threads,json=allocatedThreads,proto3" json:"allocated_threads,omitempty"` + FreeThreads uint32 `protobuf:"varint,6,opt,name=free_threads,json=freeThreads,proto3" json:"free_threads,omitempty"` + // Physical cores all of whose SMT siblings lie in this pool. + TotalCores uint32 `protobuf:"varint,7,opt,name=total_cores,json=totalCores,proto3" json:"total_cores,omitempty"` + // Physical cores all of whose SMT siblings are free — the number that + // actually bounds how many whole-core workloads still fit. + FreeWholeCores uint32 `protobuf:"varint,8,opt,name=free_whole_cores,json=freeWholeCores,proto3" json:"free_whole_cores,omitempty"` +} + +func (x *CPUPoolUtilization) Reset() { + *x = CPUPoolUtilization{} + if protoimpl.UnsafeEnabled { + mi := &file_info_info_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CPUPoolUtilization) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CPUPoolUtilization) ProtoMessage() {} + +func (x *CPUPoolUtilization) ProtoReflect() protoreflect.Message { + mi := &file_info_info_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 CPUPoolUtilization.ProtoReflect.Descriptor instead. +func (*CPUPoolUtilization) Descriptor() ([]byte, []int) { + return file_info_info_proto_rawDescGZIP(), []int{28} +} + +func (x *CPUPoolUtilization) GetKind() CPUPoolKind { + if x != nil { + return x.Kind + } + return CPUPoolKind_CPU_POOL_KIND_UNSPECIFIED +} + +func (x *CPUPoolUtilization) GetCpuIds() []uint32 { + if x != nil { + return x.CpuIds + } + return nil +} + +func (x *CPUPoolUtilization) GetFreeCpuIds() []uint32 { + if x != nil { + return x.FreeCpuIds + } + return nil +} + +func (x *CPUPoolUtilization) GetTotalThreads() uint32 { + if x != nil { + return x.TotalThreads + } + return 0 +} + +func (x *CPUPoolUtilization) GetAllocatedThreads() uint32 { + if x != nil { + return x.AllocatedThreads + } + return 0 +} + +func (x *CPUPoolUtilization) GetFreeThreads() uint32 { + if x != nil { + return x.FreeThreads + } + return 0 +} + +func (x *CPUPoolUtilization) GetTotalCores() uint32 { + if x != nil { + return x.TotalCores + } + return 0 +} + +func (x *CPUPoolUtilization) GetFreeWholeCores() uint32 { + if x != nil { + return x.FreeWholeCores + } + return 0 +} + // Base device info, as discovered by Xen (or OS on bare metal) type ZInfoDevice struct { state protoimpl.MessageState @@ -4200,12 +4381,18 @@ type ZInfoDevice struct { // Device-reported information about certificates currently enrolled // on the device, typically via network enrollment protocols such as SCEP. EnrolledCerts []*CertInfo `protobuf:"bytes,60,rep,name=enrolled_certs,json=enrolledCerts,proto3" json:"enrolled_certs,omitempty"` + // Current CPU partitioning and utilization, one entry per pool. Dynamic + // state, deliberately reported here (change-driven and periodic) rather + // than on the cached hardware inventory. Lets a controller answer + // "will this workload fit?" before a deploy and explain an + // "cpu.placement.insufficient" failure after one. + CpuPools []*CPUPoolUtilization `protobuf:"bytes,61,rep,name=cpu_pools,json=cpuPools,proto3" json:"cpu_pools,omitempty"` } func (x *ZInfoDevice) Reset() { *x = ZInfoDevice{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[28] + mi := &file_info_info_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4218,7 +4405,7 @@ func (x *ZInfoDevice) String() string { func (*ZInfoDevice) ProtoMessage() {} func (x *ZInfoDevice) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[28] + mi := &file_info_info_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4231,7 +4418,7 @@ func (x *ZInfoDevice) ProtoReflect() protoreflect.Message { // Deprecated: Use ZInfoDevice.ProtoReflect.Descriptor instead. func (*ZInfoDevice) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{28} + return file_info_info_proto_rawDescGZIP(), []int{29} } func (x *ZInfoDevice) GetMachineArch() string { @@ -4614,6 +4801,13 @@ func (x *ZInfoDevice) GetEnrolledCerts() []*CertInfo { return nil } +func (x *ZInfoDevice) GetCpuPools() []*CPUPoolUtilization { + if x != nil { + return x.CpuPools + } + return nil +} + // OptionalCapabilities indicates any additional capabilities device wants // to publish to controller. For example Kubevirt hypervisor is not supported by // all eve flavors. @@ -4640,7 +4834,7 @@ type OptionalCapabilities struct { func (x *OptionalCapabilities) Reset() { *x = OptionalCapabilities{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[29] + mi := &file_info_info_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4653,7 +4847,7 @@ func (x *OptionalCapabilities) String() string { func (*OptionalCapabilities) ProtoMessage() {} func (x *OptionalCapabilities) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[29] + mi := &file_info_info_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4666,7 +4860,7 @@ func (x *OptionalCapabilities) ProtoReflect() protoreflect.Message { // Deprecated: Use OptionalCapabilities.ProtoReflect.Descriptor instead. func (*OptionalCapabilities) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{29} + return file_info_info_proto_rawDescGZIP(), []int{30} } func (x *OptionalCapabilities) GetHvTypeKubevirt() bool { @@ -4710,7 +4904,7 @@ type AttestationInfo struct { func (x *AttestationInfo) Reset() { *x = AttestationInfo{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[30] + mi := &file_info_info_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4723,7 +4917,7 @@ func (x *AttestationInfo) String() string { func (*AttestationInfo) ProtoMessage() {} func (x *AttestationInfo) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[30] + mi := &file_info_info_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4736,7 +4930,7 @@ func (x *AttestationInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use AttestationInfo.ProtoReflect.Descriptor instead. func (*AttestationInfo) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{30} + return file_info_info_proto_rawDescGZIP(), []int{31} } func (x *AttestationInfo) GetState() AttestationState { @@ -4766,7 +4960,7 @@ type SystemAdapterInfo struct { func (x *SystemAdapterInfo) Reset() { *x = SystemAdapterInfo{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[31] + mi := &file_info_info_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4779,7 +4973,7 @@ func (x *SystemAdapterInfo) String() string { func (*SystemAdapterInfo) ProtoMessage() {} func (x *SystemAdapterInfo) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[31] + mi := &file_info_info_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4792,7 +4986,7 @@ func (x *SystemAdapterInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use SystemAdapterInfo.ProtoReflect.Descriptor instead. func (*SystemAdapterInfo) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{31} + return file_info_info_proto_rawDescGZIP(), []int{32} } func (x *SystemAdapterInfo) GetCurrentIndex() uint32 { @@ -4826,7 +5020,7 @@ type DevicePortStatus struct { func (x *DevicePortStatus) Reset() { *x = DevicePortStatus{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[32] + mi := &file_info_info_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4839,7 +5033,7 @@ func (x *DevicePortStatus) String() string { func (*DevicePortStatus) ProtoMessage() {} func (x *DevicePortStatus) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[32] + mi := &file_info_info_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4852,7 +5046,7 @@ func (x *DevicePortStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use DevicePortStatus.ProtoReflect.Descriptor instead. func (*DevicePortStatus) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{32} + return file_info_info_proto_rawDescGZIP(), []int{33} } func (x *DevicePortStatus) GetVersion() uint32 { @@ -4952,7 +5146,7 @@ type DevicePort struct { func (x *DevicePort) Reset() { *x = DevicePort{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[33] + mi := &file_info_info_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4965,7 +5159,7 @@ func (x *DevicePort) String() string { func (*DevicePort) ProtoMessage() {} func (x *DevicePort) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[33] + mi := &file_info_info_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4978,7 +5172,7 @@ func (x *DevicePort) ProtoReflect() protoreflect.Message { // Deprecated: Use DevicePort.ProtoReflect.Descriptor instead. func (*DevicePort) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{33} + return file_info_info_proto_rawDescGZIP(), []int{34} } func (x *DevicePort) GetIfname() string { @@ -5200,7 +5394,7 @@ type ProxyStatus struct { func (x *ProxyStatus) Reset() { *x = ProxyStatus{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[34] + mi := &file_info_info_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5213,7 +5407,7 @@ func (x *ProxyStatus) String() string { func (*ProxyStatus) ProtoMessage() {} func (x *ProxyStatus) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[34] + mi := &file_info_info_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5226,7 +5420,7 @@ func (x *ProxyStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use ProxyStatus.ProtoReflect.Descriptor instead. func (*ProxyStatus) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{34} + return file_info_info_proto_rawDescGZIP(), []int{35} } func (x *ProxyStatus) GetProxies() []*ProxyEntry { @@ -5284,7 +5478,7 @@ type ProxyEntry struct { func (x *ProxyEntry) Reset() { *x = ProxyEntry{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[35] + mi := &file_info_info_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5297,7 +5491,7 @@ func (x *ProxyEntry) String() string { func (*ProxyEntry) ProtoMessage() {} func (x *ProxyEntry) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[35] + mi := &file_info_info_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5310,7 +5504,7 @@ func (x *ProxyEntry) ProtoReflect() protoreflect.Message { // Deprecated: Use ProxyEntry.ProtoReflect.Descriptor instead. func (*ProxyEntry) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{35} + return file_info_info_proto_rawDescGZIP(), []int{36} } func (x *ProxyEntry) GetType() uint32 { @@ -5346,7 +5540,7 @@ type WirelessStatus struct { func (x *WirelessStatus) Reset() { *x = WirelessStatus{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[36] + mi := &file_info_info_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5359,7 +5553,7 @@ func (x *WirelessStatus) String() string { func (*WirelessStatus) ProtoMessage() {} func (x *WirelessStatus) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[36] + mi := &file_info_info_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5372,7 +5566,7 @@ func (x *WirelessStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use WirelessStatus.ProtoReflect.Descriptor instead. func (*WirelessStatus) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{36} + return file_info_info_proto_rawDescGZIP(), []int{37} } func (x *WirelessStatus) GetType() WirelessType { @@ -5425,7 +5619,7 @@ type ZCellularStatus struct { func (x *ZCellularStatus) Reset() { *x = ZCellularStatus{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[37] + mi := &file_info_info_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5438,7 +5632,7 @@ func (x *ZCellularStatus) String() string { func (*ZCellularStatus) ProtoMessage() {} func (x *ZCellularStatus) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[37] + mi := &file_info_info_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5451,7 +5645,7 @@ func (x *ZCellularStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use ZCellularStatus.ProtoReflect.Descriptor instead. func (*ZCellularStatus) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{37} + return file_info_info_proto_rawDescGZIP(), []int{38} } func (x *ZCellularStatus) GetCellularModule() string { @@ -5544,7 +5738,7 @@ type ZInfoDevSW struct { func (x *ZInfoDevSW) Reset() { *x = ZInfoDevSW{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[38] + mi := &file_info_info_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5557,7 +5751,7 @@ func (x *ZInfoDevSW) String() string { func (*ZInfoDevSW) ProtoMessage() {} func (x *ZInfoDevSW) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[38] + mi := &file_info_info_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5570,7 +5764,7 @@ func (x *ZInfoDevSW) ProtoReflect() protoreflect.Message { // Deprecated: Use ZInfoDevSW.ProtoReflect.Descriptor instead. func (*ZInfoDevSW) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{38} + return file_info_info_proto_rawDescGZIP(), []int{39} } func (x *ZInfoDevSW) GetActivated() bool { @@ -5695,7 +5889,7 @@ type ZInfoStorage struct { func (x *ZInfoStorage) Reset() { *x = ZInfoStorage{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[39] + mi := &file_info_info_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5708,7 +5902,7 @@ func (x *ZInfoStorage) String() string { func (*ZInfoStorage) ProtoMessage() {} func (x *ZInfoStorage) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[39] + mi := &file_info_info_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5721,7 +5915,7 @@ func (x *ZInfoStorage) ProtoReflect() protoreflect.Message { // Deprecated: Use ZInfoStorage.ProtoReflect.Descriptor instead. func (*ZInfoStorage) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{39} + return file_info_info_proto_rawDescGZIP(), []int{40} } func (x *ZInfoStorage) GetDevice() string { @@ -5811,7 +6005,7 @@ type ZInfoSnapshot struct { func (x *ZInfoSnapshot) Reset() { *x = ZInfoSnapshot{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[40] + mi := &file_info_info_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5824,7 +6018,7 @@ func (x *ZInfoSnapshot) String() string { func (*ZInfoSnapshot) ProtoMessage() {} func (x *ZInfoSnapshot) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[40] + mi := &file_info_info_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5837,7 +6031,7 @@ func (x *ZInfoSnapshot) ProtoReflect() protoreflect.Message { // Deprecated: Use ZInfoSnapshot.ProtoReflect.Descriptor instead. func (*ZInfoSnapshot) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{40} + return file_info_info_proto_rawDescGZIP(), []int{41} } func (x *ZInfoSnapshot) GetId() string { @@ -5893,7 +6087,7 @@ type ZInfoClusterNode struct { func (x *ZInfoClusterNode) Reset() { *x = ZInfoClusterNode{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[41] + mi := &file_info_info_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5906,7 +6100,7 @@ func (x *ZInfoClusterNode) String() string { func (*ZInfoClusterNode) ProtoMessage() {} func (x *ZInfoClusterNode) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[41] + mi := &file_info_info_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5919,7 +6113,7 @@ func (x *ZInfoClusterNode) ProtoReflect() protoreflect.Message { // Deprecated: Use ZInfoClusterNode.ProtoReflect.Descriptor instead. func (*ZInfoClusterNode) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{41} + return file_info_info_proto_rawDescGZIP(), []int{42} } func (x *ZInfoClusterNode) GetNodeStatus() ZInfoClusterNodeStatus { @@ -5955,7 +6149,7 @@ type ZInfoApp struct { func (x *ZInfoApp) Reset() { *x = ZInfoApp{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[42] + mi := &file_info_info_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5968,7 +6162,7 @@ func (x *ZInfoApp) String() string { func (*ZInfoApp) ProtoMessage() {} func (x *ZInfoApp) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[42] + mi := &file_info_info_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5981,7 +6175,7 @@ func (x *ZInfoApp) ProtoReflect() protoreflect.Message { // Deprecated: Use ZInfoApp.ProtoReflect.Descriptor instead. func (*ZInfoApp) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{42} + return file_info_info_proto_rawDescGZIP(), []int{43} } func (x *ZInfoApp) GetAppID() string { @@ -6089,7 +6283,7 @@ type ZInfoVpnLinkInfo struct { func (x *ZInfoVpnLinkInfo) Reset() { *x = ZInfoVpnLinkInfo{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[43] + mi := &file_info_info_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6102,7 +6296,7 @@ func (x *ZInfoVpnLinkInfo) String() string { func (*ZInfoVpnLinkInfo) ProtoMessage() {} func (x *ZInfoVpnLinkInfo) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[43] + mi := &file_info_info_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6115,7 +6309,7 @@ func (x *ZInfoVpnLinkInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ZInfoVpnLinkInfo.ProtoReflect.Descriptor instead. func (*ZInfoVpnLinkInfo) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{43} + return file_info_info_proto_rawDescGZIP(), []int{44} } func (x *ZInfoVpnLinkInfo) GetSpiId() string { @@ -6158,7 +6352,7 @@ type ZInfoVpnLink struct { func (x *ZInfoVpnLink) Reset() { *x = ZInfoVpnLink{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[44] + mi := &file_info_info_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6171,7 +6365,7 @@ func (x *ZInfoVpnLink) String() string { func (*ZInfoVpnLink) ProtoMessage() {} func (x *ZInfoVpnLink) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[44] + mi := &file_info_info_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6184,7 +6378,7 @@ func (x *ZInfoVpnLink) ProtoReflect() protoreflect.Message { // Deprecated: Use ZInfoVpnLink.ProtoReflect.Descriptor instead. func (*ZInfoVpnLink) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{44} + return file_info_info_proto_rawDescGZIP(), []int{45} } func (x *ZInfoVpnLink) GetId() string { @@ -6257,7 +6451,7 @@ type ZInfoVpnEndPoint struct { func (x *ZInfoVpnEndPoint) Reset() { *x = ZInfoVpnEndPoint{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[45] + mi := &file_info_info_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6270,7 +6464,7 @@ func (x *ZInfoVpnEndPoint) String() string { func (*ZInfoVpnEndPoint) ProtoMessage() {} func (x *ZInfoVpnEndPoint) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[45] + mi := &file_info_info_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6283,7 +6477,7 @@ func (x *ZInfoVpnEndPoint) ProtoReflect() protoreflect.Message { // Deprecated: Use ZInfoVpnEndPoint.ProtoReflect.Descriptor instead. func (*ZInfoVpnEndPoint) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{45} + return file_info_info_proto_rawDescGZIP(), []int{46} } func (x *ZInfoVpnEndPoint) GetId() string { @@ -6327,7 +6521,7 @@ type ZInfoVpnConn struct { func (x *ZInfoVpnConn) Reset() { *x = ZInfoVpnConn{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[46] + mi := &file_info_info_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6340,7 +6534,7 @@ func (x *ZInfoVpnConn) String() string { func (*ZInfoVpnConn) ProtoMessage() {} func (x *ZInfoVpnConn) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[46] + mi := &file_info_info_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6353,7 +6547,7 @@ func (x *ZInfoVpnConn) ProtoReflect() protoreflect.Message { // Deprecated: Use ZInfoVpnConn.ProtoReflect.Descriptor instead. func (*ZInfoVpnConn) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{46} + return file_info_info_proto_rawDescGZIP(), []int{47} } func (x *ZInfoVpnConn) GetId() string { @@ -6434,7 +6628,7 @@ type ZInfoVpn struct { func (x *ZInfoVpn) Reset() { *x = ZInfoVpn{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[47] + mi := &file_info_info_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6447,7 +6641,7 @@ func (x *ZInfoVpn) String() string { func (*ZInfoVpn) ProtoMessage() {} func (x *ZInfoVpn) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[47] + mi := &file_info_info_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6460,7 +6654,7 @@ func (x *ZInfoVpn) ProtoReflect() protoreflect.Message { // Deprecated: Use ZInfoVpn.ProtoReflect.Descriptor instead. func (*ZInfoVpn) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{47} + return file_info_info_proto_rawDescGZIP(), []int{48} } func (x *ZInfoVpn) GetUpTime() uint64 { @@ -6561,7 +6755,7 @@ type ZInfoNetworkInstance struct { func (x *ZInfoNetworkInstance) Reset() { *x = ZInfoNetworkInstance{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[48] + mi := &file_info_info_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6574,7 +6768,7 @@ func (x *ZInfoNetworkInstance) String() string { func (*ZInfoNetworkInstance) ProtoMessage() {} func (x *ZInfoNetworkInstance) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[48] + mi := &file_info_info_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6587,7 +6781,7 @@ func (x *ZInfoNetworkInstance) ProtoReflect() protoreflect.Message { // Deprecated: Use ZInfoNetworkInstance.ProtoReflect.Descriptor instead. func (*ZInfoNetworkInstance) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{48} + return file_info_info_proto_rawDescGZIP(), []int{49} } func (x *ZInfoNetworkInstance) GetNetworkID() string { @@ -6794,7 +6988,7 @@ type IPRoute struct { func (x *IPRoute) Reset() { *x = IPRoute{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[49] + mi := &file_info_info_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6807,7 +7001,7 @@ func (x *IPRoute) String() string { func (*IPRoute) ProtoMessage() {} func (x *IPRoute) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[49] + mi := &file_info_info_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6820,7 +7014,7 @@ func (x *IPRoute) ProtoReflect() protoreflect.Message { // Deprecated: Use IPRoute.ProtoReflect.Descriptor instead. func (*IPRoute) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{49} + return file_info_info_proto_rawDescGZIP(), []int{50} } func (x *IPRoute) GetDestinationNetwork() string { @@ -6864,7 +7058,7 @@ type UsageInfo struct { func (x *UsageInfo) Reset() { *x = UsageInfo{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[50] + mi := &file_info_info_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6877,7 +7071,7 @@ func (x *UsageInfo) String() string { func (*UsageInfo) ProtoMessage() {} func (x *UsageInfo) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[50] + mi := &file_info_info_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6890,7 +7084,7 @@ func (x *UsageInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use UsageInfo.ProtoReflect.Descriptor instead. func (*UsageInfo) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{50} + return file_info_info_proto_rawDescGZIP(), []int{51} } func (x *UsageInfo) GetCreateTime() *timestamppb.Timestamp { @@ -6926,7 +7120,7 @@ type VolumeResources struct { func (x *VolumeResources) Reset() { *x = VolumeResources{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[51] + mi := &file_info_info_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6939,7 +7133,7 @@ func (x *VolumeResources) String() string { func (*VolumeResources) ProtoMessage() {} func (x *VolumeResources) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[51] + mi := &file_info_info_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6952,7 +7146,7 @@ func (x *VolumeResources) ProtoReflect() protoreflect.Message { // Deprecated: Use VolumeResources.ProtoReflect.Descriptor instead. func (*VolumeResources) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{51} + return file_info_info_proto_rawDescGZIP(), []int{52} } func (x *VolumeResources) GetMaxSizeBytes() uint64 { @@ -6997,7 +7191,7 @@ type ZInfoVolume struct { func (x *ZInfoVolume) Reset() { *x = ZInfoVolume{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[52] + mi := &file_info_info_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7010,7 +7204,7 @@ func (x *ZInfoVolume) String() string { func (*ZInfoVolume) ProtoMessage() {} func (x *ZInfoVolume) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[52] + mi := &file_info_info_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7023,7 +7217,7 @@ func (x *ZInfoVolume) ProtoReflect() protoreflect.Message { // Deprecated: Use ZInfoVolume.ProtoReflect.Descriptor instead. func (*ZInfoVolume) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{52} + return file_info_info_proto_rawDescGZIP(), []int{53} } func (x *ZInfoVolume) GetUuid() string { @@ -7093,7 +7287,7 @@ type ContentResources struct { func (x *ContentResources) Reset() { *x = ContentResources{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[53] + mi := &file_info_info_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7106,7 +7300,7 @@ func (x *ContentResources) String() string { func (*ContentResources) ProtoMessage() {} func (x *ContentResources) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[53] + mi := &file_info_info_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7119,7 +7313,7 @@ func (x *ContentResources) ProtoReflect() protoreflect.Message { // Deprecated: Use ContentResources.ProtoReflect.Descriptor instead. func (*ContentResources) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{53} + return file_info_info_proto_rawDescGZIP(), []int{54} } func (x *ContentResources) GetCurSizeBytes() uint64 { @@ -7162,7 +7356,7 @@ type ZInfoContentTree struct { func (x *ZInfoContentTree) Reset() { *x = ZInfoContentTree{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[54] + mi := &file_info_info_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7175,7 +7369,7 @@ func (x *ZInfoContentTree) String() string { func (*ZInfoContentTree) ProtoMessage() {} func (x *ZInfoContentTree) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[54] + mi := &file_info_info_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7188,7 +7382,7 @@ func (x *ZInfoContentTree) ProtoReflect() protoreflect.Message { // Deprecated: Use ZInfoContentTree.ProtoReflect.Descriptor instead. func (*ZInfoContentTree) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{54} + return file_info_info_proto_rawDescGZIP(), []int{55} } func (x *ZInfoContentTree) GetUuid() string { @@ -7286,7 +7480,7 @@ type ZInfoBlob struct { func (x *ZInfoBlob) Reset() { *x = ZInfoBlob{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[55] + mi := &file_info_info_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7299,7 +7493,7 @@ func (x *ZInfoBlob) String() string { func (*ZInfoBlob) ProtoMessage() {} func (x *ZInfoBlob) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[55] + mi := &file_info_info_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7312,7 +7506,7 @@ func (x *ZInfoBlob) ProtoReflect() protoreflect.Message { // Deprecated: Use ZInfoBlob.ProtoReflect.Descriptor instead. func (*ZInfoBlob) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{55} + return file_info_info_proto_rawDescGZIP(), []int{56} } func (x *ZInfoBlob) GetSha256() string { @@ -7369,7 +7563,7 @@ type ZInfoBlobList struct { func (x *ZInfoBlobList) Reset() { *x = ZInfoBlobList{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[56] + mi := &file_info_info_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7382,7 +7576,7 @@ func (x *ZInfoBlobList) String() string { func (*ZInfoBlobList) ProtoMessage() {} func (x *ZInfoBlobList) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[56] + mi := &file_info_info_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7395,7 +7589,7 @@ func (x *ZInfoBlobList) ProtoReflect() protoreflect.Message { // Deprecated: Use ZInfoBlobList.ProtoReflect.Descriptor instead. func (*ZInfoBlobList) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{56} + return file_info_info_proto_rawDescGZIP(), []int{57} } func (x *ZInfoBlobList) GetBlob() []*ZInfoBlob { @@ -7442,7 +7636,7 @@ type ZInfoMsg struct { func (x *ZInfoMsg) Reset() { *x = ZInfoMsg{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[57] + mi := &file_info_info_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7455,7 +7649,7 @@ func (x *ZInfoMsg) String() string { func (*ZInfoMsg) ProtoMessage() {} func (x *ZInfoMsg) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[57] + mi := &file_info_info_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7468,7 +7662,7 @@ func (x *ZInfoMsg) ProtoReflect() protoreflect.Message { // Deprecated: Use ZInfoMsg.ProtoReflect.Descriptor instead. func (*ZInfoMsg) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{57} + return file_info_info_proto_rawDescGZIP(), []int{58} } func (x *ZInfoMsg) GetZtype() ZInfoTypes { @@ -7717,7 +7911,7 @@ type Capabilities struct { func (x *Capabilities) Reset() { *x = Capabilities{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[58] + mi := &file_info_info_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7730,7 +7924,7 @@ func (x *Capabilities) String() string { func (*Capabilities) ProtoMessage() {} func (x *Capabilities) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[58] + mi := &file_info_info_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7743,7 +7937,7 @@ func (x *Capabilities) ProtoReflect() protoreflect.Message { // Deprecated: Use Capabilities.ProtoReflect.Descriptor instead. func (*Capabilities) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{58} + return file_info_info_proto_rawDescGZIP(), []int{59} } func (x *Capabilities) GetHWAssistedVirtualization() bool { @@ -7776,7 +7970,7 @@ type ZInfoAppInstMetaData struct { func (x *ZInfoAppInstMetaData) Reset() { *x = ZInfoAppInstMetaData{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[59] + mi := &file_info_info_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7789,7 +7983,7 @@ func (x *ZInfoAppInstMetaData) String() string { func (*ZInfoAppInstMetaData) ProtoMessage() {} func (x *ZInfoAppInstMetaData) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[59] + mi := &file_info_info_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7802,7 +7996,7 @@ func (x *ZInfoAppInstMetaData) ProtoReflect() protoreflect.Message { // Deprecated: Use ZInfoAppInstMetaData.ProtoReflect.Descriptor instead. func (*ZInfoAppInstMetaData) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{59} + return file_info_info_proto_rawDescGZIP(), []int{60} } func (x *ZInfoAppInstMetaData) GetUuid() string { @@ -7847,7 +8041,7 @@ type ZInfoEdgeview struct { func (x *ZInfoEdgeview) Reset() { *x = ZInfoEdgeview{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[60] + mi := &file_info_info_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7860,7 +8054,7 @@ func (x *ZInfoEdgeview) String() string { func (*ZInfoEdgeview) ProtoMessage() {} func (x *ZInfoEdgeview) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[60] + mi := &file_info_info_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7873,7 +8067,7 @@ func (x *ZInfoEdgeview) ProtoReflect() protoreflect.Message { // Deprecated: Use ZInfoEdgeview.ProtoReflect.Descriptor instead. func (*ZInfoEdgeview) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{60} + return file_info_info_proto_rawDescGZIP(), []int{61} } func (x *ZInfoEdgeview) GetExpireTime() *timestamppb.Timestamp { @@ -7957,7 +8151,7 @@ type ZInfoLocation struct { func (x *ZInfoLocation) Reset() { *x = ZInfoLocation{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[61] + mi := &file_info_info_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7970,7 +8164,7 @@ func (x *ZInfoLocation) String() string { func (*ZInfoLocation) ProtoMessage() {} func (x *ZInfoLocation) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[61] + mi := &file_info_info_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7983,7 +8177,7 @@ func (x *ZInfoLocation) ProtoReflect() protoreflect.Message { // Deprecated: Use ZInfoLocation.ProtoReflect.Descriptor instead. func (*ZInfoLocation) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{61} + return file_info_info_proto_rawDescGZIP(), []int{62} } func (x *ZInfoLocation) GetLatitude() float64 { @@ -8073,7 +8267,7 @@ type ZInfoKubeClusterUpdateStatus struct { func (x *ZInfoKubeClusterUpdateStatus) Reset() { *x = ZInfoKubeClusterUpdateStatus{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[62] + mi := &file_info_info_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8086,7 +8280,7 @@ func (x *ZInfoKubeClusterUpdateStatus) String() string { func (*ZInfoKubeClusterUpdateStatus) ProtoMessage() {} func (x *ZInfoKubeClusterUpdateStatus) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[62] + mi := &file_info_info_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8099,7 +8293,7 @@ func (x *ZInfoKubeClusterUpdateStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use ZInfoKubeClusterUpdateStatus.ProtoReflect.Descriptor instead. func (*ZInfoKubeClusterUpdateStatus) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{62} + return file_info_info_proto_rawDescGZIP(), []int{63} } func (x *ZInfoKubeClusterUpdateStatus) GetCurrentNode() string { @@ -8161,7 +8355,7 @@ type ZInfoKubeCluster struct { func (x *ZInfoKubeCluster) Reset() { *x = ZInfoKubeCluster{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[63] + mi := &file_info_info_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8174,7 +8368,7 @@ func (x *ZInfoKubeCluster) String() string { func (*ZInfoKubeCluster) ProtoMessage() {} func (x *ZInfoKubeCluster) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[63] + mi := &file_info_info_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8187,7 +8381,7 @@ func (x *ZInfoKubeCluster) ProtoReflect() protoreflect.Message { // Deprecated: Use ZInfoKubeCluster.ProtoReflect.Descriptor instead. func (*ZInfoKubeCluster) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{63} + return file_info_info_proto_rawDescGZIP(), []int{64} } func (x *ZInfoKubeCluster) GetNodes() []*KubeNodeInfo { @@ -8256,7 +8450,7 @@ type ZInfoHardware struct { func (x *ZInfoHardware) Reset() { *x = ZInfoHardware{} if protoimpl.UnsafeEnabled { - mi := &file_info_info_proto_msgTypes[64] + mi := &file_info_info_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8269,7 +8463,7 @@ func (x *ZInfoHardware) String() string { func (*ZInfoHardware) ProtoMessage() {} func (x *ZInfoHardware) ProtoReflect() protoreflect.Message { - mi := &file_info_info_proto_msgTypes[64] + mi := &file_info_info_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8282,7 +8476,7 @@ func (x *ZInfoHardware) ProtoReflect() protoreflect.Message { // Deprecated: Use ZInfoHardware.ProtoReflect.Descriptor instead. func (*ZInfoHardware) Descriptor() ([]byte, []int) { - return file_info_info_proto_rawDescGZIP(), []int{64} + return file_info_info_proto_rawDescGZIP(), []int{65} } // Deprecated: Marked as deprecated in info/info.proto. @@ -8769,1304 +8963,1337 @@ var file_info_info_proto_rawDesc = []byte{ 0x6e, 0x52, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x6f, 0x6f, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x4d, 0x73, 0x67, 0x22, 0xe0, 0x17, 0x0a, 0x0b, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x41, 0x72, - 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, - 0x65, 0x41, 0x72, 0x63, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x70, 0x75, 0x41, 0x72, 0x63, 0x68, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x70, 0x75, 0x41, 0x72, 0x63, 0x68, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x63, 0x70, 0x75, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6e, 0x63, 0x70, 0x75, 0x12, - 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x70, 0x6f, - 0x77, 0x65, 0x72, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, - 0x3c, 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, - 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, - 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x6e, 0x75, 0x66, 0x61, - 0x63, 0x74, 0x75, 0x72, 0x65, 0x72, 0x52, 0x05, 0x6d, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x3b, 0x0a, - 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, + 0x4d, 0x73, 0x67, 0x22, 0xc5, 0x02, 0x0a, 0x12, 0x43, 0x50, 0x55, 0x50, 0x6f, 0x6f, 0x6c, 0x55, + 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x04, 0x6b, 0x69, + 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, + 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, + 0x50, 0x55, 0x50, 0x6f, 0x6f, 0x6c, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x12, 0x17, 0x0a, 0x07, 0x63, 0x70, 0x75, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0d, 0x52, 0x06, 0x63, 0x70, 0x75, 0x49, 0x64, 0x73, 0x12, 0x20, 0x0a, 0x0c, 0x66, 0x72, 0x65, + 0x65, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, + 0x0a, 0x66, 0x72, 0x65, 0x65, 0x43, 0x70, 0x75, 0x49, 0x64, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, + 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x68, + 0x72, 0x65, 0x61, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x61, 0x6c, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x65, 0x64, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x12, 0x21, 0x0a, + 0x0c, 0x66, 0x72, 0x65, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x66, 0x72, 0x65, 0x65, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, + 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x72, 0x65, + 0x73, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x72, 0x65, 0x65, 0x5f, 0x77, 0x68, 0x6f, 0x6c, 0x65, 0x5f, + 0x63, 0x6f, 0x72, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x66, 0x72, 0x65, + 0x65, 0x57, 0x68, 0x6f, 0x6c, 0x65, 0x43, 0x6f, 0x72, 0x65, 0x73, 0x22, 0xa6, 0x18, 0x0a, 0x0b, + 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x41, 0x72, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x41, 0x72, 0x63, 0x68, 0x12, 0x18, 0x0a, + 0x07, 0x63, 0x70, 0x75, 0x41, 0x72, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x63, 0x70, 0x75, 0x41, 0x72, 0x63, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x63, 0x70, 0x75, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x04, 0x6e, 0x63, 0x70, 0x75, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, + 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, + 0x18, 0x0a, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x70, 0x6f, 0x77, + 0x65, 0x72, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x43, 0x79, 0x63, 0x6c, 0x65, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x3c, 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x66, 0x6f, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, + 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, + 0x66, 0x6f, 0x4d, 0x61, 0x6e, 0x75, 0x66, 0x61, 0x63, 0x74, 0x75, 0x72, 0x65, 0x72, 0x52, 0x05, + 0x6d, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x3b, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, + 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, + 0x66, 0x6f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x12, 0x4e, 0x0a, 0x12, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, - 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x4e, 0x0a, 0x12, 0x61, 0x73, - 0x73, 0x69, 0x67, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x73, - 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, - 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x69, 0x6f, - 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x12, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2f, 0x0a, 0x03, 0x64, 0x6e, - 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, - 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, - 0x6e, 0x66, 0x6f, 0x44, 0x4e, 0x53, 0x52, 0x03, 0x64, 0x6e, 0x73, 0x12, 0x43, 0x0a, 0x0b, 0x73, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x21, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, - 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0x52, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x36, 0x0a, 0x08, 0x62, 0x6f, 0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, - 0x62, 0x6f, 0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x06, 0x73, 0x77, 0x4c, 0x69, - 0x73, 0x74, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, + 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x69, 0x6f, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x12, + 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, + 0x72, 0x73, 0x12, 0x2f, 0x0a, 0x03, 0x64, 0x6e, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, + 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x4e, 0x53, 0x52, 0x03, + 0x64, 0x6e, 0x73, 0x12, 0x43, 0x0a, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x69, + 0x73, 0x74, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, - 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x65, 0x76, 0x53, 0x57, 0x52, 0x06, 0x73, 0x77, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x48, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x14, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x48, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4b, 0x0a, - 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x15, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, - 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, - 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0b, 0x6d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x6c, 0x61, - 0x73, 0x74, 0x52, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x16, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x62, 0x6f, 0x6f, 0x74, - 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, - 0x62, 0x6f, 0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, - 0x52, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4c, 0x0a, 0x0d, 0x73, 0x79, - 0x73, 0x74, 0x65, 0x6d, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x18, 0x18, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, - 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x41, 0x64, - 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x73, 0x79, 0x73, 0x74, 0x65, - 0x6d, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0e, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x12, 0x49, 0x0a, 0x09, 0x48, 0x53, 0x4d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x1a, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, - 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x48, 0x77, 0x53, 0x65, 0x63, 0x75, - 0x72, 0x69, 0x74, 0x79, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x09, 0x48, 0x53, 0x4d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x48, - 0x53, 0x4d, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x48, 0x53, - 0x4d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x62, - 0x6f, 0x6f, 0x74, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, - 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x12, - 0x50, 0x0a, 0x11, 0x64, 0x61, 0x74, 0x61, 0x53, 0x65, 0x63, 0x41, 0x74, 0x52, 0x65, 0x73, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x72, 0x67, + 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x73, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x08, 0x62, 0x6f, 0x6f, 0x74, + 0x54, 0x69, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x62, 0x6f, 0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x37, 0x0a, 0x06, 0x73, 0x77, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, + 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x65, 0x76, 0x53, + 0x57, 0x52, 0x06, 0x73, 0x77, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x48, 0x6f, 0x73, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x48, 0x6f, 0x73, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, + 0x74, 0x65, 0x6d, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, - 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x63, 0x41, 0x74, 0x52, 0x65, 0x73, 0x74, 0x52, 0x11, - 0x64, 0x61, 0x74, 0x61, 0x53, 0x65, 0x63, 0x41, 0x74, 0x52, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x3c, 0x0a, 0x08, 0x73, 0x65, 0x63, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x1e, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, - 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, - 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x73, 0x65, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x12, - 0x56, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6f, 0x72, 0x67, 0x2e, + 0x2e, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, + 0x6d, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x62, 0x6f, 0x6f, 0x74, + 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6c, 0x61, + 0x73, 0x74, 0x52, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x42, + 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65, + 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x4c, 0x0a, 0x0d, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x41, 0x64, 0x61, 0x70, + 0x74, 0x65, 0x72, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, - 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x74, 0x65, - 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x49, 0x0a, 0x0c, 0x61, 0x70, 0x70, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x20, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, - 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, - 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x13, 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x65, 0x72, 0x12, 0x49, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x62, 0x6f, 0x6f, - 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, - 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, - 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, - 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x42, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, - 0x49, 0x0a, 0x0b, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x18, 0x23, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, - 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x43, 0x65, 0x6c, 0x6c, - 0x75, 0x6c, 0x61, 0x72, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, - 0x63, 0x65, 0x6c, 0x6c, 0x52, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x12, 0x35, 0x0a, 0x04, 0x73, 0x69, - 0x6d, 0x73, 0x18, 0x24, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, - 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, - 0x53, 0x69, 0x6d, 0x63, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x73, 0x69, 0x6d, - 0x73, 0x12, 0x3b, 0x0a, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x25, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, - 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x29, - 0x0a, 0x10, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x6f, - 0x64, 0x65, 0x18, 0x26, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, - 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x66, 0x0a, 0x17, 0x6d, 0x61, 0x69, - 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x72, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x6f, 0x72, 0x67, - 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, - 0x2e, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, - 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x02, 0x18, 0x01, 0x52, 0x15, 0x6d, 0x61, 0x69, 0x6e, - 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x12, 0x3a, 0x0a, 0x19, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x77, 0x61, - 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x28, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x57, 0x61, - 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x2b, 0x0a, - 0x11, 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, - 0x73, 0x73, 0x18, 0x29, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74, - 0x49, 0x6e, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x45, 0x0a, 0x0c, 0x63, 0x61, - 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0b, + 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x0d, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, + 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x49, 0x0a, 0x09, 0x48, 0x53, 0x4d, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x6f, 0x72, + 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, + 0x6f, 0x2e, 0x48, 0x77, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x4d, 0x6f, 0x64, 0x75, + 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x48, 0x53, 0x4d, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x48, 0x53, 0x4d, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x1b, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x48, 0x53, 0x4d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, + 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x53, 0x74, 0x61, 0x63, 0x6b, + 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x62, 0x6f, + 0x6f, 0x74, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x50, 0x0a, 0x11, 0x64, 0x61, 0x74, 0x61, 0x53, + 0x65, 0x63, 0x41, 0x74, 0x52, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x1d, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, + 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x63, + 0x41, 0x74, 0x52, 0x65, 0x73, 0x74, 0x52, 0x11, 0x64, 0x61, 0x74, 0x61, 0x53, 0x65, 0x63, 0x41, + 0x74, 0x52, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3c, 0x0a, 0x08, 0x73, 0x65, 0x63, + 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x72, + 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, + 0x6f, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, + 0x73, 0x65, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x56, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x1f, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2a, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, + 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x10, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x49, 0x0a, 0x0c, 0x61, 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, + 0x20, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, + 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, + 0x6f, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x0c, 0x61, 0x70, + 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x72, 0x65, + 0x62, 0x6f, 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x49, 0x0a, 0x10, + 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x62, 0x6f, 0x6f, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x18, 0x22, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, + 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x6f, 0x6f, + 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x42, 0x6f, 0x6f, + 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x0b, 0x63, 0x65, 0x6c, 0x6c, 0x5f, + 0x72, 0x61, 0x64, 0x69, 0x6f, 0x73, 0x18, 0x23, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6f, + 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, + 0x66, 0x6f, 0x2e, 0x5a, 0x43, 0x65, 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x4d, 0x6f, 0x64, 0x75, + 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x63, 0x65, 0x6c, 0x6c, 0x52, 0x61, 0x64, 0x69, + 0x6f, 0x73, 0x12, 0x35, 0x0a, 0x04, 0x73, 0x69, 0x6d, 0x73, 0x18, 0x24, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, - 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, - 0x69, 0x65, 0x73, 0x52, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, - 0x73, 0x12, 0x32, 0x0a, 0x15, 0x62, 0x61, 0x73, 0x65, 0x6f, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x13, 0x62, 0x61, 0x73, 0x65, 0x6f, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x2c, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, - 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x44, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, - 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, - 0x2d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x12, 0x64, 0x0a, 0x18, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, - 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x73, 0x18, - 0x2e, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, - 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x4d, 0x61, 0x69, 0x6e, - 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x52, 0x16, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x6f, - 0x64, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0c, 0x64, 0x6f, 0x72, - 0x6d, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x02, 0x18, 0x01, 0x52, 0x0b, 0x64, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x43, 0x0a, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, - 0x18, 0x30, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, - 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x36, 0x0a, 0x17, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, - 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x18, 0x31, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x4f, 0x0a, - 0x10, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, - 0x6f, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, - 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x74, - 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x61, - 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x49, - 0x0a, 0x0e, 0x61, 0x70, 0x69, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x18, 0x33, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, - 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x50, 0x49, - 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0d, 0x61, 0x70, 0x69, 0x43, - 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x34, 0x0a, 0x16, 0x72, 0x65, 0x6d, - 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x18, 0x34, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x72, 0x65, 0x6d, 0x6f, 0x74, - 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, - 0x5e, 0x0a, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x61, 0x70, 0x61, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, - 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, - 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x61, 0x70, - 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x14, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, - 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x36, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x37, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x6e, 0x74, 0x65, 0x72, - 0x70, 0x72, 0x69, 0x73, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x74, - 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x38, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x49, 0x64, 0x12, 0x21, - 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x39, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x3a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, - 0x12, 0x44, 0x0a, 0x0e, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x65, 0x72, - 0x74, 0x73, 0x18, 0x3c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, + 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x53, 0x69, 0x6d, 0x63, 0x61, 0x72, 0x64, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x73, 0x69, 0x6d, 0x73, 0x12, 0x3b, 0x0a, 0x05, 0x74, 0x61, 0x73, + 0x6b, 0x73, 0x18, 0x25, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, + 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, + 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, + 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, + 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x26, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0f, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x64, + 0x65, 0x12, 0x66, 0x0a, 0x17, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x27, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, + 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, + 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x02, + 0x18, 0x01, 0x52, 0x15, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4d, + 0x6f, 0x64, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x19, 0x68, 0x61, 0x72, + 0x64, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x77, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x5f, 0x70, + 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x28, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x68, 0x61, + 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x50, 0x72, + 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x5f, + 0x69, 0x6e, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x29, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x10, 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x49, 0x6e, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x45, 0x0a, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, + 0x65, 0x73, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, - 0x65, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x65, - 0x64, 0x43, 0x65, 0x72, 0x74, 0x73, 0x22, 0xcb, 0x01, 0x0a, 0x14, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, - 0x28, 0x0a, 0x10, 0x68, 0x76, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6b, 0x75, 0x62, 0x65, 0x76, - 0x69, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x68, 0x76, 0x54, 0x79, 0x70, - 0x65, 0x4b, 0x75, 0x62, 0x65, 0x76, 0x69, 0x72, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x68, 0x77, 0x5f, - 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x68, 0x77, 0x49, 0x6e, 0x76, 0x65, 0x6e, - 0x74, 0x6f, 0x72, 0x79, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x65, - 0x74, 0x63, 0x64, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0c, 0x65, 0x74, 0x63, 0x64, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x12, 0x32, 0x0a, 0x15, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, 0x63, 0x70, 0x75, 0x5f, - 0x69, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x13, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x70, 0x75, 0x49, 0x73, 0x6f, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x84, 0x01, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3b, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, - 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x74, - 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, - 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x76, 0x0a, 0x11, 0x53, - 0x79, 0x73, 0x74, 0x65, 0x6d, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x12, 0x3d, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, - 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x22, 0xd1, 0x02, 0x0a, 0x10, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, - 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3e, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x50, 0x72, 0x69, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x50, 0x72, 0x69, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x12, 0x3a, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x46, 0x61, 0x69, 0x6c, - 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, - 0x12, 0x40, 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, - 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, - 0x65, 0x64, 0x12, 0x35, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, - 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, - 0x72, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x61, 0x73, - 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x61, - 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xeb, 0x08, 0x0a, 0x0a, 0x44, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x66, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x4d, 0x67, 0x6d, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4d, 0x67, 0x6d, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, - 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x66, 0x72, 0x65, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x64, 0x68, 0x63, 0x70, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x08, 0x64, 0x68, 0x63, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, - 0x62, 0x6e, 0x65, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x62, 0x6e, - 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0x0d, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x12, 0x1e, 0x0a, 0x0a, - 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, - 0x6e, 0x74, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x6e, 0x74, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x6f, - 0x72, 0x65, 0x5f, 0x6e, 0x74, 0x70, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x23, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x6f, 0x72, 0x65, 0x4e, 0x74, 0x70, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x6e, 0x73, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x68, 0x63, 0x70, 0x52, 0x61, 0x6e, 0x67, - 0x65, 0x4c, 0x6f, 0x77, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x68, 0x63, 0x70, - 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x6f, 0x77, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x68, 0x63, 0x70, - 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x69, 0x67, 0x68, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x64, 0x68, 0x63, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x69, 0x67, 0x68, 0x12, 0x36, - 0x0a, 0x05, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, - 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x05, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x63, 0x41, 0x64, 0x64, - 0x72, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x41, 0x64, 0x64, 0x72, - 0x12, 0x18, 0x0a, 0x07, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x07, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x18, 0x18, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x72, 0x73, 0x12, 0x2f, 0x0a, 0x03, 0x64, 0x6e, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, - 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x4e, 0x53, 0x52, 0x03, - 0x64, 0x6e, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x75, 0x70, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x02, 0x75, 0x70, 0x12, 0x37, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, - 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x6f, 0x4c, - 0x6f, 0x63, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x03, - 0x65, 0x72, 0x72, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, - 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x03, 0x65, 0x72, 0x72, 0x12, 0x3d, - 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, - 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x68, 0x79, 0x49, 0x6f, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, - 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x55, 0x49, 0x44, 0x18, 0x1f, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x55, 0x49, 0x44, 0x12, - 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, - 0x6f, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x0f, 0x77, 0x69, 0x72, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x5f, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6f, + 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x0c, 0x63, 0x61, 0x70, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x62, 0x61, 0x73, + 0x65, 0x6f, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x62, 0x61, 0x73, 0x65, 0x6f, 0x73, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x37, 0x0a, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, - 0x66, 0x6f, 0x2e, 0x57, 0x69, 0x72, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x0e, 0x77, 0x69, 0x72, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x74, 0x75, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, - 0x6d, 0x74, 0x75, 0x12, 0x4c, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6f, 0x72, 0x67, - 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x70, 0x6e, 0x61, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, - 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x4e, 0x41, - 0x43, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x70, 0x6e, 0x61, 0x63, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x62, 0x6f, 0x6e, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, - 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x42, - 0x6f, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x62, 0x6f, 0x6e, 0x64, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xf6, 0x01, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x39, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, - 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x72, 0x6f, - 0x78, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, - 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x70, 0x61, 0x63, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, - 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x55, 0x52, 0x4c, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x6f, 0x78, - 0x79, 0x55, 0x52, 0x4c, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x70, 0x61, 0x64, 0x55, 0x52, 0x4c, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x70, 0x61, 0x64, 0x55, 0x52, 0x4c, 0x22, 0x4c, - 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x89, 0x01, 0x0a, - 0x0e, 0x57, 0x69, 0x72, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x35, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, + 0x66, 0x6f, 0x2e, 0x5a, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, + 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x64, 0x0a, 0x18, 0x6d, + 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, + 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x73, 0x18, 0x2e, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, - 0x6e, 0x66, 0x6f, 0x2e, 0x57, 0x69, 0x72, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x40, 0x0a, 0x08, 0x63, 0x65, 0x6c, 0x6c, 0x75, 0x6c, - 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, - 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, - 0x43, 0x65, 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x08, - 0x63, 0x65, 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x22, 0xf2, 0x03, 0x0a, 0x0f, 0x5a, 0x43, 0x65, - 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x27, 0x0a, 0x0f, - 0x63, 0x65, 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x65, 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x4d, - 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x69, 0x6d, 0x5f, 0x63, 0x61, 0x72, - 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x6d, 0x43, 0x61, 0x72, - 0x64, 0x73, 0x12, 0x44, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, - 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x43, 0x65, 0x6c, - 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x09, 0x70, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x4f, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x72, - 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2c, + 0x6e, 0x66, 0x6f, 0x2e, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4d, + 0x6f, 0x64, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x16, 0x6d, 0x61, 0x69, 0x6e, 0x74, + 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x73, 0x12, 0x25, 0x0a, 0x0c, 0x64, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x64, 0x6f, 0x72, + 0x6d, 0x61, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x0c, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x30, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x64, 0x69, 0x6f, 0x41, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x54, 0x65, 0x63, 0x68, 0x6e, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x52, 0x0b, 0x63, 0x75, - 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x74, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x70, - 0x72, 0x6f, 0x62, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x3d, 0x0a, 0x07, - 0x62, 0x65, 0x61, 0x72, 0x65, 0x72, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, - 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x42, 0x65, 0x61, 0x72, - 0x65, 0x72, 0x52, 0x07, 0x62, 0x65, 0x61, 0x72, 0x65, 0x72, 0x73, 0x12, 0x40, 0x0a, 0x08, 0x70, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, - 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, - 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x50, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x22, 0xdc, 0x04, - 0x0a, 0x0a, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x65, 0x76, 0x53, 0x57, 0x12, 0x1c, 0x0a, 0x09, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x09, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x62, - 0x65, 0x6c, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x61, 0x72, - 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x26, 0x0a, 0x0e, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, - 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x53, 0x77, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x73, - 0x68, 0x6f, 0x72, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x20, 0x0a, 0x0b, 0x6c, 0x6f, 0x6e, 0x67, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x6f, 0x6e, 0x67, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x34, 0x0a, 0x05, 0x73, 0x77, 0x45, 0x72, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, - 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x05, 0x73, 0x77, 0x45, 0x72, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x64, 0x6f, 0x77, 0x6e, 0x6c, - 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x10, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x12, 0x41, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, - 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x61, - 0x73, 0x65, 0x4f, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x53, 0x74, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, - 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x72, 0x12, 0x42, 0x0a, 0x09, 0x73, 0x75, - 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, - 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, - 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x4f, 0x73, 0x53, 0x75, 0x62, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x09, 0x73, 0x75, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, - 0x0a, 0x11, 0x73, 0x75, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x72, 0x6f, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x73, 0x75, 0x62, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x80, 0x02, 0x0a, - 0x0c, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x61, - 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x50, - 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x72, - 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x47, 0x75, 0x69, 0x64, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x79, 0x70, 0x65, 0x47, 0x75, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x61, 0x72, - 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x75, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x75, 0x69, 0x64, 0x22, - 0x92, 0x02, 0x0a, 0x0d, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, - 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12, 0x25, - 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x21, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, - 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x73, 0x6e, 0x61, - 0x70, 0x5f, 0x65, 0x72, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, + 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x36, 0x0a, + 0x17, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x31, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, + 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x10, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, + 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x49, 0x0a, 0x0e, 0x61, 0x70, 0x69, 0x5f, 0x63, 0x61, + 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x33, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, + 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, + 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x50, 0x49, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x52, 0x0d, 0x61, 0x70, 0x69, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x12, 0x34, 0x0a, 0x16, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x34, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x14, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x44, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x5e, 0x0a, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, + 0x18, 0x35, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, + 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, + 0x73, 0x52, 0x14, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x61, 0x70, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x36, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x37, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x5f, + 0x69, 0x64, 0x18, 0x38, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x73, 0x65, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x39, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0e, 0x65, 0x6e, 0x72, 0x6f, + 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x73, 0x18, 0x3c, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, + 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x0d, 0x65, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x43, 0x65, 0x72, 0x74, 0x73, 0x12, 0x44, + 0x0a, 0x09, 0x63, 0x70, 0x75, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0x3d, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x27, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, + 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x50, 0x55, 0x50, 0x6f, 0x6f, 0x6c, 0x55, + 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x63, 0x70, 0x75, 0x50, + 0x6f, 0x6f, 0x6c, 0x73, 0x22, 0xcb, 0x01, 0x0a, 0x14, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x28, 0x0a, + 0x10, 0x68, 0x76, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6b, 0x75, 0x62, 0x65, 0x76, 0x69, 0x72, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x68, 0x76, 0x54, 0x79, 0x70, 0x65, 0x4b, + 0x75, 0x62, 0x65, 0x76, 0x69, 0x72, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x68, 0x77, 0x5f, 0x69, 0x6e, + 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x68, 0x77, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, + 0x72, 0x79, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x74, 0x63, + 0x64, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0c, 0x65, 0x74, 0x63, 0x64, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x32, + 0x0a, 0x15, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x69, 0x73, + 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x70, 0x75, 0x49, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x84, 0x01, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3b, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, + 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x74, 0x74, 0x65, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, + 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x76, 0x0a, 0x11, 0x53, 0x79, 0x73, + 0x74, 0x65, 0x6d, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, + 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x12, 0x3d, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, + 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, + 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x22, 0xd1, 0x02, 0x0a, 0x10, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x3e, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x12, 0x3a, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x40, + 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, + 0x12, 0x35, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, + 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, + 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x61, 0x73, 0x74, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xeb, 0x08, 0x0a, 0x0a, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x50, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x4d, 0x67, 0x6d, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x06, 0x69, 0x73, 0x4d, 0x67, 0x6d, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x65, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x66, 0x72, 0x65, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x64, 0x68, 0x63, 0x70, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, + 0x64, 0x68, 0x63, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x6e, + 0x65, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x74, + 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, + 0x74, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x6f, 0x72, 0x65, + 0x5f, 0x6e, 0x74, 0x70, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x23, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x6f, 0x72, 0x65, 0x4e, 0x74, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, + 0x18, 0x10, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x68, 0x63, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4c, + 0x6f, 0x77, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x68, 0x63, 0x70, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x4c, 0x6f, 0x77, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x68, 0x63, 0x70, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x48, 0x69, 0x67, 0x68, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, + 0x68, 0x63, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x69, 0x67, 0x68, 0x12, 0x36, 0x0a, 0x05, + 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, - 0x6f, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x73, 0x6e, 0x61, - 0x70, 0x45, 0x72, 0x72, 0x22, 0x60, 0x0a, 0x10, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x4c, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, - 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, + 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x70, + 0x72, 0x6f, 0x78, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x63, 0x41, 0x64, 0x64, 0x72, 0x18, + 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x41, 0x64, 0x64, 0x72, 0x12, 0x18, + 0x0a, 0x07, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x07, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x18, 0x18, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, + 0x12, 0x2f, 0x0a, 0x03, 0x64, 0x6e, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, - 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x6e, 0x6f, 0x64, 0x65, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x86, 0x05, 0x0a, 0x08, 0x5a, 0x49, 0x6e, 0x66, 0x6f, - 0x41, 0x70, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x70, 0x70, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x41, 0x70, 0x70, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x70, 0x70, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, - 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x79, 0x73, - 0x74, 0x65, 0x6d, 0x41, 0x70, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x79, - 0x73, 0x74, 0x65, 0x6d, 0x41, 0x70, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x70, 0x70, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x70, 0x70, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x40, 0x0a, 0x0c, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x4c, 0x69, 0x73, - 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, - 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, - 0x6e, 0x66, 0x6f, 0x53, 0x57, 0x52, 0x0c, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x08, 0x62, 0x6f, 0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65, 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, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x08, 0x62, 0x6f, 0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4a, 0x0a, 0x10, 0x61, - 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x73, 0x18, - 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, - 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x69, 0x6f, 0x42, - 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x10, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x41, - 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x45, 0x72, - 0x72, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, + 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x4e, 0x53, 0x52, 0x03, 0x64, 0x6e, + 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x75, 0x70, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x75, + 0x70, 0x12, 0x37, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1b, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, + 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x6f, 0x4c, 0x6f, 0x63, + 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x03, 0x65, 0x72, + 0x72, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x61, 0x70, 0x70, 0x45, 0x72, 0x72, 0x12, - 0x33, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, - 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, - 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x53, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, - 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, - 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, - 0x6f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x66, 0x73, 0x18, - 0x11, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x66, - 0x73, 0x12, 0x40, 0x0a, 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x18, 0x12, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, - 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, - 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x61, - 0x70, 0x70, 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x11, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x52, 0x75, 0x6e, 0x6e, - 0x69, 0x6e, 0x67, 0x4a, 0x04, 0x08, 0x09, 0x10, 0x0c, 0x4a, 0x04, 0x08, 0x13, 0x10, 0x14, 0x22, - 0x5e, 0x0a, 0x10, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x70, 0x69, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x73, 0x70, 0x69, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x62, - 0x4e, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x65, - 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0xb2, 0x02, 0x0a, 0x0c, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x71, 0x49, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x71, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, - 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x69, 0x6e, - 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x73, 0x70, 0x49, 0x6e, 0x66, - 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x73, 0x70, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x38, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x22, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, - 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x05, 0x6c, 0x49, - 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, - 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, - 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x05, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3b, 0x0a, 0x05, 0x72, 0x49, 0x6e, 0x66, 0x6f, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, - 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, - 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x72, - 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x4e, 0x0a, 0x10, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, - 0x45, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x70, 0x41, 0x64, - 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, - 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, - 0x70, 0x6f, 0x72, 0x74, 0x22, 0xe7, 0x02, 0x0a, 0x0c, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, - 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x69, 0x6b, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6b, 0x65, - 0x73, 0x12, 0x38, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x22, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, - 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x05, 0x6c, - 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, + 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x03, 0x65, 0x72, 0x72, 0x12, 0x3d, 0x0a, 0x05, + 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x6f, 0x72, + 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x68, 0x79, 0x49, 0x6f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, + 0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x55, 0x49, 0x44, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x55, 0x49, 0x44, 0x12, 0x12, 0x0a, + 0x04, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x73, + 0x74, 0x12, 0x4c, 0x0a, 0x0f, 0x77, 0x69, 0x72, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, - 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x45, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, - 0x74, 0x52, 0x05, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3b, 0x0a, 0x05, 0x72, 0x49, 0x6e, 0x66, - 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, - 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, - 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x45, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x05, - 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x37, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x0a, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, - 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, - 0x56, 0x70, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x22, 0xa7, - 0x01, 0x0a, 0x08, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x75, - 0x70, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x70, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x73, - 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x42, 0x61, 0x73, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x69, - 0x6e, 0x67, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x10, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, - 0x73, 0x12, 0x35, 0x0a, 0x04, 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x21, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, - 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x43, 0x6f, - 0x6e, 0x6e, 0x52, 0x04, 0x63, 0x6f, 0x6e, 0x6e, 0x22, 0x9f, 0x08, 0x0a, 0x14, 0x5a, 0x49, 0x6e, - 0x66, 0x6f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x44, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x44, 0x12, - 0x26, 0x0a, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, - 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x64, 0x12, 0x3c, 0x0a, 0x0b, 0x75, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x75, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, - 0x70, 0x12, 0x40, 0x0a, 0x0c, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x4c, 0x69, 0x73, - 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, - 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, - 0x6e, 0x66, 0x6f, 0x53, 0x57, 0x52, 0x0c, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x11, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x55, 0x70, - 0x6c, 0x69, 0x6e, 0x6b, 0x49, 0x6e, 0x74, 0x66, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, - 0x18, 0x01, 0x52, 0x11, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x6c, 0x69, 0x6e, - 0x6b, 0x49, 0x6e, 0x74, 0x66, 0x12, 0x32, 0x0a, 0x12, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, - 0x55, 0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x12, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x55, 0x70, - 0x6c, 0x69, 0x6e, 0x6b, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x6f, 0x72, - 0x74, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, - 0x1c, 0x0a, 0x09, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x14, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x09, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, - 0x0a, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, - 0x0c, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x18, 0x16, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, - 0x72, 0x12, 0x50, 0x0a, 0x0d, 0x69, 0x70, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, - 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, - 0x6d, 0x65, 0x74, 0x49, 0x50, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x69, 0x70, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x04, 0x76, 0x69, 0x66, 0x73, 0x18, 0x19, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, - 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x6d, 0x65, 0x74, 0x56, 0x69, 0x66, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x76, 0x69, 0x66, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x70, 0x76, - 0x34, 0x45, 0x69, 0x64, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x70, 0x76, 0x34, - 0x45, 0x69, 0x64, 0x12, 0x4a, 0x0a, 0x10, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x41, - 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, - 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x69, 0x6f, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x10, 0x61, - 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x73, 0x12, - 0x35, 0x0a, 0x05, 0x76, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, + 0x2e, 0x57, 0x69, 0x72, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x0e, 0x77, 0x69, 0x72, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x10, 0x0a, 0x03, 0x6d, 0x74, 0x75, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x74, + 0x75, 0x12, 0x4c, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, + 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, + 0x40, 0x0a, 0x0b, 0x70, 0x6e, 0x61, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x32, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, + 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x4e, 0x41, 0x43, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x70, 0x6e, 0x61, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x62, 0x6f, 0x6e, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, + 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x6f, 0x6e, + 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x62, 0x6f, 0x6e, 0x64, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x22, 0xf6, 0x01, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x39, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, + 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x12, 0x1e, + 0x0a, 0x0a, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, + 0x0a, 0x07, 0x70, 0x61, 0x63, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x70, 0x61, 0x63, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x6f, + 0x78, 0x79, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x55, 0x52, 0x4c, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x55, + 0x52, 0x4c, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x70, 0x61, 0x64, 0x55, 0x52, 0x4c, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x70, 0x61, 0x64, 0x55, 0x52, 0x4c, 0x22, 0x4c, 0x0a, 0x0a, + 0x50, 0x72, 0x6f, 0x78, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x89, 0x01, 0x0a, 0x0e, 0x57, + 0x69, 0x72, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x35, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x6f, 0x72, + 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, + 0x6f, 0x2e, 0x57, 0x69, 0x72, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x40, 0x0a, 0x08, 0x63, 0x65, 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, + 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x43, 0x65, + 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x08, 0x63, 0x65, + 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x22, 0xf2, 0x03, 0x0a, 0x0f, 0x5a, 0x43, 0x65, 0x6c, 0x6c, + 0x75, 0x6c, 0x61, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x65, + 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x65, 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x4d, 0x6f, 0x64, + 0x75, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x69, 0x6d, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x6d, 0x43, 0x61, 0x72, 0x64, 0x73, + 0x12, 0x44, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, + 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x43, 0x65, 0x6c, 0x6c, 0x75, + 0x6c, 0x61, 0x72, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x09, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x4f, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x74, 0x5f, 0x72, 0x61, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x6f, + 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x64, 0x69, 0x6f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x54, 0x65, 0x63, 0x68, 0x6e, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x52, 0x0b, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x74, 0x52, 0x61, 0x74, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, + 0x62, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x70, 0x72, 0x6f, 0x62, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x3d, 0x0a, 0x07, 0x62, 0x65, + 0x61, 0x72, 0x65, 0x72, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6f, 0x72, + 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, + 0x6f, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, + 0x52, 0x07, 0x62, 0x65, 0x61, 0x72, 0x65, 0x72, 0x73, 0x12, 0x40, 0x0a, 0x08, 0x70, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x72, + 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, + 0x6f, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x22, 0xdc, 0x04, 0x0a, 0x0a, + 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x65, 0x76, 0x53, 0x57, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, + 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, + 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x53, 0x77, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, + 0x0b, 0x6c, 0x6f, 0x6e, 0x67, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x6f, 0x6e, 0x67, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x34, 0x0a, 0x05, 0x73, 0x77, 0x45, 0x72, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, - 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x48, 0x00, 0x52, - 0x05, 0x76, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x3e, 0x0a, 0x0a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x45, 0x72, 0x72, 0x18, 0x28, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, - 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, - 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x45, 0x72, 0x72, 0x12, 0x40, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, - 0x29, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, - 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x74, 0x75, 0x18, - 0x2a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x74, 0x75, 0x12, 0x39, 0x0a, 0x09, 0x69, 0x70, - 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x2b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, - 0x6e, 0x66, 0x6f, 0x2e, 0x49, 0x50, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x08, 0x69, 0x70, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x4a, 0x04, 0x08, 0x18, 0x10, 0x19, 0x22, 0x89, 0x01, 0x0a, 0x07, 0x49, - 0x50, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x61, 0x74, 0x65, 0x77, - 0x61, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, - 0x79, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, - 0x5f, 0x61, 0x70, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x61, 0x74, 0x65, - 0x77, 0x61, 0x79, 0x41, 0x70, 0x70, 0x22, 0xb7, 0x01, 0x0a, 0x09, 0x55, 0x73, 0x61, 0x67, 0x65, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3a, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, + 0x73, 0x77, 0x45, 0x72, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, + 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x10, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x41, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, + 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x61, 0x73, 0x65, + 0x4f, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x53, 0x74, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x72, 0x12, 0x42, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x6f, 0x72, + 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, + 0x6f, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x4f, 0x73, 0x53, 0x75, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x09, 0x73, 0x75, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, 0x11, + 0x73, 0x75, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x73, 0x75, 0x62, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x80, 0x02, 0x0a, 0x0c, 0x5a, + 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x61, 0x74, + 0x68, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x47, 0x75, 0x69, 0x64, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x47, 0x75, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x75, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x75, 0x69, 0x64, 0x22, 0x92, 0x02, + 0x0a, 0x0d, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x52, 0x0a, 0x16, - 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x66, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x16, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, - 0x66, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, - 0x22, 0x59, 0x0a, 0x0f, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, - 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x53, 0x69, - 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x53, 0x69, - 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x63, - 0x75, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x8b, 0x03, 0x0a, 0x0b, - 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, - 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, - 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x34, 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, - 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x12, 0x42, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x72, 0x67, - 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, - 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, - 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x6f, 0x72, 0x67, - 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, - 0x2e, 0x5a, 0x53, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x50, 0x65, 0x72, 0x63, - 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x70, 0x72, - 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, - 0x12, 0x3c, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, - 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x12, 0x29, - 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x36, 0x0a, 0x10, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x22, 0x0a, - 0x0c, 0x63, 0x75, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, - 0x73, 0x22, 0xc9, 0x03, 0x0a, 0x10, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x54, 0x72, 0x65, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68, - 0x61, 0x32, 0x35, 0x36, 0x12, 0x43, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, - 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x09, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x05, 0x75, 0x73, 0x61, - 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, - 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, - 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x12, - 0x33, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, + 0x12, 0x35, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, - 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x53, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, - 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x12, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, - 0x74, 0x61, 0x67, 0x65, 0x12, 0x30, 0x0a, 0x03, 0x65, 0x72, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, - 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x03, 0x65, 0x72, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, - 0x65, 0x6e, 0x74, 0x53, 0x68, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, 0x68, 0x61, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xb5, 0x02, - 0x0a, 0x09, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x6c, 0x6f, 0x62, 0x12, 0x16, 0x0a, 0x06, 0x73, - 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68, 0x61, - 0x32, 0x35, 0x36, 0x12, 0x43, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, - 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x09, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, - 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x73, - 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x12, 0x33, - 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, + 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x5f, + 0x65, 0x72, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, + 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x73, 0x6e, 0x61, 0x70, 0x45, + 0x72, 0x72, 0x22, 0x60, 0x0a, 0x10, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x4c, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x6f, 0x72, + 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, + 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, + 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x22, 0x86, 0x05, 0x0a, 0x08, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x70, + 0x70, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x70, 0x70, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x41, 0x70, 0x70, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x70, 0x70, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, 0x70, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x79, 0x73, 0x74, 0x65, + 0x6d, 0x41, 0x70, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x79, 0x73, 0x74, + 0x65, 0x6d, 0x41, 0x70, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x40, 0x0a, 0x0c, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x18, + 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, + 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, + 0x6f, 0x53, 0x57, 0x52, 0x0c, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x36, 0x0a, 0x08, 0x62, 0x6f, 0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65, 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, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x08, 0x62, 0x6f, 0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4a, 0x0a, 0x10, 0x61, 0x73, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0d, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, + 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x69, 0x6f, 0x42, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x52, 0x10, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x41, 0x64, 0x61, + 0x70, 0x74, 0x65, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x45, 0x72, 0x72, 0x18, + 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, + 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x61, 0x70, 0x70, 0x45, 0x72, 0x72, 0x12, 0x33, 0x0a, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x6f, + 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, + 0x66, 0x6f, 0x2e, 0x5a, 0x53, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x10, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, + 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, + 0x1e, 0x0a, 0x0a, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x66, 0x73, 0x18, 0x11, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x66, 0x73, 0x12, + 0x40, 0x0a, 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x18, 0x12, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, + 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x70, + 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, + 0x67, 0x4a, 0x04, 0x08, 0x09, 0x10, 0x0c, 0x4a, 0x04, 0x08, 0x13, 0x10, 0x14, 0x22, 0x5e, 0x0a, + 0x10, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x70, 0x69, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x73, 0x70, 0x69, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x65, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x65, 0x74, 0x12, + 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb2, 0x02, + 0x0a, 0x0c, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x71, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x72, 0x65, 0x71, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, + 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x73, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x73, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x38, + 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, - 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x53, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x50, - 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x12, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, - 0x61, 0x67, 0x65, 0x12, 0x30, 0x0a, 0x03, 0x65, 0x72, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, - 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x03, 0x65, 0x72, 0x72, 0x22, 0x43, 0x0a, 0x0d, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x6c, - 0x6f, 0x62, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x04, 0x62, 0x6c, 0x6f, 0x62, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, + 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x05, 0x6c, 0x49, 0x6e, 0x66, + 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, + 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, + 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, + 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3b, 0x0a, 0x05, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, - 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x04, 0x62, 0x6c, 0x6f, 0x62, 0x22, 0xa7, 0x09, 0x0a, 0x08, 0x5a, - 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x73, 0x67, 0x12, 0x35, 0x0a, 0x05, 0x7a, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, - 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, - 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x05, 0x7a, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, - 0x0a, 0x05, 0x64, 0x65, 0x76, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, - 0x65, 0x76, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x05, 0x64, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, - 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x44, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x48, 0x00, 0x52, 0x05, 0x64, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x35, - 0x0a, 0x05, 0x61, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, + 0x56, 0x70, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x72, 0x49, 0x6e, + 0x66, 0x6f, 0x22, 0x4e, 0x0a, 0x10, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x45, 0x6e, + 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x12, 0x12, + 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, + 0x72, 0x74, 0x22, 0xe7, 0x02, 0x0a, 0x0c, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x43, + 0x6f, 0x6e, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x07, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, + 0x6b, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6b, 0x65, 0x73, 0x12, + 0x38, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, + 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, + 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x05, 0x6c, 0x49, 0x6e, + 0x66, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, + 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, + 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x45, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, + 0x05, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3b, 0x0a, 0x05, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, + 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, + 0x6f, 0x56, 0x70, 0x6e, 0x45, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x05, 0x72, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x37, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x0a, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, + 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, + 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x22, 0xa7, 0x01, 0x0a, + 0x08, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x54, + 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x70, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x73, 0x65, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, + 0x73, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x69, 0x6e, 0x67, + 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x6c, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x73, 0x12, + 0x35, 0x0a, 0x04, 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, - 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x70, 0x70, 0x48, 0x00, 0x52, 0x05, - 0x61, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x43, 0x0a, 0x06, 0x6e, 0x69, 0x69, 0x6e, 0x66, 0x6f, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, + 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, + 0x52, 0x04, 0x63, 0x6f, 0x6e, 0x6e, 0x22, 0x9f, 0x08, 0x0a, 0x14, 0x5a, 0x49, 0x6e, 0x66, 0x6f, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x44, 0x12, 0x26, 0x0a, + 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x64, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x64, 0x12, 0x3c, 0x0a, 0x0b, 0x75, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x0b, 0x75, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, + 0x40, 0x0a, 0x0c, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, - 0x6f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x48, 0x00, 0x52, 0x06, 0x6e, 0x69, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x38, 0x0a, 0x05, 0x76, 0x69, - 0x6e, 0x66, 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x72, 0x67, 0x2e, - 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, - 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x05, 0x76, - 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x3d, 0x0a, 0x05, 0x63, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, - 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x65, 0x65, 0x48, 0x00, 0x52, 0x05, 0x63, 0x69, - 0x6e, 0x66, 0x6f, 0x12, 0x3a, 0x0a, 0x05, 0x62, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0f, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, + 0x6f, 0x53, 0x57, 0x52, 0x0c, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x30, 0x0a, 0x11, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x6c, 0x69, + 0x6e, 0x6b, 0x49, 0x6e, 0x74, 0x66, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, + 0x52, 0x11, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x49, + 0x6e, 0x74, 0x66, 0x12, 0x32, 0x0a, 0x12, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x55, 0x70, + 0x6c, 0x69, 0x6e, 0x6b, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x02, 0x18, 0x01, 0x52, 0x12, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x6c, 0x69, + 0x6e, 0x6b, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x1c, 0x0a, + 0x09, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x09, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x62, + 0x72, 0x69, 0x64, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x62, + 0x72, 0x69, 0x64, 0x67, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x18, 0x16, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x12, + 0x50, 0x0a, 0x0d, 0x69, 0x70, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, + 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x6d, 0x65, + 0x74, 0x49, 0x50, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x0d, 0x69, 0x70, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x12, 0x34, 0x0a, 0x04, 0x76, 0x69, 0x66, 0x73, 0x18, 0x19, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, + 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x6d, 0x65, 0x74, 0x56, 0x69, 0x66, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x04, 0x76, 0x69, 0x66, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x70, 0x76, 0x34, 0x45, + 0x69, 0x64, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x70, 0x76, 0x34, 0x45, 0x69, + 0x64, 0x12, 0x4a, 0x0a, 0x10, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x41, 0x64, 0x61, + 0x70, 0x74, 0x65, 0x72, 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, + 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, + 0x6f, 0x2e, 0x5a, 0x69, 0x6f, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x10, 0x61, 0x73, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x73, 0x12, 0x35, 0x0a, + 0x05, 0x76, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, + 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, + 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x48, 0x00, 0x52, 0x05, 0x76, + 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x3e, 0x0a, 0x0a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, + 0x72, 0x72, 0x18, 0x28, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, + 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x45, 0x72, 0x72, 0x12, 0x40, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x29, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, + 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x74, 0x75, 0x18, 0x2a, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x74, 0x75, 0x12, 0x39, 0x0a, 0x09, 0x69, 0x70, 0x5f, 0x72, + 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x2b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x72, + 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, + 0x6f, 0x2e, 0x49, 0x50, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x08, 0x69, 0x70, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x4a, 0x04, 0x08, 0x18, 0x10, 0x19, 0x22, 0x89, 0x01, 0x0a, 0x07, 0x49, 0x50, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x12, + 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, + 0x6f, 0x72, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x61, + 0x70, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, + 0x79, 0x41, 0x70, 0x70, 0x22, 0xb7, 0x01, 0x0a, 0x09, 0x55, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x3a, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x72, 0x65, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x08, 0x72, 0x65, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x52, 0x0a, 0x16, 0x6c, 0x61, + 0x73, 0x74, 0x52, 0x65, 0x66, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x16, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x66, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x59, + 0x0a, 0x0f, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, + 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x53, 0x69, 0x7a, 0x65, + 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x63, 0x75, 0x72, + 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x8b, 0x03, 0x0a, 0x0b, 0x5a, 0x49, + 0x6e, 0x66, 0x6f, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x20, 0x0a, + 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x34, 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, + 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, + 0x75, 0x73, 0x61, 0x67, 0x65, 0x12, 0x42, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, + 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x56, + 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x09, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, + 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, + 0x53, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2e, + 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, + 0x74, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x67, + 0x72, 0x65, 0x73, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, 0x3c, + 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, + 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x12, 0x29, 0x0a, 0x10, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x36, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x63, + 0x75, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, + 0xc9, 0x03, 0x0a, 0x10, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x54, 0x72, 0x65, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, + 0x61, 0x32, 0x35, 0x36, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68, 0x61, 0x32, + 0x35, 0x36, 0x12, 0x43, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, + 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x09, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, + 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x73, 0x61, + 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x12, 0x33, 0x0a, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x6f, + 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, + 0x66, 0x6f, 0x2e, 0x5a, 0x53, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x50, 0x65, + 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, + 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, + 0x67, 0x65, 0x12, 0x30, 0x0a, 0x03, 0x65, 0x72, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, + 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x03, 0x65, 0x72, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, + 0x74, 0x53, 0x68, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, + 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, 0x68, 0x61, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x29, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xb5, 0x02, 0x0a, 0x09, + 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x6c, 0x6f, 0x62, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, + 0x32, 0x35, 0x36, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, + 0x36, 0x12, 0x43, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, + 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x09, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, + 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x73, 0x61, 0x67, + 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x12, 0x33, 0x0a, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x6f, 0x72, + 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, + 0x6f, 0x2e, 0x5a, 0x53, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x50, 0x65, 0x72, + 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x70, + 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, + 0x65, 0x12, 0x30, 0x0a, 0x03, 0x65, 0x72, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, + 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x03, + 0x65, 0x72, 0x72, 0x22, 0x43, 0x0a, 0x0d, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x6c, 0x6f, 0x62, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x04, 0x62, 0x6c, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x6c, - 0x6f, 0x62, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x05, 0x62, 0x69, 0x6e, 0x66, 0x6f, 0x12, - 0x45, 0x0a, 0x07, 0x61, 0x6d, 0x64, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x29, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, - 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x70, 0x70, 0x49, - 0x6e, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x07, 0x61, - 0x6d, 0x64, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x3c, 0x0a, 0x06, 0x65, 0x76, 0x69, 0x6e, 0x66, 0x6f, - 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, - 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, - 0x66, 0x6f, 0x45, 0x64, 0x67, 0x65, 0x76, 0x69, 0x65, 0x77, 0x48, 0x00, 0x52, 0x06, 0x65, 0x76, - 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x3c, 0x0a, 0x06, 0x68, 0x77, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x12, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, + 0x6f, 0x62, 0x52, 0x04, 0x62, 0x6c, 0x6f, 0x62, 0x22, 0xa7, 0x09, 0x0a, 0x08, 0x5a, 0x49, 0x6e, + 0x66, 0x6f, 0x4d, 0x73, 0x67, 0x12, 0x35, 0x0a, 0x05, 0x7a, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, - 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x48, 0x00, 0x52, 0x06, 0x68, 0x77, 0x69, 0x6e, - 0x66, 0x6f, 0x12, 0x3e, 0x0a, 0x07, 0x6c, 0x6f, 0x63, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x13, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, - 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x4c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x6c, 0x6f, 0x63, 0x69, 0x6e, - 0x66, 0x6f, 0x12, 0x47, 0x0a, 0x09, 0x70, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x18, - 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, - 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, - 0x6f, 0x50, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x48, 0x00, - 0x52, 0x09, 0x70, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4a, 0x0a, 0x0c, 0x63, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, + 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x05, 0x7a, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x64, 0x65, 0x76, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x76, + 0x49, 0x64, 0x12, 0x38, 0x0a, 0x05, 0x64, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, + 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x48, 0x00, 0x52, 0x05, 0x64, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x35, 0x0a, 0x05, + 0x61, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x72, + 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, + 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x70, 0x70, 0x48, 0x00, 0x52, 0x05, 0x61, 0x69, + 0x6e, 0x66, 0x6f, 0x12, 0x43, 0x0a, 0x06, 0x6e, 0x69, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, + 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x48, 0x00, + 0x52, 0x06, 0x6e, 0x69, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x38, 0x0a, 0x05, 0x76, 0x69, 0x6e, 0x66, + 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, + 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, + 0x6e, 0x66, 0x6f, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x05, 0x76, 0x69, 0x6e, + 0x66, 0x6f, 0x12, 0x3d, 0x0a, 0x05, 0x63, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, - 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x47, 0x0a, 0x0b, 0x6e, 0x74, 0x70, 0x5f, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, - 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, - 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x54, 0x50, 0x53, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x6e, 0x74, 0x70, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, - 0x12, 0x4a, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, - 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, - 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, - 0x66, 0x6f, 0x4b, 0x75, 0x62, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, - 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x63, 0x0a, 0x13, - 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x69, - 0x6e, 0x66, 0x6f, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6f, 0x72, 0x67, 0x2e, - 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, - 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x4b, 0x75, 0x62, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x11, - 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x3c, 0x0a, 0x0b, 0x61, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x52, 0x0b, 0x61, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x42, - 0x0d, 0x0a, 0x0b, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4a, 0x04, - 0x08, 0x15, 0x10, 0x16, 0x22, 0x76, 0x0a, 0x0c, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, - 0x74, 0x69, 0x65, 0x73, 0x12, 0x3a, 0x0a, 0x18, 0x48, 0x57, 0x41, 0x73, 0x73, 0x69, 0x73, 0x74, - 0x65, 0x64, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x48, 0x57, 0x41, 0x73, 0x73, 0x69, 0x73, 0x74, - 0x65, 0x64, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x2a, 0x0a, 0x10, 0x49, 0x4f, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x49, 0x4f, 0x56, 0x69, - 0x72, 0x74, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7c, 0x0a, 0x14, - 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, - 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x3c, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, - 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x70, 0x70, - 0x49, 0x6e, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xe2, 0x01, 0x0a, 0x0d, 0x5a, - 0x49, 0x6e, 0x66, 0x6f, 0x45, 0x64, 0x67, 0x65, 0x76, 0x69, 0x65, 0x77, 0x12, 0x3b, 0x0a, 0x0b, - 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x65, 0x65, 0x48, 0x00, 0x52, 0x05, 0x63, 0x69, 0x6e, 0x66, + 0x6f, 0x12, 0x3a, 0x0a, 0x05, 0x62, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x22, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, + 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x6c, 0x6f, 0x62, + 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x05, 0x62, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x45, 0x0a, + 0x07, 0x61, 0x6d, 0x64, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, + 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, + 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x73, + 0x74, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x07, 0x61, 0x6d, 0x64, + 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x3c, 0x0a, 0x06, 0x65, 0x76, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x11, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, + 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, + 0x45, 0x64, 0x67, 0x65, 0x76, 0x69, 0x65, 0x77, 0x48, 0x00, 0x52, 0x06, 0x65, 0x76, 0x69, 0x6e, + 0x66, 0x6f, 0x12, 0x3c, 0x0a, 0x06, 0x68, 0x77, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x12, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, + 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x61, + 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x48, 0x00, 0x52, 0x06, 0x68, 0x77, 0x69, 0x6e, 0x66, 0x6f, + 0x12, 0x3e, 0x0a, 0x07, 0x6c, 0x6f, 0x63, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x13, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, + 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x6c, 0x6f, 0x63, 0x69, 0x6e, 0x66, 0x6f, + 0x12, 0x47, 0x0a, 0x09, 0x70, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x14, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, + 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x50, + 0x61, 0x74, 0x63, 0x68, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x48, 0x00, 0x52, 0x09, + 0x70, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4a, 0x0a, 0x0c, 0x63, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, + 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x47, 0x0a, 0x0b, 0x6e, 0x74, 0x70, 0x5f, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x72, 0x67, + 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, + 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x54, 0x50, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x48, 0x00, 0x52, 0x0a, 0x6e, 0x74, 0x70, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x4a, + 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x18, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, + 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, 0x6e, 0x66, 0x6f, + 0x4b, 0x75, 0x62, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0b, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x63, 0x0a, 0x13, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x66, + 0x6f, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, + 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x5a, 0x49, + 0x6e, 0x66, 0x6f, 0x4b, 0x75, 0x62, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x11, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x3c, 0x0a, 0x0b, 0x61, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x0b, 0x61, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0d, 0x0a, + 0x0b, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4a, 0x04, 0x08, 0x15, + 0x10, 0x16, 0x22, 0x76, 0x0a, 0x0c, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, + 0x65, 0x73, 0x12, 0x3a, 0x0a, 0x18, 0x48, 0x57, 0x41, 0x73, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, + 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x48, 0x57, 0x41, 0x73, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, + 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, + 0x0a, 0x10, 0x49, 0x4f, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x49, 0x4f, 0x56, 0x69, 0x72, 0x74, + 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7c, 0x0a, 0x14, 0x5a, 0x49, + 0x6e, 0x66, 0x6f, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x3c, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, + 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x70, 0x70, 0x49, 0x6e, + 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xe2, 0x01, 0x0a, 0x0d, 0x5a, 0x49, 0x6e, + 0x66, 0x6f, 0x45, 0x64, 0x67, 0x65, 0x76, 0x69, 0x65, 0x77, 0x12, 0x3b, 0x0a, 0x0b, 0x65, 0x78, + 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x64, 0x65, 0x76, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x44, 0x65, 0x76, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, - 0x70, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, - 0x70, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x78, 0x74, 0x22, - 0xe8, 0x03, 0x0a, 0x0d, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x01, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, - 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, - 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, - 0x6c, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x61, - 0x6c, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x75, 0x74, 0x63, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x75, 0x74, 0x63, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x5a, 0x0a, 0x16, 0x68, 0x6f, 0x72, 0x69, - 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x69, 0x6c, 0x69, - 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, - 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x4c, - 0x6f, 0x63, 0x52, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x15, 0x68, - 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x69, - 0x6c, 0x69, 0x74, 0x79, 0x12, 0x56, 0x0a, 0x14, 0x76, 0x65, 0x72, 0x74, 0x69, 0x63, 0x61, 0x6c, - 0x5f, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, - 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x4c, 0x6f, 0x63, 0x52, 0x65, 0x6c, 0x69, - 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x13, 0x76, 0x65, 0x72, 0x74, 0x69, 0x63, 0x61, - 0x6c, 0x52, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x35, 0x0a, 0x16, - 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x75, 0x6e, 0x63, 0x65, 0x72, - 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x68, 0x6f, - 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x55, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, - 0x6e, 0x74, 0x79, 0x12, 0x31, 0x0a, 0x14, 0x76, 0x65, 0x72, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x5f, - 0x75, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x13, 0x76, 0x65, 0x72, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x55, 0x6e, 0x63, 0x65, 0x72, - 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, - 0x6c, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x6f, - 0x67, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x96, 0x02, 0x0a, 0x1c, 0x5a, - 0x49, 0x6e, 0x66, 0x6f, 0x4b, 0x75, 0x62, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, - 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x3b, - 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x1d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, - 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x43, 0x6f, 0x6d, 0x70, - 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x6f, 0x72, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x65, 0x78, 0x70, + 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x64, 0x65, 0x76, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x44, 0x65, 0x76, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x70, 0x70, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x70, 0x70, + 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x78, 0x74, 0x22, 0xe8, 0x03, + 0x0a, 0x0d, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x01, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6c, + 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, + 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x6c, 0x74, + 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x61, 0x6c, 0x74, + 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x75, 0x74, 0x63, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x75, 0x74, 0x63, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x5a, 0x0a, 0x16, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x6f, + 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, + 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x4c, 0x6f, 0x63, + 0x52, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x15, 0x68, 0x6f, 0x72, + 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x12, 0x56, 0x0a, 0x14, 0x76, 0x65, 0x72, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x72, + 0x65, 0x6c, 0x69, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x23, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, + 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x4c, 0x6f, 0x63, 0x52, 0x65, 0x6c, 0x69, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x13, 0x76, 0x65, 0x72, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x52, + 0x65, 0x6c, 0x69, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x35, 0x0a, 0x16, 0x68, 0x6f, + 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x75, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x61, + 0x69, 0x6e, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x68, 0x6f, 0x72, 0x69, + 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x55, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, + 0x79, 0x12, 0x31, 0x0a, 0x14, 0x76, 0x65, 0x72, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x75, 0x6e, + 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x13, 0x76, 0x65, 0x72, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x55, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x61, + 0x69, 0x6e, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x6f, 0x67, 0x69, + 0x63, 0x61, 0x6c, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x96, 0x02, 0x0a, 0x1c, 0x5a, 0x49, 0x6e, + 0x66, 0x6f, 0x4b, 0x75, 0x62, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x3b, 0x0a, 0x09, + 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x1d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, + 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x52, 0x09, + 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x6f, 0x72, 0x67, 0x2e, + 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, + 0x4b, 0x75, 0x62, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x34, 0x0a, 0x05, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, - 0x6f, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x34, - 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, - 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, - 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x49, 0x64, 0x22, 0x82, 0x03, 0x0a, 0x10, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x4b, 0x75, 0x62, - 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, - 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x4b, 0x75, - 0x62, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, - 0x73, 0x12, 0x51, 0x0a, 0x0f, 0x70, 0x6f, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6f, 0x72, 0x67, - 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, - 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x50, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x63, - 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x70, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x70, - 0x61, 0x63, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x5f, 0x61, 0x70, 0x70, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, - 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x4b, 0x75, 0x62, - 0x65, 0x45, 0x56, 0x45, 0x41, 0x70, 0x70, 0x50, 0x6f, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, - 0x65, 0x76, 0x65, 0x41, 0x70, 0x70, 0x73, 0x12, 0x3e, 0x0a, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, + 0x6f, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, + 0x64, 0x22, 0x82, 0x03, 0x0a, 0x10, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x4b, 0x75, 0x62, 0x65, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, + 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x4b, 0x75, 0x62, 0x65, + 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x12, + 0x51, 0x0a, 0x0f, 0x70, 0x6f, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x4b, - 0x75, 0x62, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, - 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x5f, 0x76, 0x6d, - 0x5f, 0x61, 0x70, 0x70, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x72, - 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, - 0x6f, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x56, 0x4d, 0x49, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x65, - 0x76, 0x65, 0x56, 0x6d, 0x41, 0x70, 0x70, 0x73, 0x22, 0xea, 0x02, 0x0a, 0x0d, 0x5a, 0x49, 0x6e, - 0x66, 0x6f, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x12, 0x3e, 0x0a, 0x05, 0x64, 0x69, - 0x73, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x72, 0x67, 0x2e, + 0x75, 0x62, 0x65, 0x50, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x70, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x63, + 0x65, 0x73, 0x12, 0x41, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x5f, 0x61, 0x70, 0x70, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, + 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x45, + 0x56, 0x45, 0x41, 0x70, 0x70, 0x50, 0x6f, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x65, 0x76, + 0x65, 0x41, 0x70, 0x70, 0x73, 0x12, 0x3e, 0x0a, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, + 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x4b, 0x75, 0x62, + 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x5f, 0x76, 0x6d, 0x5f, 0x61, + 0x70, 0x70, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, - 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x42, - 0x02, 0x18, 0x01, 0x52, 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x76, - 0x65, 0x5f, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x65, 0x76, 0x65, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x09, 0x69, - 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, - 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, - 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x49, 0x6e, 0x76, - 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x09, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, - 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x66, 0x6c, 0x61, 0x76, - 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, - 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, - 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, - 0x0c, 0x65, 0x76, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x76, 0x65, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, - 0x0a, 0x0e, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6d, 0x64, 0x6c, 0x69, 0x6e, 0x65, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x43, 0x6d, - 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x2a, 0x75, 0x0a, 0x11, 0x44, 0x65, 0x70, 0x4d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x65, - 0x70, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x4f, 0x74, 0x68, 0x65, 0x72, - 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x65, 0x70, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, - 0x74, 0x65, 0x6d, 0x47, 0x61, 0x75, 0x67, 0x65, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x65, - 0x70, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x65, 0x72, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x65, 0x70, 0x4d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0x03, 0x2a, 0xb0, 0x02, 0x0a, - 0x0a, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x09, 0x0a, 0x05, 0x5a, - 0x69, 0x4e, 0x6f, 0x70, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x5a, 0x69, 0x44, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x5a, 0x69, 0x41, 0x70, 0x70, 0x10, 0x03, 0x12, - 0x15, 0x0a, 0x11, 0x5a, 0x69, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x10, 0x06, 0x12, 0x0c, 0x0a, 0x08, 0x5a, 0x69, 0x56, 0x6f, 0x6c, 0x75, - 0x6d, 0x65, 0x10, 0x07, 0x12, 0x11, 0x0a, 0x0d, 0x5a, 0x69, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x54, 0x72, 0x65, 0x65, 0x10, 0x08, 0x12, 0x0e, 0x0a, 0x0a, 0x5a, 0x69, 0x42, 0x6c, 0x6f, - 0x62, 0x4c, 0x69, 0x73, 0x74, 0x10, 0x09, 0x12, 0x15, 0x0a, 0x11, 0x5a, 0x69, 0x41, 0x70, 0x70, - 0x49, 0x6e, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x10, 0x0a, 0x12, 0x0e, - 0x0a, 0x0a, 0x5a, 0x69, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x10, 0x0b, 0x12, 0x0e, - 0x0a, 0x0a, 0x5a, 0x69, 0x45, 0x64, 0x67, 0x65, 0x76, 0x69, 0x65, 0x77, 0x10, 0x0c, 0x12, 0x0e, - 0x0a, 0x0a, 0x5a, 0x69, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x0d, 0x12, 0x13, - 0x0a, 0x0f, 0x5a, 0x69, 0x50, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, - 0x65, 0x10, 0x0e, 0x12, 0x10, 0x0a, 0x0c, 0x5a, 0x69, 0x4e, 0x54, 0x50, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x73, 0x10, 0x10, 0x12, 0x11, 0x0a, 0x0d, 0x5a, 0x69, 0x4b, 0x75, 0x62, 0x65, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x10, 0x11, 0x12, 0x1d, 0x0a, 0x19, 0x5a, 0x69, 0x4b, 0x75, - 0x62, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0x12, 0x22, 0x04, 0x08, 0x02, 0x10, 0x02, 0x22, 0x04, 0x08, - 0x04, 0x10, 0x04, 0x22, 0x04, 0x08, 0x05, 0x10, 0x05, 0x22, 0x04, 0x08, 0x0f, 0x10, 0x0f, 0x2a, - 0x91, 0x03, 0x0a, 0x08, 0x5a, 0x53, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, - 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x49, - 0x54, 0x49, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, - 0x41, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, - 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, - 0x44, 0x45, 0x4c, 0x49, 0x56, 0x45, 0x52, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x49, - 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x4f, - 0x4f, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, - 0x4e, 0x47, 0x10, 0x07, 0x12, 0x0b, 0x0a, 0x07, 0x48, 0x41, 0x4c, 0x54, 0x49, 0x4e, 0x47, 0x10, - 0x08, 0x12, 0x0a, 0x0a, 0x06, 0x48, 0x41, 0x4c, 0x54, 0x45, 0x44, 0x10, 0x09, 0x12, 0x0e, 0x0a, - 0x0a, 0x52, 0x45, 0x53, 0x54, 0x41, 0x52, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x0a, 0x12, 0x0b, 0x0a, - 0x07, 0x50, 0x55, 0x52, 0x47, 0x49, 0x4e, 0x47, 0x10, 0x0b, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x45, - 0x53, 0x4f, 0x4c, 0x56, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x41, 0x47, 0x10, 0x0c, 0x12, 0x10, 0x0a, - 0x0c, 0x52, 0x45, 0x53, 0x4f, 0x4c, 0x56, 0x45, 0x44, 0x5f, 0x54, 0x41, 0x47, 0x10, 0x0d, 0x12, - 0x13, 0x0a, 0x0f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x56, 0x4f, 0x4c, 0x55, - 0x4d, 0x45, 0x10, 0x0e, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x5f, - 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x10, 0x0f, 0x12, 0x0d, 0x0a, 0x09, 0x56, 0x45, 0x52, 0x49, - 0x46, 0x59, 0x49, 0x4e, 0x47, 0x10, 0x10, 0x12, 0x0c, 0x0a, 0x08, 0x56, 0x45, 0x52, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x11, 0x12, 0x0b, 0x0a, 0x07, 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, 0x47, - 0x10, 0x12, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x4f, 0x41, 0x44, 0x45, 0x44, 0x10, 0x13, 0x12, 0x18, - 0x0a, 0x14, 0x41, 0x57, 0x41, 0x49, 0x54, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x49, 0x4e, - 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x14, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, - 0x52, 0x10, 0x15, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x44, 0x45, 0x4c, - 0x41, 0x59, 0x45, 0x44, 0x10, 0x16, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, - 0x47, 0x10, 0x17, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x49, 0x4e, - 0x47, 0x10, 0x18, 0x2a, 0x4e, 0x0a, 0x16, 0x48, 0x77, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, - 0x79, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, - 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x4f, - 0x54, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, - 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, - 0x44, 0x10, 0x03, 0x2a, 0x88, 0x01, 0x0a, 0x13, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x63, 0x41, - 0x74, 0x52, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x17, 0x44, - 0x41, 0x54, 0x41, 0x53, 0x45, 0x43, 0x5f, 0x41, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x5f, 0x55, - 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x41, 0x54, 0x41, - 0x53, 0x45, 0x43, 0x5f, 0x41, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x5f, 0x44, 0x49, 0x53, 0x41, - 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x41, 0x54, 0x41, 0x53, 0x45, - 0x43, 0x5f, 0x41, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, - 0x44, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x41, 0x54, 0x41, 0x53, 0x45, 0x43, 0x5f, 0x41, - 0x54, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x2a, 0x3f, - 0x0a, 0x09, 0x50, 0x43, 0x52, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0f, 0x0a, 0x0b, 0x50, - 0x43, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, - 0x50, 0x43, 0x52, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x10, 0x0a, - 0x0c, 0x50, 0x43, 0x52, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x2a, - 0x4d, 0x0a, 0x07, 0x53, 0x69, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x49, - 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x49, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x50, 0x48, 0x59, 0x53, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x53, - 0x49, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x53, 0x49, 0x4d, 0x10, 0x02, 0x2a, 0xa0, - 0x02, 0x0a, 0x17, 0x5a, 0x43, 0x65, 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x26, 0x5a, 0x5f, - 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, - 0x4e, 0x47, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x5a, 0x5f, 0x43, 0x45, 0x4c, 0x4c, - 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x46, 0x46, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x28, - 0x0a, 0x24, 0x5a, 0x5f, 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x4f, 0x50, 0x45, - 0x52, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x41, 0x44, - 0x49, 0x4f, 0x5f, 0x4f, 0x46, 0x46, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x5a, 0x5f, 0x43, 0x45, + 0x4b, 0x75, 0x62, 0x65, 0x56, 0x4d, 0x49, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x65, 0x76, 0x65, + 0x56, 0x6d, 0x41, 0x70, 0x70, 0x73, 0x22, 0xea, 0x02, 0x0a, 0x0d, 0x5a, 0x49, 0x6e, 0x66, 0x6f, + 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x12, 0x3e, 0x0a, 0x05, 0x64, 0x69, 0x73, 0x6b, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, + 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x02, 0x18, + 0x01, 0x52, 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x5f, + 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, + 0x76, 0x65, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x09, 0x69, 0x6e, 0x76, + 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, + 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, + 0x66, 0x6f, 0x2e, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x49, 0x6e, 0x76, 0x65, 0x6e, + 0x74, 0x6f, 0x72, 0x79, 0x52, 0x09, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x12, + 0x23, 0x0a, 0x0d, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x46, 0x6c, + 0x61, 0x76, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6b, 0x65, + 0x72, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x65, + 0x76, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x65, 0x76, 0x65, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, + 0x0a, 0x09, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, + 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6d, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x43, 0x6d, 0x64, 0x6c, + 0x69, 0x6e, 0x65, 0x2a, 0x75, 0x0a, 0x11, 0x44, 0x65, 0x70, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x49, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x65, 0x70, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x10, 0x00, + 0x12, 0x16, 0x0a, 0x12, 0x44, 0x65, 0x70, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, + 0x6d, 0x47, 0x61, 0x75, 0x67, 0x65, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x65, 0x70, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x65, 0x70, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, + 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0x03, 0x2a, 0xb0, 0x02, 0x0a, 0x0a, 0x5a, + 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x09, 0x0a, 0x05, 0x5a, 0x69, 0x4e, + 0x6f, 0x70, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x5a, 0x69, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x5a, 0x69, 0x41, 0x70, 0x70, 0x10, 0x03, 0x12, 0x15, 0x0a, + 0x11, 0x5a, 0x69, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x10, 0x06, 0x12, 0x0c, 0x0a, 0x08, 0x5a, 0x69, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, + 0x10, 0x07, 0x12, 0x11, 0x0a, 0x0d, 0x5a, 0x69, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, + 0x72, 0x65, 0x65, 0x10, 0x08, 0x12, 0x0e, 0x0a, 0x0a, 0x5a, 0x69, 0x42, 0x6c, 0x6f, 0x62, 0x4c, + 0x69, 0x73, 0x74, 0x10, 0x09, 0x12, 0x15, 0x0a, 0x11, 0x5a, 0x69, 0x41, 0x70, 0x70, 0x49, 0x6e, + 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x10, 0x0a, 0x12, 0x0e, 0x0a, 0x0a, + 0x5a, 0x69, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x10, 0x0b, 0x12, 0x0e, 0x0a, 0x0a, + 0x5a, 0x69, 0x45, 0x64, 0x67, 0x65, 0x76, 0x69, 0x65, 0x77, 0x10, 0x0c, 0x12, 0x0e, 0x0a, 0x0a, + 0x5a, 0x69, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x0d, 0x12, 0x13, 0x0a, 0x0f, + 0x5a, 0x69, 0x50, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x10, + 0x0e, 0x12, 0x10, 0x0a, 0x0c, 0x5a, 0x69, 0x4e, 0x54, 0x50, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x10, 0x10, 0x12, 0x11, 0x0a, 0x0d, 0x5a, 0x69, 0x4b, 0x75, 0x62, 0x65, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x10, 0x11, 0x12, 0x1d, 0x0a, 0x19, 0x5a, 0x69, 0x4b, 0x75, 0x62, 0x65, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x10, 0x12, 0x22, 0x04, 0x08, 0x02, 0x10, 0x02, 0x22, 0x04, 0x08, 0x04, 0x10, + 0x04, 0x22, 0x04, 0x08, 0x05, 0x10, 0x05, 0x22, 0x04, 0x08, 0x0f, 0x10, 0x0f, 0x2a, 0x91, 0x03, + 0x0a, 0x08, 0x5a, 0x53, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, + 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x49, 0x54, 0x49, + 0x41, 0x4c, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, + 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x4f, + 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x45, + 0x4c, 0x49, 0x56, 0x45, 0x52, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x4e, 0x53, + 0x54, 0x41, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x4f, 0x4f, 0x54, + 0x49, 0x4e, 0x47, 0x10, 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, + 0x10, 0x07, 0x12, 0x0b, 0x0a, 0x07, 0x48, 0x41, 0x4c, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x08, 0x12, + 0x0a, 0x0a, 0x06, 0x48, 0x41, 0x4c, 0x54, 0x45, 0x44, 0x10, 0x09, 0x12, 0x0e, 0x0a, 0x0a, 0x52, + 0x45, 0x53, 0x54, 0x41, 0x52, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x0a, 0x12, 0x0b, 0x0a, 0x07, 0x50, + 0x55, 0x52, 0x47, 0x49, 0x4e, 0x47, 0x10, 0x0b, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x45, 0x53, 0x4f, + 0x4c, 0x56, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x41, 0x47, 0x10, 0x0c, 0x12, 0x10, 0x0a, 0x0c, 0x52, + 0x45, 0x53, 0x4f, 0x4c, 0x56, 0x45, 0x44, 0x5f, 0x54, 0x41, 0x47, 0x10, 0x0d, 0x12, 0x13, 0x0a, + 0x0f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, + 0x10, 0x0e, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x56, 0x4f, + 0x4c, 0x55, 0x4d, 0x45, 0x10, 0x0f, 0x12, 0x0d, 0x0a, 0x09, 0x56, 0x45, 0x52, 0x49, 0x46, 0x59, + 0x49, 0x4e, 0x47, 0x10, 0x10, 0x12, 0x0c, 0x0a, 0x08, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x11, 0x12, 0x0b, 0x0a, 0x07, 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x12, + 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x4f, 0x41, 0x44, 0x45, 0x44, 0x10, 0x13, 0x12, 0x18, 0x0a, 0x14, + 0x41, 0x57, 0x41, 0x49, 0x54, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x49, 0x4e, 0x53, 0x54, + 0x41, 0x4e, 0x43, 0x45, 0x10, 0x14, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, + 0x15, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x44, 0x45, 0x4c, 0x41, 0x59, + 0x45, 0x44, 0x10, 0x16, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, + 0x17, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x49, 0x4e, 0x47, 0x10, + 0x18, 0x2a, 0x4e, 0x0a, 0x16, 0x48, 0x77, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x4d, + 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x55, + 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x4f, 0x54, 0x46, + 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, + 0x45, 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, + 0x03, 0x2a, 0x88, 0x01, 0x0a, 0x13, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x63, 0x41, 0x74, 0x52, + 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x41, 0x54, + 0x41, 0x53, 0x45, 0x43, 0x5f, 0x41, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x5f, 0x55, 0x4e, 0x4b, + 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x41, 0x54, 0x41, 0x53, 0x45, + 0x43, 0x5f, 0x41, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, + 0x45, 0x44, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x41, 0x54, 0x41, 0x53, 0x45, 0x43, 0x5f, + 0x41, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, + 0x02, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x41, 0x54, 0x41, 0x53, 0x45, 0x43, 0x5f, 0x41, 0x54, 0x5f, + 0x52, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x2a, 0x3f, 0x0a, 0x09, + 0x50, 0x43, 0x52, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x43, 0x52, + 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x43, + 0x52, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x50, + 0x43, 0x52, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x2a, 0x4d, 0x0a, + 0x07, 0x53, 0x69, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x49, 0x4d, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x49, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, + 0x48, 0x59, 0x53, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x49, 0x4d, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x53, 0x49, 0x4d, 0x10, 0x02, 0x2a, 0xa0, 0x02, 0x0a, + 0x17, 0x5a, 0x43, 0x65, 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x26, 0x5a, 0x5f, 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4e, 0x47, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x03, 0x12, - 0x33, 0x0a, 0x2f, 0x5a, 0x5f, 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x4f, 0x50, - 0x45, 0x52, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x4e, - 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, - 0x45, 0x44, 0x10, 0x04, 0x12, 0x2b, 0x0a, 0x27, 0x5a, 0x5f, 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x5a, 0x5f, 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x52, 0x45, 0x43, 0x4f, 0x47, 0x4e, 0x49, 0x5a, 0x45, 0x44, 0x10, - 0x05, 0x2a, 0x92, 0x01, 0x0a, 0x18, 0x5a, 0x43, 0x65, 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x2b, - 0x0a, 0x27, 0x5a, 0x5f, 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x43, 0x4f, 0x4e, - 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1f, 0x5a, - 0x5f, 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, - 0x4c, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x51, 0x4d, 0x49, 0x10, 0x01, - 0x12, 0x24, 0x0a, 0x20, 0x5a, 0x5f, 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x43, - 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, - 0x4d, 0x42, 0x49, 0x4d, 0x10, 0x02, 0x2a, 0xb1, 0x02, 0x0a, 0x0c, 0x5a, 0x44, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x5a, 0x44, 0x45, 0x56, 0x49, - 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x5a, 0x44, 0x45, 0x56, 0x49, 0x43, - 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x01, - 0x12, 0x1b, 0x0a, 0x17, 0x5a, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x45, 0x5f, 0x52, 0x45, 0x42, 0x4f, 0x4f, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x22, 0x0a, - 0x1e, 0x5a, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4d, - 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, - 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x5a, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x5f, 0x42, 0x41, 0x53, 0x45, 0x4f, 0x53, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, - 0x4e, 0x47, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15, 0x5a, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x42, 0x4f, 0x4f, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, - 0x24, 0x0a, 0x20, 0x5a, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x5f, 0x50, 0x52, 0x45, 0x50, 0x41, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4f, 0x57, 0x45, 0x52, - 0x4f, 0x46, 0x46, 0x10, 0x06, 0x12, 0x1e, 0x0a, 0x1a, 0x5a, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x4f, 0x57, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x5f, - 0x4f, 0x46, 0x46, 0x10, 0x07, 0x12, 0x23, 0x0a, 0x1f, 0x5a, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x50, 0x41, 0x52, 0x45, 0x44, 0x5f, - 0x50, 0x4f, 0x57, 0x45, 0x52, 0x4f, 0x46, 0x46, 0x10, 0x08, 0x2a, 0xf5, 0x01, 0x0a, 0x0d, 0x53, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x1a, - 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, - 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, - 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4f, - 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x54, 0x4f, 0x52, 0x41, - 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x45, 0x47, 0x52, 0x41, 0x44, - 0x45, 0x44, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x45, 0x44, 0x10, 0x03, - 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x4f, 0x46, 0x46, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, - 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, - 0x4e, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x10, 0x05, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x54, 0x4f, 0x52, - 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, - 0x45, 0x44, 0x10, 0x06, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x55, 0x53, 0x50, 0x45, 0x4e, 0x44, 0x45, 0x44, - 0x10, 0x07, 0x2a, 0xe3, 0x01, 0x0a, 0x0f, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x61, - 0x69, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, - 0x45, 0x5f, 0x52, 0x41, 0x49, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x54, 0x4f, - 0x52, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x41, 0x49, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, - 0x41, 0x49, 0x44, 0x30, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, - 0x45, 0x5f, 0x52, 0x41, 0x49, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x41, 0x49, 0x44, - 0x31, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x52, - 0x41, 0x49, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x41, 0x49, 0x44, 0x35, 0x10, 0x03, - 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x41, 0x49, 0x44, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x41, 0x49, 0x44, 0x36, 0x10, 0x04, 0x12, 0x1b, 0x0a, - 0x17, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x41, 0x49, 0x44, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x52, 0x41, 0x49, 0x44, 0x37, 0x10, 0x05, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x54, - 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x41, 0x49, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x4e, 0x4f, 0x52, 0x41, 0x49, 0x44, 0x10, 0x06, 0x2a, 0x6b, 0x0a, 0x0f, 0x53, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x1d, 0x53, - 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x46, 0x4f, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, - 0x0a, 0x16, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, - 0x4e, 0x46, 0x4f, 0x5f, 0x45, 0x58, 0x54, 0x34, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x54, - 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x5f, - 0x5a, 0x46, 0x53, 0x10, 0x02, 0x2a, 0xb0, 0x07, 0x0a, 0x0d, 0x41, 0x50, 0x49, 0x43, 0x61, 0x70, - 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x50, 0x49, 0x5f, 0x43, - 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x49, 0x5f, 0x43, - 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x54, 0x52, 0x59, 0x5f, - 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x50, 0x49, 0x5f, - 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x44, - 0x4f, 0x57, 0x4e, 0x10, 0x02, 0x12, 0x29, 0x0a, 0x25, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, - 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x44, 0x45, - 0x4c, 0x41, 0x59, 0x5f, 0x49, 0x4e, 0x5f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x03, - 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, - 0x54, 0x59, 0x5f, 0x45, 0x44, 0x47, 0x45, 0x56, 0x49, 0x45, 0x57, 0x10, 0x04, 0x12, 0x23, 0x0a, - 0x1f, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, - 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x53, - 0x10, 0x05, 0x12, 0x2b, 0x0a, 0x27, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, - 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x49, 0x4e, 0x53, - 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x06, 0x12, - 0x1c, 0x0a, 0x18, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, - 0x59, 0x5f, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x07, 0x12, 0x16, 0x0a, - 0x12, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, - 0x4d, 0x54, 0x55, 0x10, 0x08, 0x12, 0x26, 0x0a, 0x22, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, - 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x41, 0x44, 0x41, 0x50, 0x54, 0x45, 0x52, 0x5f, - 0x55, 0x53, 0x45, 0x52, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x53, 0x10, 0x09, 0x12, 0x2f, 0x0a, - 0x2b, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, - 0x45, 0x4e, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x44, 0x5f, 0x4e, 0x45, 0x54, 0x5f, 0x49, 0x4e, 0x54, - 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x10, 0x0a, 0x12, 0x1c, - 0x0a, 0x18, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, - 0x5f, 0x4e, 0x54, 0x50, 0x53, 0x5f, 0x46, 0x51, 0x44, 0x4e, 0x10, 0x0b, 0x12, 0x26, 0x0a, 0x22, - 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x57, - 0x49, 0x4e, 0x5f, 0x4c, 0x49, 0x43, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x54, 0x48, 0x52, 0x4f, 0x55, - 0x47, 0x48, 0x10, 0x0c, 0x12, 0x2d, 0x0a, 0x29, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, - 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x53, 0x4e, - 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x53, 0x5f, 0x49, 0x4d, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x54, - 0x45, 0x10, 0x0d, 0x12, 0x2b, 0x0a, 0x27, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, - 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, 0x5f, - 0x50, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x45, 0x4e, 0x56, 0x45, 0x4c, 0x4f, 0x50, 0x45, 0x10, 0x0e, - 0x12, 0x2a, 0x0a, 0x26, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, - 0x54, 0x59, 0x5f, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x43, 0x4b, 0x5f, - 0x49, 0x50, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x10, 0x0f, 0x12, 0x29, 0x0a, 0x25, - 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x43, - 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x41, 0x43, 0x48, 0x5f, 0x43, - 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x10, 0x12, 0x2a, 0x0a, 0x26, 0x41, 0x50, 0x49, 0x5f, 0x43, - 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x45, 0x44, 0x47, 0x45, 0x56, 0x49, - 0x45, 0x57, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, - 0x4e, 0x10, 0x11, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, - 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x56, 0x54, - 0x50, 0x4d, 0x10, 0x12, 0x12, 0x2a, 0x0a, 0x26, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, - 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4c, 0x4f, 0x43, 0x5f, 0x52, 0x45, 0x42, 0x4f, 0x4f, - 0x54, 0x5f, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x13, - 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, - 0x54, 0x59, 0x5f, 0x53, 0x4d, 0x41, 0x52, 0x54, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x10, - 0x14, 0x12, 0x26, 0x0a, 0x22, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, - 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x54, 0x50, 0x4d, 0x5f, 0x45, - 0x56, 0x45, 0x4e, 0x54, 0x4c, 0x4f, 0x47, 0x10, 0x15, 0x12, 0x34, 0x0a, 0x30, 0x41, 0x50, 0x49, - 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x41, 0x50, 0x50, 0x5f, - 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4e, 0x45, 0x54, 0x5f, 0x49, 0x4e, 0x54, - 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x16, 0x12, - 0x27, 0x0a, 0x23, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, - 0x59, 0x5f, 0x43, 0x50, 0x55, 0x5f, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, - 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x10, 0x17, 0x2a, 0xb9, 0x03, 0x0a, 0x0a, 0x42, 0x6f, 0x6f, - 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x17, 0x42, 0x4f, 0x4f, 0x54, 0x5f, - 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, - 0x53, 0x4f, 0x4e, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x42, - 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x42, 0x4f, 0x4f, - 0x54, 0x5f, 0x43, 0x4d, 0x44, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x42, 0x4f, 0x4f, 0x54, 0x5f, - 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, - 0x18, 0x0a, 0x14, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x46, - 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x42, 0x4f, 0x4f, - 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, - 0x45, 0x43, 0x54, 0x10, 0x05, 0x12, 0x15, 0x0a, 0x11, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, - 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x54, 0x41, 0x4c, 0x10, 0x06, 0x12, 0x13, 0x0a, 0x0f, - 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4f, 0x4f, 0x4d, 0x10, - 0x07, 0x12, 0x1d, 0x0a, 0x19, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, - 0x5f, 0x57, 0x41, 0x54, 0x43, 0x48, 0x44, 0x4f, 0x47, 0x5f, 0x48, 0x55, 0x4e, 0x47, 0x10, 0x08, - 0x12, 0x1c, 0x0a, 0x18, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, - 0x57, 0x41, 0x54, 0x43, 0x48, 0x44, 0x4f, 0x47, 0x5f, 0x50, 0x49, 0x44, 0x10, 0x09, 0x12, 0x16, - 0x0a, 0x12, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4b, 0x45, - 0x52, 0x4e, 0x45, 0x4c, 0x10, 0x0a, 0x12, 0x1a, 0x0a, 0x16, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, - 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x50, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, - 0x10, 0x0b, 0x12, 0x17, 0x0a, 0x13, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, - 0x4e, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x0c, 0x12, 0x1c, 0x0a, 0x18, 0x42, - 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x56, 0x41, 0x55, 0x4c, 0x54, - 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x0d, 0x12, 0x1c, 0x0a, 0x18, 0x42, 0x4f, 0x4f, - 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x50, 0x4f, 0x57, 0x45, 0x52, 0x4f, 0x46, - 0x46, 0x5f, 0x43, 0x4d, 0x44, 0x10, 0x0e, 0x12, 0x1b, 0x0a, 0x16, 0x42, 0x4f, 0x4f, 0x54, 0x5f, - 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x52, 0x53, 0x45, 0x5f, 0x46, 0x41, 0x49, - 0x4c, 0x10, 0xff, 0x01, 0x2a, 0xd6, 0x02, 0x0a, 0x15, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, - 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x20, - 0x0a, 0x1c, 0x4d, 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x4f, - 0x44, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, - 0x12, 0x2a, 0x0a, 0x26, 0x4d, 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, - 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, - 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x2b, 0x0a, 0x27, - 0x4d, 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, - 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x56, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x4c, 0x4f, - 0x43, 0x4b, 0x45, 0x44, 0x5f, 0x55, 0x50, 0x10, 0x02, 0x12, 0x2a, 0x0a, 0x26, 0x4d, 0x41, 0x49, - 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, - 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x44, 0x49, 0x53, 0x4b, 0x5f, 0x53, 0x50, - 0x41, 0x43, 0x45, 0x10, 0x03, 0x12, 0x32, 0x0a, 0x2e, 0x4d, 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, - 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, - 0x5f, 0x54, 0x50, 0x4d, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x04, 0x12, 0x2d, 0x0a, 0x29, 0x4d, 0x41, 0x49, - 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, - 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x50, 0x4d, 0x5f, 0x51, 0x55, 0x4f, 0x54, 0x45, 0x5f, 0x46, - 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x05, 0x12, 0x33, 0x0a, 0x2f, 0x4d, 0x41, 0x49, 0x4e, - 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x41, - 0x53, 0x4f, 0x4e, 0x5f, 0x45, 0x44, 0x47, 0x45, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x45, - 0x52, 0x54, 0x53, 0x5f, 0x52, 0x45, 0x46, 0x55, 0x53, 0x45, 0x44, 0x10, 0x06, 0x2a, 0xb5, 0x02, - 0x0a, 0x10, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x43, 0x45, - 0x5f, 0x57, 0x41, 0x49, 0x54, 0x10, 0x01, 0x12, 0x24, 0x0a, 0x20, 0x41, 0x54, 0x54, 0x45, 0x53, - 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x50, 0x4d, - 0x5f, 0x51, 0x55, 0x4f, 0x54, 0x45, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x10, 0x02, 0x12, 0x25, 0x0a, - 0x21, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x5f, 0x54, 0x50, 0x4d, 0x5f, 0x45, 0x53, 0x43, 0x52, 0x4f, 0x57, 0x5f, 0x57, 0x41, - 0x49, 0x54, 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, - 0x5f, 0x57, 0x41, 0x49, 0x54, 0x10, 0x04, 0x12, 0x28, 0x0a, 0x24, 0x41, 0x54, 0x54, 0x45, 0x53, - 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x54, 0x54, - 0x45, 0x53, 0x54, 0x5f, 0x45, 0x53, 0x43, 0x52, 0x4f, 0x57, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x10, - 0x05, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x57, - 0x41, 0x49, 0x54, 0x10, 0x06, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, - 0x45, 0x54, 0x45, 0x10, 0x07, 0x2a, 0x8b, 0x01, 0x0a, 0x13, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x73, - 0x74, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, - 0x1c, 0x41, 0x50, 0x50, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x44, - 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, - 0x27, 0x0a, 0x23, 0x41, 0x50, 0x50, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x41, - 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4b, 0x55, 0x42, 0x45, 0x5f, - 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x01, 0x12, 0x29, 0x0a, 0x25, 0x41, 0x50, 0x50, 0x5f, - 0x49, 0x4e, 0x53, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, - 0x53, 0x10, 0x02, 0x2a, 0x61, 0x0a, 0x0c, 0x57, 0x69, 0x72, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x57, 0x49, 0x52, 0x45, 0x4c, 0x45, 0x53, 0x53, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x57, 0x49, 0x52, 0x45, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x57, 0x49, 0x46, 0x49, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x57, 0x49, - 0x52, 0x45, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x45, 0x4c, 0x4c, - 0x55, 0x4c, 0x41, 0x52, 0x10, 0x02, 0x2a, 0x71, 0x0a, 0x0c, 0x42, 0x61, 0x73, 0x65, 0x4f, 0x73, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, - 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, - 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x44, 0x4f, - 0x4e, 0x45, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, - 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x44, 0x10, 0x04, 0x12, - 0x0c, 0x0a, 0x08, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x05, 0x12, 0x0a, 0x0a, - 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x06, 0x2a, 0xcb, 0x01, 0x0a, 0x0f, 0x42, 0x61, - 0x73, 0x65, 0x4f, 0x73, 0x53, 0x75, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, - 0x0e, 0x4e, 0x4f, 0x4e, 0x45, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, - 0x00, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x49, 0x4e, - 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x45, - 0x52, 0x49, 0x46, 0x59, 0x5f, 0x49, 0x4e, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, - 0x02, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, - 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x50, - 0x44, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x42, 0x4f, 0x4f, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x04, - 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x45, 0x53, 0x54, 0x49, - 0x4e, 0x47, 0x10, 0x05, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x4e, - 0x45, 0x45, 0x44, 0x5f, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, - 0x10, 0x06, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x45, 0x46, - 0x45, 0x52, 0x52, 0x45, 0x44, 0x10, 0x07, 0x2a, 0x68, 0x0a, 0x0c, 0x53, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x4e, 0x41, 0x50, 0x53, - 0x48, 0x4f, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, - 0x4f, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x50, 0x50, 0x5f, 0x55, 0x50, 0x44, 0x41, - 0x54, 0x45, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4d, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x54, 0x45, 0x10, - 0x02, 0x2a, 0xb8, 0x01, 0x0a, 0x16, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2a, 0x0a, 0x26, - 0x5a, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x4e, - 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x5a, 0x5f, 0x49, 0x4e, - 0x46, 0x4f, 0x5f, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x01, 0x12, 0x27, - 0x0a, 0x23, 0x5a, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, - 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4e, 0x4f, 0x54, - 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x02, 0x12, 0x23, 0x0a, 0x1f, 0x5a, 0x5f, 0x49, 0x4e, 0x46, - 0x4f, 0x5f, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x03, 0x2a, 0x8f, 0x01, 0x0a, - 0x0d, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0f, - 0x0a, 0x0b, 0x56, 0x50, 0x4e, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, - 0x0f, 0x0a, 0x0b, 0x56, 0x50, 0x4e, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x10, 0x01, - 0x12, 0x12, 0x0a, 0x0e, 0x56, 0x50, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, - 0x4e, 0x47, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x56, 0x50, 0x4e, 0x5f, 0x45, 0x53, 0x54, 0x41, - 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x56, 0x50, 0x4e, - 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, - 0x56, 0x50, 0x4e, 0x5f, 0x52, 0x45, 0x4b, 0x45, 0x59, 0x45, 0x44, 0x10, 0x05, 0x12, 0x0f, 0x0a, - 0x0b, 0x56, 0x50, 0x4e, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x0a, 0x2a, 0x85, - 0x01, 0x0a, 0x15, 0x5a, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x5a, 0x4e, 0x45, 0x54, - 0x49, 0x4e, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x5a, 0x4e, 0x45, 0x54, - 0x49, 0x4e, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x10, - 0x01, 0x12, 0x19, 0x0a, 0x15, 0x5a, 0x4e, 0x45, 0x54, 0x49, 0x4e, 0x53, 0x54, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, - 0x5a, 0x4e, 0x45, 0x54, 0x49, 0x4e, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, - 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x2a, 0x9e, 0x01, 0x0a, 0x0e, 0x4c, 0x6f, 0x63, 0x52, 0x65, - 0x6c, 0x69, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x1b, 0x4c, 0x4f, 0x43, - 0x5f, 0x52, 0x45, 0x4c, 0x49, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x4f, - 0x43, 0x5f, 0x52, 0x45, 0x4c, 0x49, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x56, 0x45, - 0x52, 0x59, 0x5f, 0x4c, 0x4f, 0x57, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x4f, 0x43, 0x5f, - 0x52, 0x45, 0x4c, 0x49, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4c, 0x4f, 0x57, 0x10, - 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x4c, 0x4f, 0x43, 0x5f, 0x52, 0x45, 0x4c, 0x49, 0x41, 0x42, 0x49, - 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x10, 0x03, 0x12, 0x18, 0x0a, - 0x14, 0x4c, 0x4f, 0x43, 0x5f, 0x52, 0x45, 0x4c, 0x49, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, - 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x04, 0x42, 0x39, 0x0a, 0x13, 0x6f, 0x72, 0x67, 0x2e, 0x6c, - 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x5a, 0x22, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x66, 0x2d, 0x65, 0x64, - 0x67, 0x65, 0x2f, 0x65, 0x76, 0x65, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x69, 0x6e, - 0x66, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x54, 0x45, 0x5f, 0x4f, 0x46, 0x46, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x28, 0x0a, 0x24, + 0x5a, 0x5f, 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, + 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x41, 0x44, 0x49, 0x4f, + 0x5f, 0x4f, 0x46, 0x46, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x5a, 0x5f, 0x43, 0x45, 0x4c, 0x4c, + 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x03, 0x12, 0x33, 0x0a, + 0x2f, 0x5a, 0x5f, 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x4f, 0x50, 0x45, 0x52, + 0x41, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x4e, 0x4c, 0x49, + 0x4e, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, + 0x10, 0x04, 0x12, 0x2b, 0x0a, 0x27, 0x5a, 0x5f, 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, + 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x5f, 0x55, 0x4e, 0x52, 0x45, 0x43, 0x4f, 0x47, 0x4e, 0x49, 0x5a, 0x45, 0x44, 0x10, 0x05, 0x2a, + 0x92, 0x01, 0x0a, 0x18, 0x5a, 0x43, 0x65, 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x2b, 0x0a, 0x27, + 0x5a, 0x5f, 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, + 0x4f, 0x4c, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1f, 0x5a, 0x5f, 0x43, + 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, + 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x51, 0x4d, 0x49, 0x10, 0x01, 0x12, 0x24, + 0x0a, 0x20, 0x5a, 0x5f, 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x43, 0x4f, 0x4e, + 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x4d, 0x42, + 0x49, 0x4d, 0x10, 0x02, 0x2a, 0xb1, 0x02, 0x0a, 0x0c, 0x5a, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x5a, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x5a, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x1b, + 0x0a, 0x17, 0x5a, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, + 0x52, 0x45, 0x42, 0x4f, 0x4f, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x5a, + 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4d, 0x41, 0x49, + 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x03, 0x12, + 0x21, 0x0a, 0x1d, 0x5a, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x5f, 0x42, 0x41, 0x53, 0x45, 0x4f, 0x53, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, + 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15, 0x5a, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x45, 0x5f, 0x42, 0x4f, 0x4f, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x24, 0x0a, + 0x20, 0x5a, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, + 0x52, 0x45, 0x50, 0x41, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4f, 0x57, 0x45, 0x52, 0x4f, 0x46, + 0x46, 0x10, 0x06, 0x12, 0x1e, 0x0a, 0x1a, 0x5a, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x4f, 0x57, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x4f, 0x46, + 0x46, 0x10, 0x07, 0x12, 0x23, 0x0a, 0x1f, 0x5a, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x50, 0x41, 0x52, 0x45, 0x44, 0x5f, 0x50, 0x4f, + 0x57, 0x45, 0x52, 0x4f, 0x46, 0x46, 0x10, 0x08, 0x2a, 0xf5, 0x01, 0x0a, 0x0d, 0x53, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x54, + 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x54, + 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4f, 0x4e, 0x4c, + 0x49, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x45, 0x47, 0x52, 0x41, 0x44, 0x45, 0x44, + 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x1a, + 0x0a, 0x16, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, + 0x5f, 0x4f, 0x46, 0x46, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x54, + 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x41, + 0x56, 0x41, 0x49, 0x4c, 0x10, 0x05, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, + 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x44, + 0x10, 0x06, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x55, 0x53, 0x50, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x07, + 0x2a, 0xe3, 0x01, 0x0a, 0x0f, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x61, 0x69, 0x64, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, + 0x52, 0x41, 0x49, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x54, 0x4f, 0x52, 0x41, + 0x47, 0x45, 0x5f, 0x52, 0x41, 0x49, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x41, 0x49, + 0x44, 0x30, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, + 0x52, 0x41, 0x49, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x41, 0x49, 0x44, 0x31, 0x10, + 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x41, 0x49, + 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x41, 0x49, 0x44, 0x35, 0x10, 0x03, 0x12, 0x1b, + 0x0a, 0x17, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x41, 0x49, 0x44, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x52, 0x41, 0x49, 0x44, 0x36, 0x10, 0x04, 0x12, 0x1b, 0x0a, 0x17, 0x53, + 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x41, 0x49, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x52, 0x41, 0x49, 0x44, 0x37, 0x10, 0x05, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x54, 0x4f, 0x52, + 0x41, 0x47, 0x45, 0x5f, 0x52, 0x41, 0x49, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, + 0x52, 0x41, 0x49, 0x44, 0x10, 0x06, 0x2a, 0x6b, 0x0a, 0x0f, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x54, 0x4f, + 0x52, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, + 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x46, + 0x4f, 0x5f, 0x45, 0x58, 0x54, 0x34, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x54, 0x4f, 0x52, + 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x5a, 0x46, + 0x53, 0x10, 0x02, 0x2a, 0x85, 0x01, 0x0a, 0x0b, 0x43, 0x50, 0x55, 0x50, 0x6f, 0x6f, 0x6c, 0x4b, + 0x69, 0x6e, 0x64, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x50, 0x55, 0x5f, 0x50, 0x4f, 0x4f, 0x4c, 0x5f, + 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x50, 0x55, 0x5f, 0x50, 0x4f, 0x4f, 0x4c, 0x5f, 0x4b, + 0x49, 0x4e, 0x44, 0x5f, 0x48, 0x4f, 0x55, 0x53, 0x45, 0x4b, 0x45, 0x45, 0x50, 0x49, 0x4e, 0x47, + 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x50, 0x55, 0x5f, 0x50, 0x4f, 0x4f, 0x4c, 0x5f, 0x4b, + 0x49, 0x4e, 0x44, 0x5f, 0x44, 0x45, 0x44, 0x49, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, + 0x1a, 0x0a, 0x16, 0x43, 0x50, 0x55, 0x5f, 0x50, 0x4f, 0x4f, 0x4c, 0x5f, 0x4b, 0x49, 0x4e, 0x44, + 0x5f, 0x49, 0x53, 0x4f, 0x4c, 0x41, 0x54, 0x45, 0x44, 0x10, 0x03, 0x2a, 0xb0, 0x07, 0x0a, 0x0d, + 0x41, 0x50, 0x49, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1e, 0x0a, + 0x1a, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, + 0x1b, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, + 0x52, 0x45, 0x54, 0x52, 0x59, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x1b, + 0x0a, 0x17, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, + 0x5f, 0x53, 0x48, 0x55, 0x54, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x02, 0x12, 0x29, 0x0a, 0x25, 0x41, + 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x54, + 0x41, 0x52, 0x54, 0x5f, 0x44, 0x45, 0x4c, 0x41, 0x59, 0x5f, 0x49, 0x4e, 0x5f, 0x53, 0x45, 0x43, + 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, + 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x45, 0x44, 0x47, 0x45, 0x56, 0x49, 0x45, + 0x57, 0x10, 0x04, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, + 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x53, 0x4e, 0x41, + 0x50, 0x53, 0x48, 0x4f, 0x54, 0x53, 0x10, 0x05, 0x12, 0x2b, 0x0a, 0x27, 0x41, 0x50, 0x49, 0x5f, + 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, + 0x52, 0x4b, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x52, 0x4f, 0x55, 0x54, + 0x49, 0x4e, 0x47, 0x10, 0x06, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, + 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x4d, 0x4f, 0x44, + 0x45, 0x10, 0x07, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, + 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4d, 0x54, 0x55, 0x10, 0x08, 0x12, 0x26, 0x0a, 0x22, 0x41, + 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x41, 0x44, + 0x41, 0x50, 0x54, 0x45, 0x52, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, + 0x53, 0x10, 0x09, 0x12, 0x2f, 0x0a, 0x2b, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, + 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x45, 0x4e, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x44, 0x5f, 0x4e, + 0x45, 0x54, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x4f, 0x52, 0x44, + 0x45, 0x52, 0x10, 0x0a, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, + 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4e, 0x54, 0x50, 0x53, 0x5f, 0x46, 0x51, 0x44, 0x4e, + 0x10, 0x0b, 0x12, 0x26, 0x0a, 0x22, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, + 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x57, 0x49, 0x4e, 0x5f, 0x4c, 0x49, 0x43, 0x5f, 0x50, 0x41, 0x53, + 0x53, 0x54, 0x48, 0x52, 0x4f, 0x55, 0x47, 0x48, 0x10, 0x0c, 0x12, 0x2d, 0x0a, 0x29, 0x41, 0x50, + 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x56, 0x4f, 0x4c, + 0x55, 0x4d, 0x45, 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x53, 0x5f, 0x49, 0x4d, + 0x4d, 0x45, 0x44, 0x49, 0x41, 0x54, 0x45, 0x10, 0x0d, 0x12, 0x2b, 0x0a, 0x27, 0x41, 0x50, 0x49, + 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x45, 0x4e, 0x43, 0x52, + 0x59, 0x50, 0x54, 0x45, 0x44, 0x5f, 0x50, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x45, 0x4e, 0x56, 0x45, + 0x4c, 0x4f, 0x50, 0x45, 0x10, 0x0e, 0x12, 0x2a, 0x0a, 0x26, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, + 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, + 0x53, 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x49, 0x50, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, + 0x10, 0x0f, 0x12, 0x29, 0x0a, 0x25, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, + 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x41, 0x54, + 0x54, 0x41, 0x43, 0x48, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x10, 0x12, 0x2a, 0x0a, + 0x26, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, + 0x45, 0x44, 0x47, 0x45, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, + 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x11, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x49, + 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x44, 0x49, 0x53, 0x41, + 0x42, 0x4c, 0x45, 0x5f, 0x56, 0x54, 0x50, 0x4d, 0x10, 0x12, 0x12, 0x2a, 0x0a, 0x26, 0x41, 0x50, + 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4c, 0x4f, 0x43, + 0x5f, 0x52, 0x45, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x5f, + 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x13, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, + 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x4d, 0x41, 0x52, 0x54, 0x5f, 0x52, + 0x45, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x14, 0x12, 0x26, 0x0a, 0x22, 0x41, 0x50, 0x49, 0x5f, 0x43, + 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, + 0x5f, 0x54, 0x50, 0x4d, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x4c, 0x4f, 0x47, 0x10, 0x15, 0x12, + 0x34, 0x0a, 0x30, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, + 0x59, 0x5f, 0x41, 0x50, 0x50, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4e, + 0x45, 0x54, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x43, 0x48, 0x41, + 0x4e, 0x47, 0x45, 0x10, 0x16, 0x12, 0x27, 0x0a, 0x23, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x41, 0x50, + 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x43, 0x50, 0x55, 0x5f, 0x50, 0x4c, 0x41, 0x43, + 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x10, 0x17, 0x2a, 0xb9, + 0x03, 0x0a, 0x0a, 0x42, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, + 0x17, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x42, 0x4f, + 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x10, + 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, + 0x5f, 0x52, 0x45, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x43, 0x4d, 0x44, 0x10, 0x02, 0x12, 0x16, 0x0a, + 0x12, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x50, 0x44, + 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, + 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x04, 0x12, + 0x1a, 0x0a, 0x16, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x44, + 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x05, 0x12, 0x15, 0x0a, 0x11, 0x42, + 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x54, 0x41, 0x4c, + 0x10, 0x06, 0x12, 0x13, 0x0a, 0x0f, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, + 0x4e, 0x5f, 0x4f, 0x4f, 0x4d, 0x10, 0x07, 0x12, 0x1d, 0x0a, 0x19, 0x42, 0x4f, 0x4f, 0x54, 0x5f, + 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x57, 0x41, 0x54, 0x43, 0x48, 0x44, 0x4f, 0x47, 0x5f, + 0x48, 0x55, 0x4e, 0x47, 0x10, 0x08, 0x12, 0x1c, 0x0a, 0x18, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, + 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x57, 0x41, 0x54, 0x43, 0x48, 0x44, 0x4f, 0x47, 0x5f, 0x50, + 0x49, 0x44, 0x10, 0x09, 0x12, 0x16, 0x0a, 0x12, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, + 0x53, 0x4f, 0x4e, 0x5f, 0x4b, 0x45, 0x52, 0x4e, 0x45, 0x4c, 0x10, 0x0a, 0x12, 0x1a, 0x0a, 0x16, + 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x50, 0x4f, 0x57, 0x45, + 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x0b, 0x12, 0x17, 0x0a, 0x13, 0x42, 0x4f, 0x4f, 0x54, + 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, + 0x0c, 0x12, 0x1c, 0x0a, 0x18, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, + 0x5f, 0x56, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x0d, 0x12, + 0x1c, 0x0a, 0x18, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x50, + 0x4f, 0x57, 0x45, 0x52, 0x4f, 0x46, 0x46, 0x5f, 0x43, 0x4d, 0x44, 0x10, 0x0e, 0x12, 0x1b, 0x0a, + 0x16, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x52, + 0x53, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10, 0xff, 0x01, 0x2a, 0xd6, 0x02, 0x0a, 0x15, 0x4d, + 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x1c, 0x4d, 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x41, + 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, + 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x2a, 0x0a, 0x26, 0x4d, 0x41, 0x49, 0x4e, 0x54, 0x45, + 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, + 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, + 0x10, 0x01, 0x12, 0x2b, 0x0a, 0x27, 0x4d, 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, + 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x56, 0x41, + 0x55, 0x4c, 0x54, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x5f, 0x55, 0x50, 0x10, 0x02, 0x12, + 0x2a, 0x0a, 0x26, 0x4d, 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4d, + 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x44, + 0x49, 0x53, 0x4b, 0x5f, 0x53, 0x50, 0x41, 0x43, 0x45, 0x10, 0x03, 0x12, 0x32, 0x0a, 0x2e, 0x4d, + 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, + 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x50, 0x4d, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, + 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x04, 0x12, + 0x2d, 0x0a, 0x29, 0x4d, 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4d, + 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x50, 0x4d, 0x5f, 0x51, + 0x55, 0x4f, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x05, 0x12, 0x33, + 0x0a, 0x2f, 0x4d, 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x4f, + 0x44, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x45, 0x44, 0x47, 0x45, 0x5f, 0x4e, + 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x45, 0x52, 0x54, 0x53, 0x5f, 0x52, 0x45, 0x46, 0x55, 0x53, 0x45, + 0x44, 0x10, 0x06, 0x2a, 0xb5, 0x02, 0x0a, 0x10, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x41, 0x54, 0x54, 0x45, + 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x41, + 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x5f, 0x4e, 0x4f, 0x4e, 0x43, 0x45, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x10, 0x01, 0x12, 0x24, 0x0a, + 0x20, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x45, 0x5f, 0x54, 0x50, 0x4d, 0x5f, 0x51, 0x55, 0x4f, 0x54, 0x45, 0x5f, 0x57, 0x41, 0x49, + 0x54, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x50, 0x4d, 0x5f, 0x45, 0x53, 0x43, + 0x52, 0x4f, 0x57, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x41, 0x54, + 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, + 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x10, 0x04, 0x12, 0x28, 0x0a, + 0x24, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x45, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x53, 0x43, 0x52, 0x4f, 0x57, + 0x5f, 0x57, 0x41, 0x49, 0x54, 0x10, 0x05, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x54, 0x54, 0x45, 0x53, + 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x53, + 0x54, 0x41, 0x52, 0x54, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x10, 0x06, 0x12, 0x1e, 0x0a, 0x1a, 0x41, + 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x07, 0x2a, 0x8b, 0x01, 0x0a, 0x13, + 0x41, 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x50, 0x50, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x5f, + 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, + 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x27, 0x0a, 0x23, 0x41, 0x50, 0x50, 0x5f, 0x49, 0x4e, 0x53, + 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x01, 0x12, 0x29, + 0x0a, 0x25, 0x41, 0x50, 0x50, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, + 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x02, 0x2a, 0x61, 0x0a, 0x0c, 0x57, 0x69, 0x72, + 0x65, 0x6c, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x57, 0x49, 0x52, + 0x45, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x57, 0x49, 0x52, 0x45, + 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x57, 0x49, 0x46, 0x49, 0x10, 0x01, + 0x12, 0x1a, 0x0a, 0x16, 0x57, 0x49, 0x52, 0x45, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x10, 0x02, 0x2a, 0x71, 0x0a, 0x0c, + 0x42, 0x61, 0x73, 0x65, 0x4f, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x08, 0x0a, 0x04, + 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, + 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x4f, 0x57, 0x4e, 0x4c, + 0x4f, 0x41, 0x44, 0x5f, 0x44, 0x4f, 0x4e, 0x45, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x50, + 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x50, 0x44, 0x41, + 0x54, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, + 0x4b, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x06, 0x2a, + 0xcb, 0x01, 0x0a, 0x0f, 0x42, 0x61, 0x73, 0x65, 0x4f, 0x73, 0x53, 0x75, 0x62, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x0e, 0x4e, 0x4f, 0x4e, 0x45, 0x5f, 0x53, 0x55, 0x42, 0x53, + 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x4f, 0x57, 0x4e, 0x4c, + 0x4f, 0x41, 0x44, 0x5f, 0x49, 0x4e, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x01, + 0x12, 0x15, 0x0a, 0x11, 0x56, 0x45, 0x52, 0x49, 0x46, 0x59, 0x5f, 0x49, 0x4e, 0x50, 0x52, 0x4f, + 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x50, 0x44, 0x41, 0x54, + 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x49, 0x4e, 0x47, 0x10, 0x03, + 0x12, 0x14, 0x0a, 0x10, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x42, 0x4f, 0x4f, + 0x54, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, + 0x5f, 0x54, 0x45, 0x53, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x50, + 0x44, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x45, 0x45, 0x44, 0x5f, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x43, + 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x10, 0x06, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x50, 0x44, 0x41, + 0x54, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x45, 0x52, 0x52, 0x45, 0x44, 0x10, 0x07, 0x2a, 0x68, 0x0a, + 0x0c, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, + 0x19, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, + 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x50, + 0x50, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x4e, + 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4d, 0x4d, 0x45, + 0x44, 0x49, 0x41, 0x54, 0x45, 0x10, 0x02, 0x2a, 0xb8, 0x01, 0x0a, 0x16, 0x5a, 0x49, 0x6e, 0x66, + 0x6f, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x2a, 0x0a, 0x26, 0x5a, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x43, 0x4c, 0x55, + 0x53, 0x54, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x24, + 0x0a, 0x20, 0x5a, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, + 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x41, + 0x44, 0x59, 0x10, 0x01, 0x12, 0x27, 0x0a, 0x23, 0x5a, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x43, + 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x02, 0x12, 0x23, 0x0a, + 0x1f, 0x5a, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x5f, + 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x4f, 0x57, 0x4e, + 0x10, 0x03, 0x2a, 0x8f, 0x01, 0x0a, 0x0d, 0x5a, 0x49, 0x6e, 0x66, 0x6f, 0x56, 0x70, 0x6e, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x56, 0x50, 0x4e, 0x5f, 0x49, 0x4e, 0x56, 0x41, + 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x56, 0x50, 0x4e, 0x5f, 0x49, 0x4e, 0x49, + 0x54, 0x49, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x56, 0x50, 0x4e, 0x5f, 0x43, 0x4f, + 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x56, 0x50, + 0x4e, 0x5f, 0x45, 0x53, 0x54, 0x41, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, 0x03, 0x12, + 0x11, 0x0a, 0x0d, 0x56, 0x50, 0x4e, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x45, 0x44, + 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x56, 0x50, 0x4e, 0x5f, 0x52, 0x45, 0x4b, 0x45, 0x59, 0x45, + 0x44, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x56, 0x50, 0x4e, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, + 0x45, 0x44, 0x10, 0x0a, 0x2a, 0x85, 0x01, 0x0a, 0x15, 0x5a, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, + 0x0a, 0x1a, 0x5a, 0x4e, 0x45, 0x54, 0x49, 0x4e, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, + 0x0a, 0x13, 0x5a, 0x4e, 0x45, 0x54, 0x49, 0x4e, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x5a, 0x4e, 0x45, 0x54, 0x49, + 0x4e, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x4e, 0x4c, 0x49, 0x4e, 0x45, + 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x5a, 0x4e, 0x45, 0x54, 0x49, 0x4e, 0x53, 0x54, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x2a, 0x9e, 0x01, 0x0a, + 0x0e, 0x4c, 0x6f, 0x63, 0x52, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, + 0x1f, 0x0a, 0x1b, 0x4c, 0x4f, 0x43, 0x5f, 0x52, 0x45, 0x4c, 0x49, 0x41, 0x42, 0x49, 0x4c, 0x49, + 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x4f, 0x43, 0x5f, 0x52, 0x45, 0x4c, 0x49, 0x41, 0x42, 0x49, 0x4c, + 0x49, 0x54, 0x59, 0x5f, 0x56, 0x45, 0x52, 0x59, 0x5f, 0x4c, 0x4f, 0x57, 0x10, 0x01, 0x12, 0x17, + 0x0a, 0x13, 0x4c, 0x4f, 0x43, 0x5f, 0x52, 0x45, 0x4c, 0x49, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, + 0x59, 0x5f, 0x4c, 0x4f, 0x57, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x4c, 0x4f, 0x43, 0x5f, 0x52, + 0x45, 0x4c, 0x49, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x55, + 0x4d, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x4c, 0x4f, 0x43, 0x5f, 0x52, 0x45, 0x4c, 0x49, 0x41, + 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x04, 0x42, 0x39, 0x0a, + 0x13, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, + 0x69, 0x6e, 0x66, 0x6f, 0x5a, 0x22, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x6c, 0x66, 0x2d, 0x65, 0x64, 0x67, 0x65, 0x2f, 0x65, 0x76, 0x65, 0x2d, 0x61, 0x70, 0x69, + 0x2f, 0x67, 0x6f, 0x2f, 0x69, 0x6e, 0x66, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -10081,8 +10308,8 @@ func file_info_info_proto_rawDescGZIP() []byte { return file_info_info_proto_rawDescData } -var file_info_info_proto_enumTypes = make([]protoimpl.EnumInfo, 26) -var file_info_info_proto_msgTypes = make([]protoimpl.MessageInfo, 67) +var file_info_info_proto_enumTypes = make([]protoimpl.EnumInfo, 27) +var file_info_info_proto_msgTypes = make([]protoimpl.MessageInfo, 68) var file_info_info_proto_goTypes = []interface{}{ (DepMetricItemType)(0), // 0: org.lfedge.eve.info.DepMetricItemType (ZInfoTypes)(0), // 1: org.lfedge.eve.info.ZInfoTypes @@ -10097,286 +10324,290 @@ var file_info_info_proto_goTypes = []interface{}{ (StorageStatus)(0), // 10: org.lfedge.eve.info.StorageStatus (StorageRaidType)(0), // 11: org.lfedge.eve.info.StorageRaidType (StorageTypeInfo)(0), // 12: org.lfedge.eve.info.StorageTypeInfo - (APICapability)(0), // 13: org.lfedge.eve.info.APICapability - (BootReason)(0), // 14: org.lfedge.eve.info.BootReason - (MaintenanceModeReason)(0), // 15: org.lfedge.eve.info.MaintenanceModeReason - (AttestationState)(0), // 16: org.lfedge.eve.info.AttestationState - (AppInstMetaDataType)(0), // 17: org.lfedge.eve.info.AppInstMetaDataType - (WirelessType)(0), // 18: org.lfedge.eve.info.WirelessType - (BaseOsStatus)(0), // 19: org.lfedge.eve.info.BaseOsStatus - (BaseOsSubStatus)(0), // 20: org.lfedge.eve.info.BaseOsSubStatus - (SnapshotType)(0), // 21: org.lfedge.eve.info.SnapshotType - (ZInfoClusterNodeStatus)(0), // 22: org.lfedge.eve.info.ZInfoClusterNodeStatus - (ZInfoVpnState)(0), // 23: org.lfedge.eve.info.ZInfoVpnState - (ZNetworkInstanceState)(0), // 24: org.lfedge.eve.info.ZNetworkInstanceState - (LocReliability)(0), // 25: org.lfedge.eve.info.LocReliability - (*SmartAttr)(nil), // 26: org.lfedge.eve.info.SmartAttr - (*StorageDiskInfo)(nil), // 27: org.lfedge.eve.info.StorageDiskInfo - (*DeprecatedMetricItem)(nil), // 28: org.lfedge.eve.info.deprecatedMetricItem - (*ZmetIPAssignmentEntry)(nil), // 29: org.lfedge.eve.info.ZmetIPAssignmentEntry - (*ZmetVifInfo)(nil), // 30: org.lfedge.eve.info.ZmetVifInfo - (*ZioBundle)(nil), // 31: org.lfedge.eve.info.ZioBundle - (*IoAddresses)(nil), // 32: org.lfedge.eve.info.IoAddresses - (*VfPublishedInfo)(nil), // 33: org.lfedge.eve.info.VfPublishedInfo - (*ZInfoManufacturer)(nil), // 34: org.lfedge.eve.info.ZInfoManufacturer - (*ZInfoNetwork)(nil), // 35: org.lfedge.eve.info.ZInfoNetwork - (*GeoLoc)(nil), // 36: org.lfedge.eve.info.GeoLoc - (*ZInfoDNS)(nil), // 37: org.lfedge.eve.info.ZInfoDNS - (*ZInfoSW)(nil), // 38: org.lfedge.eve.info.ZInfoSW - (*VaultInfo)(nil), // 39: org.lfedge.eve.info.VaultInfo - (*DataSecAtRest)(nil), // 40: org.lfedge.eve.info.DataSecAtRest - (*SecurityInfo)(nil), // 41: org.lfedge.eve.info.SecurityInfo - (*ZInfoConfigItem)(nil), // 42: org.lfedge.eve.info.ZInfoConfigItem - (*ZInfoConfigItemStatus)(nil), // 43: org.lfedge.eve.info.ZInfoConfigItemStatus - (*ZInfoAppInstance)(nil), // 44: org.lfedge.eve.info.ZInfoAppInstance - (*ZInfoDeviceTasks)(nil), // 45: org.lfedge.eve.info.ZInfoDeviceTasks - (*ZSimcardInfo)(nil), // 46: org.lfedge.eve.info.ZSimcardInfo - (*ZCellularModuleInfo)(nil), // 47: org.lfedge.eve.info.ZCellularModuleInfo - (*ZCellularProvider)(nil), // 48: org.lfedge.eve.info.ZCellularProvider - (*CellularBearer)(nil), // 49: org.lfedge.eve.info.CellularBearer - (*CellularProfile)(nil), // 50: org.lfedge.eve.info.CellularProfile - (*StorageDiskState)(nil), // 51: org.lfedge.eve.info.StorageDiskState - (*StorageChildren)(nil), // 52: org.lfedge.eve.info.StorageChildren - (*StorageInfo)(nil), // 53: org.lfedge.eve.info.StorageInfo - (*ZInfoDevice)(nil), // 54: org.lfedge.eve.info.ZInfoDevice - (*OptionalCapabilities)(nil), // 55: org.lfedge.eve.info.OptionalCapabilities - (*AttestationInfo)(nil), // 56: org.lfedge.eve.info.AttestationInfo - (*SystemAdapterInfo)(nil), // 57: org.lfedge.eve.info.SystemAdapterInfo - (*DevicePortStatus)(nil), // 58: org.lfedge.eve.info.DevicePortStatus - (*DevicePort)(nil), // 59: org.lfedge.eve.info.DevicePort - (*ProxyStatus)(nil), // 60: org.lfedge.eve.info.ProxyStatus - (*ProxyEntry)(nil), // 61: org.lfedge.eve.info.ProxyEntry - (*WirelessStatus)(nil), // 62: org.lfedge.eve.info.WirelessStatus - (*ZCellularStatus)(nil), // 63: org.lfedge.eve.info.ZCellularStatus - (*ZInfoDevSW)(nil), // 64: org.lfedge.eve.info.ZInfoDevSW - (*ZInfoStorage)(nil), // 65: org.lfedge.eve.info.ZInfoStorage - (*ZInfoSnapshot)(nil), // 66: org.lfedge.eve.info.ZInfoSnapshot - (*ZInfoClusterNode)(nil), // 67: org.lfedge.eve.info.ZInfoClusterNode - (*ZInfoApp)(nil), // 68: org.lfedge.eve.info.ZInfoApp - (*ZInfoVpnLinkInfo)(nil), // 69: org.lfedge.eve.info.ZInfoVpnLinkInfo - (*ZInfoVpnLink)(nil), // 70: org.lfedge.eve.info.ZInfoVpnLink - (*ZInfoVpnEndPoint)(nil), // 71: org.lfedge.eve.info.ZInfoVpnEndPoint - (*ZInfoVpnConn)(nil), // 72: org.lfedge.eve.info.ZInfoVpnConn - (*ZInfoVpn)(nil), // 73: org.lfedge.eve.info.ZInfoVpn - (*ZInfoNetworkInstance)(nil), // 74: org.lfedge.eve.info.ZInfoNetworkInstance - (*IPRoute)(nil), // 75: org.lfedge.eve.info.IPRoute - (*UsageInfo)(nil), // 76: org.lfedge.eve.info.UsageInfo - (*VolumeResources)(nil), // 77: org.lfedge.eve.info.VolumeResources - (*ZInfoVolume)(nil), // 78: org.lfedge.eve.info.ZInfoVolume - (*ContentResources)(nil), // 79: org.lfedge.eve.info.ContentResources - (*ZInfoContentTree)(nil), // 80: org.lfedge.eve.info.ZInfoContentTree - (*ZInfoBlob)(nil), // 81: org.lfedge.eve.info.ZInfoBlob - (*ZInfoBlobList)(nil), // 82: org.lfedge.eve.info.ZInfoBlobList - (*ZInfoMsg)(nil), // 83: org.lfedge.eve.info.ZInfoMsg - (*Capabilities)(nil), // 84: org.lfedge.eve.info.Capabilities - (*ZInfoAppInstMetaData)(nil), // 85: org.lfedge.eve.info.ZInfoAppInstMetaData - (*ZInfoEdgeview)(nil), // 86: org.lfedge.eve.info.ZInfoEdgeview - (*ZInfoLocation)(nil), // 87: org.lfedge.eve.info.ZInfoLocation - (*ZInfoKubeClusterUpdateStatus)(nil), // 88: org.lfedge.eve.info.ZInfoKubeClusterUpdateStatus - (*ZInfoKubeCluster)(nil), // 89: org.lfedge.eve.info.ZInfoKubeCluster - (*ZInfoHardware)(nil), // 90: org.lfedge.eve.info.ZInfoHardware - nil, // 91: org.lfedge.eve.info.ZInfoConfigItemStatus.ConfigItemsEntry - nil, // 92: org.lfedge.eve.info.ZInfoConfigItemStatus.UnknownConfigItemsEntry - (evecommon.PhyIoType)(0), // 93: org.lfedge.eve.common.PhyIoType - (evecommon.PhyIoMemberUsage)(0), // 94: org.lfedge.eve.common.PhyIoMemberUsage - (*ErrorInfo)(nil), // 95: org.lfedge.eve.info.ErrorInfo - (evecommon.BearerType)(0), // 96: org.lfedge.eve.common.BearerType - (evecommon.CellularIPType)(0), // 97: org.lfedge.eve.common.CellularIPType - (*timestamppb.Timestamp)(nil), // 98: google.protobuf.Timestamp - (*evecommon.DiskDescription)(nil), // 99: org.lfedge.eve.common.DiskDescription - (*CertInfo)(nil), // 100: org.lfedge.eve.info.CertInfo - (*evecommon.PortConfigSource)(nil), // 101: org.lfedge.eve.common.PortConfigSource - (*PNACStatus)(nil), // 102: org.lfedge.eve.info.PNACStatus - (*BondStatus)(nil), // 103: org.lfedge.eve.info.BondStatus - (evecommon.RadioAccessTechnology)(0), // 104: org.lfedge.eve.common.RadioAccessTechnology - (*ZInfoPatchEnvelope)(nil), // 105: org.lfedge.eve.info.ZInfoPatchEnvelope - (*ZInfoNTPSources)(nil), // 106: org.lfedge.eve.info.ZInfoNTPSources - (KubeComp)(0), // 107: org.lfedge.eve.info.KubeComp - (KubeCompUpdateStatus)(0), // 108: org.lfedge.eve.info.KubeCompUpdateStatus - (*KubeNodeInfo)(nil), // 109: org.lfedge.eve.info.KubeNodeInfo - (*KubePodNameSpaceInfo)(nil), // 110: org.lfedge.eve.info.KubePodNameSpaceInfo - (*KubeEVEAppPodInfo)(nil), // 111: org.lfedge.eve.info.KubeEVEAppPodInfo - (*KubeStorageInfo)(nil), // 112: org.lfedge.eve.info.KubeStorageInfo - (*KubeVMIInfo)(nil), // 113: org.lfedge.eve.info.KubeVMIInfo - (*HardwareInventory)(nil), // 114: org.lfedge.eve.info.HardwareInventory + (CPUPoolKind)(0), // 13: org.lfedge.eve.info.CPUPoolKind + (APICapability)(0), // 14: org.lfedge.eve.info.APICapability + (BootReason)(0), // 15: org.lfedge.eve.info.BootReason + (MaintenanceModeReason)(0), // 16: org.lfedge.eve.info.MaintenanceModeReason + (AttestationState)(0), // 17: org.lfedge.eve.info.AttestationState + (AppInstMetaDataType)(0), // 18: org.lfedge.eve.info.AppInstMetaDataType + (WirelessType)(0), // 19: org.lfedge.eve.info.WirelessType + (BaseOsStatus)(0), // 20: org.lfedge.eve.info.BaseOsStatus + (BaseOsSubStatus)(0), // 21: org.lfedge.eve.info.BaseOsSubStatus + (SnapshotType)(0), // 22: org.lfedge.eve.info.SnapshotType + (ZInfoClusterNodeStatus)(0), // 23: org.lfedge.eve.info.ZInfoClusterNodeStatus + (ZInfoVpnState)(0), // 24: org.lfedge.eve.info.ZInfoVpnState + (ZNetworkInstanceState)(0), // 25: org.lfedge.eve.info.ZNetworkInstanceState + (LocReliability)(0), // 26: org.lfedge.eve.info.LocReliability + (*SmartAttr)(nil), // 27: org.lfedge.eve.info.SmartAttr + (*StorageDiskInfo)(nil), // 28: org.lfedge.eve.info.StorageDiskInfo + (*DeprecatedMetricItem)(nil), // 29: org.lfedge.eve.info.deprecatedMetricItem + (*ZmetIPAssignmentEntry)(nil), // 30: org.lfedge.eve.info.ZmetIPAssignmentEntry + (*ZmetVifInfo)(nil), // 31: org.lfedge.eve.info.ZmetVifInfo + (*ZioBundle)(nil), // 32: org.lfedge.eve.info.ZioBundle + (*IoAddresses)(nil), // 33: org.lfedge.eve.info.IoAddresses + (*VfPublishedInfo)(nil), // 34: org.lfedge.eve.info.VfPublishedInfo + (*ZInfoManufacturer)(nil), // 35: org.lfedge.eve.info.ZInfoManufacturer + (*ZInfoNetwork)(nil), // 36: org.lfedge.eve.info.ZInfoNetwork + (*GeoLoc)(nil), // 37: org.lfedge.eve.info.GeoLoc + (*ZInfoDNS)(nil), // 38: org.lfedge.eve.info.ZInfoDNS + (*ZInfoSW)(nil), // 39: org.lfedge.eve.info.ZInfoSW + (*VaultInfo)(nil), // 40: org.lfedge.eve.info.VaultInfo + (*DataSecAtRest)(nil), // 41: org.lfedge.eve.info.DataSecAtRest + (*SecurityInfo)(nil), // 42: org.lfedge.eve.info.SecurityInfo + (*ZInfoConfigItem)(nil), // 43: org.lfedge.eve.info.ZInfoConfigItem + (*ZInfoConfigItemStatus)(nil), // 44: org.lfedge.eve.info.ZInfoConfigItemStatus + (*ZInfoAppInstance)(nil), // 45: org.lfedge.eve.info.ZInfoAppInstance + (*ZInfoDeviceTasks)(nil), // 46: org.lfedge.eve.info.ZInfoDeviceTasks + (*ZSimcardInfo)(nil), // 47: org.lfedge.eve.info.ZSimcardInfo + (*ZCellularModuleInfo)(nil), // 48: org.lfedge.eve.info.ZCellularModuleInfo + (*ZCellularProvider)(nil), // 49: org.lfedge.eve.info.ZCellularProvider + (*CellularBearer)(nil), // 50: org.lfedge.eve.info.CellularBearer + (*CellularProfile)(nil), // 51: org.lfedge.eve.info.CellularProfile + (*StorageDiskState)(nil), // 52: org.lfedge.eve.info.StorageDiskState + (*StorageChildren)(nil), // 53: org.lfedge.eve.info.StorageChildren + (*StorageInfo)(nil), // 54: org.lfedge.eve.info.StorageInfo + (*CPUPoolUtilization)(nil), // 55: org.lfedge.eve.info.CPUPoolUtilization + (*ZInfoDevice)(nil), // 56: org.lfedge.eve.info.ZInfoDevice + (*OptionalCapabilities)(nil), // 57: org.lfedge.eve.info.OptionalCapabilities + (*AttestationInfo)(nil), // 58: org.lfedge.eve.info.AttestationInfo + (*SystemAdapterInfo)(nil), // 59: org.lfedge.eve.info.SystemAdapterInfo + (*DevicePortStatus)(nil), // 60: org.lfedge.eve.info.DevicePortStatus + (*DevicePort)(nil), // 61: org.lfedge.eve.info.DevicePort + (*ProxyStatus)(nil), // 62: org.lfedge.eve.info.ProxyStatus + (*ProxyEntry)(nil), // 63: org.lfedge.eve.info.ProxyEntry + (*WirelessStatus)(nil), // 64: org.lfedge.eve.info.WirelessStatus + (*ZCellularStatus)(nil), // 65: org.lfedge.eve.info.ZCellularStatus + (*ZInfoDevSW)(nil), // 66: org.lfedge.eve.info.ZInfoDevSW + (*ZInfoStorage)(nil), // 67: org.lfedge.eve.info.ZInfoStorage + (*ZInfoSnapshot)(nil), // 68: org.lfedge.eve.info.ZInfoSnapshot + (*ZInfoClusterNode)(nil), // 69: org.lfedge.eve.info.ZInfoClusterNode + (*ZInfoApp)(nil), // 70: org.lfedge.eve.info.ZInfoApp + (*ZInfoVpnLinkInfo)(nil), // 71: org.lfedge.eve.info.ZInfoVpnLinkInfo + (*ZInfoVpnLink)(nil), // 72: org.lfedge.eve.info.ZInfoVpnLink + (*ZInfoVpnEndPoint)(nil), // 73: org.lfedge.eve.info.ZInfoVpnEndPoint + (*ZInfoVpnConn)(nil), // 74: org.lfedge.eve.info.ZInfoVpnConn + (*ZInfoVpn)(nil), // 75: org.lfedge.eve.info.ZInfoVpn + (*ZInfoNetworkInstance)(nil), // 76: org.lfedge.eve.info.ZInfoNetworkInstance + (*IPRoute)(nil), // 77: org.lfedge.eve.info.IPRoute + (*UsageInfo)(nil), // 78: org.lfedge.eve.info.UsageInfo + (*VolumeResources)(nil), // 79: org.lfedge.eve.info.VolumeResources + (*ZInfoVolume)(nil), // 80: org.lfedge.eve.info.ZInfoVolume + (*ContentResources)(nil), // 81: org.lfedge.eve.info.ContentResources + (*ZInfoContentTree)(nil), // 82: org.lfedge.eve.info.ZInfoContentTree + (*ZInfoBlob)(nil), // 83: org.lfedge.eve.info.ZInfoBlob + (*ZInfoBlobList)(nil), // 84: org.lfedge.eve.info.ZInfoBlobList + (*ZInfoMsg)(nil), // 85: org.lfedge.eve.info.ZInfoMsg + (*Capabilities)(nil), // 86: org.lfedge.eve.info.Capabilities + (*ZInfoAppInstMetaData)(nil), // 87: org.lfedge.eve.info.ZInfoAppInstMetaData + (*ZInfoEdgeview)(nil), // 88: org.lfedge.eve.info.ZInfoEdgeview + (*ZInfoLocation)(nil), // 89: org.lfedge.eve.info.ZInfoLocation + (*ZInfoKubeClusterUpdateStatus)(nil), // 90: org.lfedge.eve.info.ZInfoKubeClusterUpdateStatus + (*ZInfoKubeCluster)(nil), // 91: org.lfedge.eve.info.ZInfoKubeCluster + (*ZInfoHardware)(nil), // 92: org.lfedge.eve.info.ZInfoHardware + nil, // 93: org.lfedge.eve.info.ZInfoConfigItemStatus.ConfigItemsEntry + nil, // 94: org.lfedge.eve.info.ZInfoConfigItemStatus.UnknownConfigItemsEntry + (evecommon.PhyIoType)(0), // 95: org.lfedge.eve.common.PhyIoType + (evecommon.PhyIoMemberUsage)(0), // 96: org.lfedge.eve.common.PhyIoMemberUsage + (*ErrorInfo)(nil), // 97: org.lfedge.eve.info.ErrorInfo + (evecommon.BearerType)(0), // 98: org.lfedge.eve.common.BearerType + (evecommon.CellularIPType)(0), // 99: org.lfedge.eve.common.CellularIPType + (*timestamppb.Timestamp)(nil), // 100: google.protobuf.Timestamp + (*evecommon.DiskDescription)(nil), // 101: org.lfedge.eve.common.DiskDescription + (*CertInfo)(nil), // 102: org.lfedge.eve.info.CertInfo + (*evecommon.PortConfigSource)(nil), // 103: org.lfedge.eve.common.PortConfigSource + (*PNACStatus)(nil), // 104: org.lfedge.eve.info.PNACStatus + (*BondStatus)(nil), // 105: org.lfedge.eve.info.BondStatus + (evecommon.RadioAccessTechnology)(0), // 106: org.lfedge.eve.common.RadioAccessTechnology + (*ZInfoPatchEnvelope)(nil), // 107: org.lfedge.eve.info.ZInfoPatchEnvelope + (*ZInfoNTPSources)(nil), // 108: org.lfedge.eve.info.ZInfoNTPSources + (KubeComp)(0), // 109: org.lfedge.eve.info.KubeComp + (KubeCompUpdateStatus)(0), // 110: org.lfedge.eve.info.KubeCompUpdateStatus + (*KubeNodeInfo)(nil), // 111: org.lfedge.eve.info.KubeNodeInfo + (*KubePodNameSpaceInfo)(nil), // 112: org.lfedge.eve.info.KubePodNameSpaceInfo + (*KubeEVEAppPodInfo)(nil), // 113: org.lfedge.eve.info.KubeEVEAppPodInfo + (*KubeStorageInfo)(nil), // 114: org.lfedge.eve.info.KubeStorageInfo + (*KubeVMIInfo)(nil), // 115: org.lfedge.eve.info.KubeVMIInfo + (*HardwareInventory)(nil), // 116: org.lfedge.eve.info.HardwareInventory } var file_info_info_proto_depIdxs = []int32{ - 26, // 0: org.lfedge.eve.info.StorageDiskInfo.smart_attr:type_name -> org.lfedge.eve.info.SmartAttr + 27, // 0: org.lfedge.eve.info.StorageDiskInfo.smart_attr:type_name -> org.lfedge.eve.info.SmartAttr 0, // 1: org.lfedge.eve.info.deprecatedMetricItem.type:type_name -> org.lfedge.eve.info.DepMetricItemType - 93, // 2: org.lfedge.eve.info.ZioBundle.type:type_name -> org.lfedge.eve.common.PhyIoType - 32, // 3: org.lfedge.eve.info.ZioBundle.ioAddressList:type_name -> org.lfedge.eve.info.IoAddresses - 94, // 4: org.lfedge.eve.info.ZioBundle.usage:type_name -> org.lfedge.eve.common.PhyIoMemberUsage - 95, // 5: org.lfedge.eve.info.ZioBundle.err:type_name -> org.lfedge.eve.info.ErrorInfo - 33, // 6: org.lfedge.eve.info.IoAddresses.vf_info:type_name -> org.lfedge.eve.info.VfPublishedInfo - 37, // 7: org.lfedge.eve.info.ZInfoNetwork.dns:type_name -> org.lfedge.eve.info.ZInfoDNS - 36, // 8: org.lfedge.eve.info.ZInfoNetwork.location:type_name -> org.lfedge.eve.info.GeoLoc - 95, // 9: org.lfedge.eve.info.ZInfoNetwork.networkErr:type_name -> org.lfedge.eve.info.ErrorInfo - 60, // 10: org.lfedge.eve.info.ZInfoNetwork.proxy:type_name -> org.lfedge.eve.info.ProxyStatus + 95, // 2: org.lfedge.eve.info.ZioBundle.type:type_name -> org.lfedge.eve.common.PhyIoType + 33, // 3: org.lfedge.eve.info.ZioBundle.ioAddressList:type_name -> org.lfedge.eve.info.IoAddresses + 96, // 4: org.lfedge.eve.info.ZioBundle.usage:type_name -> org.lfedge.eve.common.PhyIoMemberUsage + 97, // 5: org.lfedge.eve.info.ZioBundle.err:type_name -> org.lfedge.eve.info.ErrorInfo + 34, // 6: org.lfedge.eve.info.IoAddresses.vf_info:type_name -> org.lfedge.eve.info.VfPublishedInfo + 38, // 7: org.lfedge.eve.info.ZInfoNetwork.dns:type_name -> org.lfedge.eve.info.ZInfoDNS + 37, // 8: org.lfedge.eve.info.ZInfoNetwork.location:type_name -> org.lfedge.eve.info.GeoLoc + 97, // 9: org.lfedge.eve.info.ZInfoNetwork.networkErr:type_name -> org.lfedge.eve.info.ErrorInfo + 62, // 10: org.lfedge.eve.info.ZInfoNetwork.proxy:type_name -> org.lfedge.eve.info.ProxyStatus 2, // 11: org.lfedge.eve.info.ZInfoSW.state:type_name -> org.lfedge.eve.info.ZSwState 4, // 12: org.lfedge.eve.info.VaultInfo.status:type_name -> org.lfedge.eve.info.DataSecAtRestStatus - 95, // 13: org.lfedge.eve.info.VaultInfo.vaultErr:type_name -> org.lfedge.eve.info.ErrorInfo + 97, // 13: org.lfedge.eve.info.VaultInfo.vaultErr:type_name -> org.lfedge.eve.info.ErrorInfo 5, // 14: org.lfedge.eve.info.VaultInfo.pcrStatus:type_name -> org.lfedge.eve.info.PCRStatus 4, // 15: org.lfedge.eve.info.DataSecAtRest.status:type_name -> org.lfedge.eve.info.DataSecAtRestStatus - 39, // 16: org.lfedge.eve.info.DataSecAtRest.vaultList:type_name -> org.lfedge.eve.info.VaultInfo - 91, // 17: org.lfedge.eve.info.ZInfoConfigItemStatus.configItems:type_name -> org.lfedge.eve.info.ZInfoConfigItemStatus.ConfigItemsEntry - 92, // 18: org.lfedge.eve.info.ZInfoConfigItemStatus.unknownConfigItems:type_name -> org.lfedge.eve.info.ZInfoConfigItemStatus.UnknownConfigItemsEntry + 40, // 16: org.lfedge.eve.info.DataSecAtRest.vaultList:type_name -> org.lfedge.eve.info.VaultInfo + 93, // 17: org.lfedge.eve.info.ZInfoConfigItemStatus.configItems:type_name -> org.lfedge.eve.info.ZInfoConfigItemStatus.ConfigItemsEntry + 94, // 18: org.lfedge.eve.info.ZInfoConfigItemStatus.unknownConfigItems:type_name -> org.lfedge.eve.info.ZInfoConfigItemStatus.UnknownConfigItemsEntry 6, // 19: org.lfedge.eve.info.ZSimcardInfo.type:type_name -> org.lfedge.eve.info.SimType 7, // 20: org.lfedge.eve.info.ZCellularModuleInfo.operating_state:type_name -> org.lfedge.eve.info.ZCellularOperatingState 8, // 21: org.lfedge.eve.info.ZCellularModuleInfo.control_protocol:type_name -> org.lfedge.eve.info.ZCellularControlProtocol - 96, // 22: org.lfedge.eve.info.CellularBearer.bearer_type:type_name -> org.lfedge.eve.common.BearerType - 97, // 23: org.lfedge.eve.info.CellularBearer.ip_type:type_name -> org.lfedge.eve.common.CellularIPType - 98, // 24: org.lfedge.eve.info.CellularBearer.connected_at:type_name -> google.protobuf.Timestamp - 96, // 25: org.lfedge.eve.info.CellularProfile.bearer_type:type_name -> org.lfedge.eve.common.BearerType - 97, // 26: org.lfedge.eve.info.CellularProfile.ip_type:type_name -> org.lfedge.eve.common.CellularIPType - 99, // 27: org.lfedge.eve.info.StorageDiskState.disk_name:type_name -> org.lfedge.eve.common.DiskDescription + 98, // 22: org.lfedge.eve.info.CellularBearer.bearer_type:type_name -> org.lfedge.eve.common.BearerType + 99, // 23: org.lfedge.eve.info.CellularBearer.ip_type:type_name -> org.lfedge.eve.common.CellularIPType + 100, // 24: org.lfedge.eve.info.CellularBearer.connected_at:type_name -> google.protobuf.Timestamp + 98, // 25: org.lfedge.eve.info.CellularProfile.bearer_type:type_name -> org.lfedge.eve.common.BearerType + 99, // 26: org.lfedge.eve.info.CellularProfile.ip_type:type_name -> org.lfedge.eve.common.CellularIPType + 101, // 27: org.lfedge.eve.info.StorageDiskState.disk_name:type_name -> org.lfedge.eve.common.DiskDescription 10, // 28: org.lfedge.eve.info.StorageDiskState.status:type_name -> org.lfedge.eve.info.StorageStatus 11, // 29: org.lfedge.eve.info.StorageChildren.current_raid:type_name -> org.lfedge.eve.info.StorageRaidType - 51, // 30: org.lfedge.eve.info.StorageChildren.disks:type_name -> org.lfedge.eve.info.StorageDiskState - 52, // 31: org.lfedge.eve.info.StorageChildren.children:type_name -> org.lfedge.eve.info.StorageChildren + 52, // 30: org.lfedge.eve.info.StorageChildren.disks:type_name -> org.lfedge.eve.info.StorageDiskState + 53, // 31: org.lfedge.eve.info.StorageChildren.children:type_name -> org.lfedge.eve.info.StorageChildren 12, // 32: org.lfedge.eve.info.StorageInfo.storage_type:type_name -> org.lfedge.eve.info.StorageTypeInfo 11, // 33: org.lfedge.eve.info.StorageInfo.current_raid:type_name -> org.lfedge.eve.info.StorageRaidType 10, // 34: org.lfedge.eve.info.StorageInfo.storage_state:type_name -> org.lfedge.eve.info.StorageStatus - 51, // 35: org.lfedge.eve.info.StorageInfo.disks:type_name -> org.lfedge.eve.info.StorageDiskState - 52, // 36: org.lfedge.eve.info.StorageInfo.children:type_name -> org.lfedge.eve.info.StorageChildren - 34, // 37: org.lfedge.eve.info.ZInfoDevice.minfo:type_name -> org.lfedge.eve.info.ZInfoManufacturer - 35, // 38: org.lfedge.eve.info.ZInfoDevice.network:type_name -> org.lfedge.eve.info.ZInfoNetwork - 31, // 39: org.lfedge.eve.info.ZInfoDevice.assignableAdapters:type_name -> org.lfedge.eve.info.ZioBundle - 37, // 40: org.lfedge.eve.info.ZInfoDevice.dns:type_name -> org.lfedge.eve.info.ZInfoDNS - 65, // 41: org.lfedge.eve.info.ZInfoDevice.storageList:type_name -> org.lfedge.eve.info.ZInfoStorage - 98, // 42: org.lfedge.eve.info.ZInfoDevice.bootTime:type_name -> google.protobuf.Timestamp - 64, // 43: org.lfedge.eve.info.ZInfoDevice.swList:type_name -> org.lfedge.eve.info.ZInfoDevSW - 28, // 44: org.lfedge.eve.info.ZInfoDevice.metricItems:type_name -> org.lfedge.eve.info.deprecatedMetricItem - 98, // 45: org.lfedge.eve.info.ZInfoDevice.lastRebootTime:type_name -> google.protobuf.Timestamp - 57, // 46: org.lfedge.eve.info.ZInfoDevice.systemAdapter:type_name -> org.lfedge.eve.info.SystemAdapterInfo - 3, // 47: org.lfedge.eve.info.ZInfoDevice.HSMStatus:type_name -> org.lfedge.eve.info.HwSecurityModuleStatus - 40, // 48: org.lfedge.eve.info.ZInfoDevice.dataSecAtRestInfo:type_name -> org.lfedge.eve.info.DataSecAtRest - 41, // 49: org.lfedge.eve.info.ZInfoDevice.sec_info:type_name -> org.lfedge.eve.info.SecurityInfo - 43, // 50: org.lfedge.eve.info.ZInfoDevice.configItemStatus:type_name -> org.lfedge.eve.info.ZInfoConfigItemStatus - 44, // 51: org.lfedge.eve.info.ZInfoDevice.appInstances:type_name -> org.lfedge.eve.info.ZInfoAppInstance - 14, // 52: org.lfedge.eve.info.ZInfoDevice.last_boot_reason:type_name -> org.lfedge.eve.info.BootReason - 47, // 53: org.lfedge.eve.info.ZInfoDevice.cell_radios:type_name -> org.lfedge.eve.info.ZCellularModuleInfo - 46, // 54: org.lfedge.eve.info.ZInfoDevice.sims:type_name -> org.lfedge.eve.info.ZSimcardInfo - 45, // 55: org.lfedge.eve.info.ZInfoDevice.tasks:type_name -> org.lfedge.eve.info.ZInfoDeviceTasks - 15, // 56: org.lfedge.eve.info.ZInfoDevice.maintenance_mode_reason:type_name -> org.lfedge.eve.info.MaintenanceModeReason - 84, // 57: org.lfedge.eve.info.ZInfoDevice.capabilities:type_name -> org.lfedge.eve.info.Capabilities - 9, // 58: org.lfedge.eve.info.ZInfoDevice.state:type_name -> org.lfedge.eve.info.ZDeviceState - 15, // 59: org.lfedge.eve.info.ZInfoDevice.maintenance_mode_reasons:type_name -> org.lfedge.eve.info.MaintenanceModeReason - 53, // 60: org.lfedge.eve.info.ZInfoDevice.storage_info:type_name -> org.lfedge.eve.info.StorageInfo - 56, // 61: org.lfedge.eve.info.ZInfoDevice.attestation_info:type_name -> org.lfedge.eve.info.AttestationInfo - 13, // 62: org.lfedge.eve.info.ZInfoDevice.api_capability:type_name -> org.lfedge.eve.info.APICapability - 55, // 63: org.lfedge.eve.info.ZInfoDevice.optional_capabilities:type_name -> org.lfedge.eve.info.OptionalCapabilities - 100, // 64: org.lfedge.eve.info.ZInfoDevice.enrolled_certs:type_name -> org.lfedge.eve.info.CertInfo - 16, // 65: org.lfedge.eve.info.AttestationInfo.state:type_name -> org.lfedge.eve.info.AttestationState - 95, // 66: org.lfedge.eve.info.AttestationInfo.error:type_name -> org.lfedge.eve.info.ErrorInfo - 58, // 67: org.lfedge.eve.info.SystemAdapterInfo.status:type_name -> org.lfedge.eve.info.DevicePortStatus - 98, // 68: org.lfedge.eve.info.DevicePortStatus.timePriority:type_name -> google.protobuf.Timestamp - 98, // 69: org.lfedge.eve.info.DevicePortStatus.lastFailed:type_name -> google.protobuf.Timestamp - 98, // 70: org.lfedge.eve.info.DevicePortStatus.lastSucceeded:type_name -> google.protobuf.Timestamp - 59, // 71: org.lfedge.eve.info.DevicePortStatus.ports:type_name -> org.lfedge.eve.info.DevicePort - 60, // 72: org.lfedge.eve.info.DevicePort.proxy:type_name -> org.lfedge.eve.info.ProxyStatus - 37, // 73: org.lfedge.eve.info.DevicePort.dns:type_name -> org.lfedge.eve.info.ZInfoDNS - 36, // 74: org.lfedge.eve.info.DevicePort.location:type_name -> org.lfedge.eve.info.GeoLoc - 95, // 75: org.lfedge.eve.info.DevicePort.err:type_name -> org.lfedge.eve.info.ErrorInfo - 94, // 76: org.lfedge.eve.info.DevicePort.usage:type_name -> org.lfedge.eve.common.PhyIoMemberUsage - 62, // 77: org.lfedge.eve.info.DevicePort.wireless_status:type_name -> org.lfedge.eve.info.WirelessStatus - 101, // 78: org.lfedge.eve.info.DevicePort.config_source:type_name -> org.lfedge.eve.common.PortConfigSource - 102, // 79: org.lfedge.eve.info.DevicePort.pnac_status:type_name -> org.lfedge.eve.info.PNACStatus - 103, // 80: org.lfedge.eve.info.DevicePort.bond_status:type_name -> org.lfedge.eve.info.BondStatus - 61, // 81: org.lfedge.eve.info.ProxyStatus.proxies:type_name -> org.lfedge.eve.info.ProxyEntry - 18, // 82: org.lfedge.eve.info.WirelessStatus.type:type_name -> org.lfedge.eve.info.WirelessType - 63, // 83: org.lfedge.eve.info.WirelessStatus.cellular:type_name -> org.lfedge.eve.info.ZCellularStatus - 48, // 84: org.lfedge.eve.info.ZCellularStatus.providers:type_name -> org.lfedge.eve.info.ZCellularProvider - 104, // 85: org.lfedge.eve.info.ZCellularStatus.current_rats:type_name -> org.lfedge.eve.common.RadioAccessTechnology - 98, // 86: org.lfedge.eve.info.ZCellularStatus.connected_at:type_name -> google.protobuf.Timestamp - 49, // 87: org.lfedge.eve.info.ZCellularStatus.bearers:type_name -> org.lfedge.eve.info.CellularBearer - 50, // 88: org.lfedge.eve.info.ZCellularStatus.profiles:type_name -> org.lfedge.eve.info.CellularProfile - 2, // 89: org.lfedge.eve.info.ZInfoDevSW.status:type_name -> org.lfedge.eve.info.ZSwState - 95, // 90: org.lfedge.eve.info.ZInfoDevSW.swErr:type_name -> org.lfedge.eve.info.ErrorInfo - 19, // 91: org.lfedge.eve.info.ZInfoDevSW.userStatus:type_name -> org.lfedge.eve.info.BaseOsStatus - 20, // 92: org.lfedge.eve.info.ZInfoDevSW.subStatus:type_name -> org.lfedge.eve.info.BaseOsSubStatus - 98, // 93: org.lfedge.eve.info.ZInfoSnapshot.create_time:type_name -> google.protobuf.Timestamp - 21, // 94: org.lfedge.eve.info.ZInfoSnapshot.type:type_name -> org.lfedge.eve.info.SnapshotType - 95, // 95: org.lfedge.eve.info.ZInfoSnapshot.snap_err:type_name -> org.lfedge.eve.info.ErrorInfo - 22, // 96: org.lfedge.eve.info.ZInfoClusterNode.node_status:type_name -> org.lfedge.eve.info.ZInfoClusterNodeStatus - 38, // 97: org.lfedge.eve.info.ZInfoApp.softwareList:type_name -> org.lfedge.eve.info.ZInfoSW - 98, // 98: org.lfedge.eve.info.ZInfoApp.bootTime:type_name -> google.protobuf.Timestamp - 31, // 99: org.lfedge.eve.info.ZInfoApp.assignedAdapters:type_name -> org.lfedge.eve.info.ZioBundle - 95, // 100: org.lfedge.eve.info.ZInfoApp.appErr:type_name -> org.lfedge.eve.info.ErrorInfo - 2, // 101: org.lfedge.eve.info.ZInfoApp.state:type_name -> org.lfedge.eve.info.ZSwState - 35, // 102: org.lfedge.eve.info.ZInfoApp.network:type_name -> org.lfedge.eve.info.ZInfoNetwork - 66, // 103: org.lfedge.eve.info.ZInfoApp.snapshots:type_name -> org.lfedge.eve.info.ZInfoSnapshot - 23, // 104: org.lfedge.eve.info.ZInfoVpnLink.state:type_name -> org.lfedge.eve.info.ZInfoVpnState - 69, // 105: org.lfedge.eve.info.ZInfoVpnLink.lInfo:type_name -> org.lfedge.eve.info.ZInfoVpnLinkInfo - 69, // 106: org.lfedge.eve.info.ZInfoVpnLink.rInfo:type_name -> org.lfedge.eve.info.ZInfoVpnLinkInfo - 23, // 107: org.lfedge.eve.info.ZInfoVpnConn.state:type_name -> org.lfedge.eve.info.ZInfoVpnState - 71, // 108: org.lfedge.eve.info.ZInfoVpnConn.lInfo:type_name -> org.lfedge.eve.info.ZInfoVpnEndPoint - 71, // 109: org.lfedge.eve.info.ZInfoVpnConn.rInfo:type_name -> org.lfedge.eve.info.ZInfoVpnEndPoint - 70, // 110: org.lfedge.eve.info.ZInfoVpnConn.links:type_name -> org.lfedge.eve.info.ZInfoVpnLink - 72, // 111: org.lfedge.eve.info.ZInfoVpn.conn:type_name -> org.lfedge.eve.info.ZInfoVpnConn - 98, // 112: org.lfedge.eve.info.ZInfoNetworkInstance.upTimeStamp:type_name -> google.protobuf.Timestamp - 38, // 113: org.lfedge.eve.info.ZInfoNetworkInstance.softwareList:type_name -> org.lfedge.eve.info.ZInfoSW - 29, // 114: org.lfedge.eve.info.ZInfoNetworkInstance.ipAssignments:type_name -> org.lfedge.eve.info.ZmetIPAssignmentEntry - 30, // 115: org.lfedge.eve.info.ZInfoNetworkInstance.vifs:type_name -> org.lfedge.eve.info.ZmetVifInfo - 31, // 116: org.lfedge.eve.info.ZInfoNetworkInstance.assignedAdapters:type_name -> org.lfedge.eve.info.ZioBundle - 73, // 117: org.lfedge.eve.info.ZInfoNetworkInstance.vinfo:type_name -> org.lfedge.eve.info.ZInfoVpn - 95, // 118: org.lfedge.eve.info.ZInfoNetworkInstance.networkErr:type_name -> org.lfedge.eve.info.ErrorInfo - 24, // 119: org.lfedge.eve.info.ZInfoNetworkInstance.state:type_name -> org.lfedge.eve.info.ZNetworkInstanceState - 75, // 120: org.lfedge.eve.info.ZInfoNetworkInstance.ip_routes:type_name -> org.lfedge.eve.info.IPRoute - 98, // 121: org.lfedge.eve.info.UsageInfo.createTime:type_name -> google.protobuf.Timestamp - 98, // 122: org.lfedge.eve.info.UsageInfo.lastRefcountChangeTime:type_name -> google.protobuf.Timestamp - 76, // 123: org.lfedge.eve.info.ZInfoVolume.usage:type_name -> org.lfedge.eve.info.UsageInfo - 77, // 124: org.lfedge.eve.info.ZInfoVolume.resources:type_name -> org.lfedge.eve.info.VolumeResources - 2, // 125: org.lfedge.eve.info.ZInfoVolume.state:type_name -> org.lfedge.eve.info.ZSwState - 95, // 126: org.lfedge.eve.info.ZInfoVolume.volumeErr:type_name -> org.lfedge.eve.info.ErrorInfo - 79, // 127: org.lfedge.eve.info.ZInfoContentTree.resources:type_name -> org.lfedge.eve.info.ContentResources - 76, // 128: org.lfedge.eve.info.ZInfoContentTree.usage:type_name -> org.lfedge.eve.info.UsageInfo - 2, // 129: org.lfedge.eve.info.ZInfoContentTree.state:type_name -> org.lfedge.eve.info.ZSwState - 95, // 130: org.lfedge.eve.info.ZInfoContentTree.err:type_name -> org.lfedge.eve.info.ErrorInfo - 79, // 131: org.lfedge.eve.info.ZInfoBlob.resources:type_name -> org.lfedge.eve.info.ContentResources - 76, // 132: org.lfedge.eve.info.ZInfoBlob.usage:type_name -> org.lfedge.eve.info.UsageInfo - 2, // 133: org.lfedge.eve.info.ZInfoBlob.state:type_name -> org.lfedge.eve.info.ZSwState - 95, // 134: org.lfedge.eve.info.ZInfoBlob.err:type_name -> org.lfedge.eve.info.ErrorInfo - 81, // 135: org.lfedge.eve.info.ZInfoBlobList.blob:type_name -> org.lfedge.eve.info.ZInfoBlob - 1, // 136: org.lfedge.eve.info.ZInfoMsg.ztype:type_name -> org.lfedge.eve.info.ZInfoTypes - 54, // 137: org.lfedge.eve.info.ZInfoMsg.dinfo:type_name -> org.lfedge.eve.info.ZInfoDevice - 68, // 138: org.lfedge.eve.info.ZInfoMsg.ainfo:type_name -> org.lfedge.eve.info.ZInfoApp - 74, // 139: org.lfedge.eve.info.ZInfoMsg.niinfo:type_name -> org.lfedge.eve.info.ZInfoNetworkInstance - 78, // 140: org.lfedge.eve.info.ZInfoMsg.vinfo:type_name -> org.lfedge.eve.info.ZInfoVolume - 80, // 141: org.lfedge.eve.info.ZInfoMsg.cinfo:type_name -> org.lfedge.eve.info.ZInfoContentTree - 82, // 142: org.lfedge.eve.info.ZInfoMsg.binfo:type_name -> org.lfedge.eve.info.ZInfoBlobList - 85, // 143: org.lfedge.eve.info.ZInfoMsg.amdinfo:type_name -> org.lfedge.eve.info.ZInfoAppInstMetaData - 86, // 144: org.lfedge.eve.info.ZInfoMsg.evinfo:type_name -> org.lfedge.eve.info.ZInfoEdgeview - 90, // 145: org.lfedge.eve.info.ZInfoMsg.hwinfo:type_name -> org.lfedge.eve.info.ZInfoHardware - 87, // 146: org.lfedge.eve.info.ZInfoMsg.locinfo:type_name -> org.lfedge.eve.info.ZInfoLocation - 105, // 147: org.lfedge.eve.info.ZInfoMsg.patchInfo:type_name -> org.lfedge.eve.info.ZInfoPatchEnvelope - 67, // 148: org.lfedge.eve.info.ZInfoMsg.cluster_node:type_name -> org.lfedge.eve.info.ZInfoClusterNode - 106, // 149: org.lfedge.eve.info.ZInfoMsg.ntp_sources:type_name -> org.lfedge.eve.info.ZInfoNTPSources - 89, // 150: org.lfedge.eve.info.ZInfoMsg.cluster_info:type_name -> org.lfedge.eve.info.ZInfoKubeCluster - 88, // 151: org.lfedge.eve.info.ZInfoMsg.cluster_update_info:type_name -> org.lfedge.eve.info.ZInfoKubeClusterUpdateStatus - 98, // 152: org.lfedge.eve.info.ZInfoMsg.atTimeStamp:type_name -> google.protobuf.Timestamp - 17, // 153: org.lfedge.eve.info.ZInfoAppInstMetaData.type:type_name -> org.lfedge.eve.info.AppInstMetaDataType - 98, // 154: org.lfedge.eve.info.ZInfoEdgeview.expire_time:type_name -> google.protobuf.Timestamp - 98, // 155: org.lfedge.eve.info.ZInfoEdgeview.started_time:type_name -> google.protobuf.Timestamp - 98, // 156: org.lfedge.eve.info.ZInfoLocation.utc_timestamp:type_name -> google.protobuf.Timestamp - 25, // 157: org.lfedge.eve.info.ZInfoLocation.horizontal_reliability:type_name -> org.lfedge.eve.info.LocReliability - 25, // 158: org.lfedge.eve.info.ZInfoLocation.vertical_reliability:type_name -> org.lfedge.eve.info.LocReliability - 107, // 159: org.lfedge.eve.info.ZInfoKubeClusterUpdateStatus.component:type_name -> org.lfedge.eve.info.KubeComp - 108, // 160: org.lfedge.eve.info.ZInfoKubeClusterUpdateStatus.status:type_name -> org.lfedge.eve.info.KubeCompUpdateStatus - 95, // 161: org.lfedge.eve.info.ZInfoKubeClusterUpdateStatus.error:type_name -> org.lfedge.eve.info.ErrorInfo - 109, // 162: org.lfedge.eve.info.ZInfoKubeCluster.nodes:type_name -> org.lfedge.eve.info.KubeNodeInfo - 110, // 163: org.lfedge.eve.info.ZInfoKubeCluster.pod_name_spaces:type_name -> org.lfedge.eve.info.KubePodNameSpaceInfo - 111, // 164: org.lfedge.eve.info.ZInfoKubeCluster.eve_apps:type_name -> org.lfedge.eve.info.KubeEVEAppPodInfo - 112, // 165: org.lfedge.eve.info.ZInfoKubeCluster.storage:type_name -> org.lfedge.eve.info.KubeStorageInfo - 113, // 166: org.lfedge.eve.info.ZInfoKubeCluster.eve_vm_apps:type_name -> org.lfedge.eve.info.KubeVMIInfo - 27, // 167: org.lfedge.eve.info.ZInfoHardware.disks:type_name -> org.lfedge.eve.info.StorageDiskInfo - 114, // 168: org.lfedge.eve.info.ZInfoHardware.inventory:type_name -> org.lfedge.eve.info.HardwareInventory - 42, // 169: org.lfedge.eve.info.ZInfoConfigItemStatus.ConfigItemsEntry.value:type_name -> org.lfedge.eve.info.ZInfoConfigItem - 42, // 170: org.lfedge.eve.info.ZInfoConfigItemStatus.UnknownConfigItemsEntry.value:type_name -> org.lfedge.eve.info.ZInfoConfigItem - 171, // [171:171] is the sub-list for method output_type - 171, // [171:171] is the sub-list for method input_type - 171, // [171:171] is the sub-list for extension type_name - 171, // [171:171] is the sub-list for extension extendee - 0, // [0:171] is the sub-list for field type_name + 52, // 35: org.lfedge.eve.info.StorageInfo.disks:type_name -> org.lfedge.eve.info.StorageDiskState + 53, // 36: org.lfedge.eve.info.StorageInfo.children:type_name -> org.lfedge.eve.info.StorageChildren + 13, // 37: org.lfedge.eve.info.CPUPoolUtilization.kind:type_name -> org.lfedge.eve.info.CPUPoolKind + 35, // 38: org.lfedge.eve.info.ZInfoDevice.minfo:type_name -> org.lfedge.eve.info.ZInfoManufacturer + 36, // 39: org.lfedge.eve.info.ZInfoDevice.network:type_name -> org.lfedge.eve.info.ZInfoNetwork + 32, // 40: org.lfedge.eve.info.ZInfoDevice.assignableAdapters:type_name -> org.lfedge.eve.info.ZioBundle + 38, // 41: org.lfedge.eve.info.ZInfoDevice.dns:type_name -> org.lfedge.eve.info.ZInfoDNS + 67, // 42: org.lfedge.eve.info.ZInfoDevice.storageList:type_name -> org.lfedge.eve.info.ZInfoStorage + 100, // 43: org.lfedge.eve.info.ZInfoDevice.bootTime:type_name -> google.protobuf.Timestamp + 66, // 44: org.lfedge.eve.info.ZInfoDevice.swList:type_name -> org.lfedge.eve.info.ZInfoDevSW + 29, // 45: org.lfedge.eve.info.ZInfoDevice.metricItems:type_name -> org.lfedge.eve.info.deprecatedMetricItem + 100, // 46: org.lfedge.eve.info.ZInfoDevice.lastRebootTime:type_name -> google.protobuf.Timestamp + 59, // 47: org.lfedge.eve.info.ZInfoDevice.systemAdapter:type_name -> org.lfedge.eve.info.SystemAdapterInfo + 3, // 48: org.lfedge.eve.info.ZInfoDevice.HSMStatus:type_name -> org.lfedge.eve.info.HwSecurityModuleStatus + 41, // 49: org.lfedge.eve.info.ZInfoDevice.dataSecAtRestInfo:type_name -> org.lfedge.eve.info.DataSecAtRest + 42, // 50: org.lfedge.eve.info.ZInfoDevice.sec_info:type_name -> org.lfedge.eve.info.SecurityInfo + 44, // 51: org.lfedge.eve.info.ZInfoDevice.configItemStatus:type_name -> org.lfedge.eve.info.ZInfoConfigItemStatus + 45, // 52: org.lfedge.eve.info.ZInfoDevice.appInstances:type_name -> org.lfedge.eve.info.ZInfoAppInstance + 15, // 53: org.lfedge.eve.info.ZInfoDevice.last_boot_reason:type_name -> org.lfedge.eve.info.BootReason + 48, // 54: org.lfedge.eve.info.ZInfoDevice.cell_radios:type_name -> org.lfedge.eve.info.ZCellularModuleInfo + 47, // 55: org.lfedge.eve.info.ZInfoDevice.sims:type_name -> org.lfedge.eve.info.ZSimcardInfo + 46, // 56: org.lfedge.eve.info.ZInfoDevice.tasks:type_name -> org.lfedge.eve.info.ZInfoDeviceTasks + 16, // 57: org.lfedge.eve.info.ZInfoDevice.maintenance_mode_reason:type_name -> org.lfedge.eve.info.MaintenanceModeReason + 86, // 58: org.lfedge.eve.info.ZInfoDevice.capabilities:type_name -> org.lfedge.eve.info.Capabilities + 9, // 59: org.lfedge.eve.info.ZInfoDevice.state:type_name -> org.lfedge.eve.info.ZDeviceState + 16, // 60: org.lfedge.eve.info.ZInfoDevice.maintenance_mode_reasons:type_name -> org.lfedge.eve.info.MaintenanceModeReason + 54, // 61: org.lfedge.eve.info.ZInfoDevice.storage_info:type_name -> org.lfedge.eve.info.StorageInfo + 58, // 62: org.lfedge.eve.info.ZInfoDevice.attestation_info:type_name -> org.lfedge.eve.info.AttestationInfo + 14, // 63: org.lfedge.eve.info.ZInfoDevice.api_capability:type_name -> org.lfedge.eve.info.APICapability + 57, // 64: org.lfedge.eve.info.ZInfoDevice.optional_capabilities:type_name -> org.lfedge.eve.info.OptionalCapabilities + 102, // 65: org.lfedge.eve.info.ZInfoDevice.enrolled_certs:type_name -> org.lfedge.eve.info.CertInfo + 55, // 66: org.lfedge.eve.info.ZInfoDevice.cpu_pools:type_name -> org.lfedge.eve.info.CPUPoolUtilization + 17, // 67: org.lfedge.eve.info.AttestationInfo.state:type_name -> org.lfedge.eve.info.AttestationState + 97, // 68: org.lfedge.eve.info.AttestationInfo.error:type_name -> org.lfedge.eve.info.ErrorInfo + 60, // 69: org.lfedge.eve.info.SystemAdapterInfo.status:type_name -> org.lfedge.eve.info.DevicePortStatus + 100, // 70: org.lfedge.eve.info.DevicePortStatus.timePriority:type_name -> google.protobuf.Timestamp + 100, // 71: org.lfedge.eve.info.DevicePortStatus.lastFailed:type_name -> google.protobuf.Timestamp + 100, // 72: org.lfedge.eve.info.DevicePortStatus.lastSucceeded:type_name -> google.protobuf.Timestamp + 61, // 73: org.lfedge.eve.info.DevicePortStatus.ports:type_name -> org.lfedge.eve.info.DevicePort + 62, // 74: org.lfedge.eve.info.DevicePort.proxy:type_name -> org.lfedge.eve.info.ProxyStatus + 38, // 75: org.lfedge.eve.info.DevicePort.dns:type_name -> org.lfedge.eve.info.ZInfoDNS + 37, // 76: org.lfedge.eve.info.DevicePort.location:type_name -> org.lfedge.eve.info.GeoLoc + 97, // 77: org.lfedge.eve.info.DevicePort.err:type_name -> org.lfedge.eve.info.ErrorInfo + 96, // 78: org.lfedge.eve.info.DevicePort.usage:type_name -> org.lfedge.eve.common.PhyIoMemberUsage + 64, // 79: org.lfedge.eve.info.DevicePort.wireless_status:type_name -> org.lfedge.eve.info.WirelessStatus + 103, // 80: org.lfedge.eve.info.DevicePort.config_source:type_name -> org.lfedge.eve.common.PortConfigSource + 104, // 81: org.lfedge.eve.info.DevicePort.pnac_status:type_name -> org.lfedge.eve.info.PNACStatus + 105, // 82: org.lfedge.eve.info.DevicePort.bond_status:type_name -> org.lfedge.eve.info.BondStatus + 63, // 83: org.lfedge.eve.info.ProxyStatus.proxies:type_name -> org.lfedge.eve.info.ProxyEntry + 19, // 84: org.lfedge.eve.info.WirelessStatus.type:type_name -> org.lfedge.eve.info.WirelessType + 65, // 85: org.lfedge.eve.info.WirelessStatus.cellular:type_name -> org.lfedge.eve.info.ZCellularStatus + 49, // 86: org.lfedge.eve.info.ZCellularStatus.providers:type_name -> org.lfedge.eve.info.ZCellularProvider + 106, // 87: org.lfedge.eve.info.ZCellularStatus.current_rats:type_name -> org.lfedge.eve.common.RadioAccessTechnology + 100, // 88: org.lfedge.eve.info.ZCellularStatus.connected_at:type_name -> google.protobuf.Timestamp + 50, // 89: org.lfedge.eve.info.ZCellularStatus.bearers:type_name -> org.lfedge.eve.info.CellularBearer + 51, // 90: org.lfedge.eve.info.ZCellularStatus.profiles:type_name -> org.lfedge.eve.info.CellularProfile + 2, // 91: org.lfedge.eve.info.ZInfoDevSW.status:type_name -> org.lfedge.eve.info.ZSwState + 97, // 92: org.lfedge.eve.info.ZInfoDevSW.swErr:type_name -> org.lfedge.eve.info.ErrorInfo + 20, // 93: org.lfedge.eve.info.ZInfoDevSW.userStatus:type_name -> org.lfedge.eve.info.BaseOsStatus + 21, // 94: org.lfedge.eve.info.ZInfoDevSW.subStatus:type_name -> org.lfedge.eve.info.BaseOsSubStatus + 100, // 95: org.lfedge.eve.info.ZInfoSnapshot.create_time:type_name -> google.protobuf.Timestamp + 22, // 96: org.lfedge.eve.info.ZInfoSnapshot.type:type_name -> org.lfedge.eve.info.SnapshotType + 97, // 97: org.lfedge.eve.info.ZInfoSnapshot.snap_err:type_name -> org.lfedge.eve.info.ErrorInfo + 23, // 98: org.lfedge.eve.info.ZInfoClusterNode.node_status:type_name -> org.lfedge.eve.info.ZInfoClusterNodeStatus + 39, // 99: org.lfedge.eve.info.ZInfoApp.softwareList:type_name -> org.lfedge.eve.info.ZInfoSW + 100, // 100: org.lfedge.eve.info.ZInfoApp.bootTime:type_name -> google.protobuf.Timestamp + 32, // 101: org.lfedge.eve.info.ZInfoApp.assignedAdapters:type_name -> org.lfedge.eve.info.ZioBundle + 97, // 102: org.lfedge.eve.info.ZInfoApp.appErr:type_name -> org.lfedge.eve.info.ErrorInfo + 2, // 103: org.lfedge.eve.info.ZInfoApp.state:type_name -> org.lfedge.eve.info.ZSwState + 36, // 104: org.lfedge.eve.info.ZInfoApp.network:type_name -> org.lfedge.eve.info.ZInfoNetwork + 68, // 105: org.lfedge.eve.info.ZInfoApp.snapshots:type_name -> org.lfedge.eve.info.ZInfoSnapshot + 24, // 106: org.lfedge.eve.info.ZInfoVpnLink.state:type_name -> org.lfedge.eve.info.ZInfoVpnState + 71, // 107: org.lfedge.eve.info.ZInfoVpnLink.lInfo:type_name -> org.lfedge.eve.info.ZInfoVpnLinkInfo + 71, // 108: org.lfedge.eve.info.ZInfoVpnLink.rInfo:type_name -> org.lfedge.eve.info.ZInfoVpnLinkInfo + 24, // 109: org.lfedge.eve.info.ZInfoVpnConn.state:type_name -> org.lfedge.eve.info.ZInfoVpnState + 73, // 110: org.lfedge.eve.info.ZInfoVpnConn.lInfo:type_name -> org.lfedge.eve.info.ZInfoVpnEndPoint + 73, // 111: org.lfedge.eve.info.ZInfoVpnConn.rInfo:type_name -> org.lfedge.eve.info.ZInfoVpnEndPoint + 72, // 112: org.lfedge.eve.info.ZInfoVpnConn.links:type_name -> org.lfedge.eve.info.ZInfoVpnLink + 74, // 113: org.lfedge.eve.info.ZInfoVpn.conn:type_name -> org.lfedge.eve.info.ZInfoVpnConn + 100, // 114: org.lfedge.eve.info.ZInfoNetworkInstance.upTimeStamp:type_name -> google.protobuf.Timestamp + 39, // 115: org.lfedge.eve.info.ZInfoNetworkInstance.softwareList:type_name -> org.lfedge.eve.info.ZInfoSW + 30, // 116: org.lfedge.eve.info.ZInfoNetworkInstance.ipAssignments:type_name -> org.lfedge.eve.info.ZmetIPAssignmentEntry + 31, // 117: org.lfedge.eve.info.ZInfoNetworkInstance.vifs:type_name -> org.lfedge.eve.info.ZmetVifInfo + 32, // 118: org.lfedge.eve.info.ZInfoNetworkInstance.assignedAdapters:type_name -> org.lfedge.eve.info.ZioBundle + 75, // 119: org.lfedge.eve.info.ZInfoNetworkInstance.vinfo:type_name -> org.lfedge.eve.info.ZInfoVpn + 97, // 120: org.lfedge.eve.info.ZInfoNetworkInstance.networkErr:type_name -> org.lfedge.eve.info.ErrorInfo + 25, // 121: org.lfedge.eve.info.ZInfoNetworkInstance.state:type_name -> org.lfedge.eve.info.ZNetworkInstanceState + 77, // 122: org.lfedge.eve.info.ZInfoNetworkInstance.ip_routes:type_name -> org.lfedge.eve.info.IPRoute + 100, // 123: org.lfedge.eve.info.UsageInfo.createTime:type_name -> google.protobuf.Timestamp + 100, // 124: org.lfedge.eve.info.UsageInfo.lastRefcountChangeTime:type_name -> google.protobuf.Timestamp + 78, // 125: org.lfedge.eve.info.ZInfoVolume.usage:type_name -> org.lfedge.eve.info.UsageInfo + 79, // 126: org.lfedge.eve.info.ZInfoVolume.resources:type_name -> org.lfedge.eve.info.VolumeResources + 2, // 127: org.lfedge.eve.info.ZInfoVolume.state:type_name -> org.lfedge.eve.info.ZSwState + 97, // 128: org.lfedge.eve.info.ZInfoVolume.volumeErr:type_name -> org.lfedge.eve.info.ErrorInfo + 81, // 129: org.lfedge.eve.info.ZInfoContentTree.resources:type_name -> org.lfedge.eve.info.ContentResources + 78, // 130: org.lfedge.eve.info.ZInfoContentTree.usage:type_name -> org.lfedge.eve.info.UsageInfo + 2, // 131: org.lfedge.eve.info.ZInfoContentTree.state:type_name -> org.lfedge.eve.info.ZSwState + 97, // 132: org.lfedge.eve.info.ZInfoContentTree.err:type_name -> org.lfedge.eve.info.ErrorInfo + 81, // 133: org.lfedge.eve.info.ZInfoBlob.resources:type_name -> org.lfedge.eve.info.ContentResources + 78, // 134: org.lfedge.eve.info.ZInfoBlob.usage:type_name -> org.lfedge.eve.info.UsageInfo + 2, // 135: org.lfedge.eve.info.ZInfoBlob.state:type_name -> org.lfedge.eve.info.ZSwState + 97, // 136: org.lfedge.eve.info.ZInfoBlob.err:type_name -> org.lfedge.eve.info.ErrorInfo + 83, // 137: org.lfedge.eve.info.ZInfoBlobList.blob:type_name -> org.lfedge.eve.info.ZInfoBlob + 1, // 138: org.lfedge.eve.info.ZInfoMsg.ztype:type_name -> org.lfedge.eve.info.ZInfoTypes + 56, // 139: org.lfedge.eve.info.ZInfoMsg.dinfo:type_name -> org.lfedge.eve.info.ZInfoDevice + 70, // 140: org.lfedge.eve.info.ZInfoMsg.ainfo:type_name -> org.lfedge.eve.info.ZInfoApp + 76, // 141: org.lfedge.eve.info.ZInfoMsg.niinfo:type_name -> org.lfedge.eve.info.ZInfoNetworkInstance + 80, // 142: org.lfedge.eve.info.ZInfoMsg.vinfo:type_name -> org.lfedge.eve.info.ZInfoVolume + 82, // 143: org.lfedge.eve.info.ZInfoMsg.cinfo:type_name -> org.lfedge.eve.info.ZInfoContentTree + 84, // 144: org.lfedge.eve.info.ZInfoMsg.binfo:type_name -> org.lfedge.eve.info.ZInfoBlobList + 87, // 145: org.lfedge.eve.info.ZInfoMsg.amdinfo:type_name -> org.lfedge.eve.info.ZInfoAppInstMetaData + 88, // 146: org.lfedge.eve.info.ZInfoMsg.evinfo:type_name -> org.lfedge.eve.info.ZInfoEdgeview + 92, // 147: org.lfedge.eve.info.ZInfoMsg.hwinfo:type_name -> org.lfedge.eve.info.ZInfoHardware + 89, // 148: org.lfedge.eve.info.ZInfoMsg.locinfo:type_name -> org.lfedge.eve.info.ZInfoLocation + 107, // 149: org.lfedge.eve.info.ZInfoMsg.patchInfo:type_name -> org.lfedge.eve.info.ZInfoPatchEnvelope + 69, // 150: org.lfedge.eve.info.ZInfoMsg.cluster_node:type_name -> org.lfedge.eve.info.ZInfoClusterNode + 108, // 151: org.lfedge.eve.info.ZInfoMsg.ntp_sources:type_name -> org.lfedge.eve.info.ZInfoNTPSources + 91, // 152: org.lfedge.eve.info.ZInfoMsg.cluster_info:type_name -> org.lfedge.eve.info.ZInfoKubeCluster + 90, // 153: org.lfedge.eve.info.ZInfoMsg.cluster_update_info:type_name -> org.lfedge.eve.info.ZInfoKubeClusterUpdateStatus + 100, // 154: org.lfedge.eve.info.ZInfoMsg.atTimeStamp:type_name -> google.protobuf.Timestamp + 18, // 155: org.lfedge.eve.info.ZInfoAppInstMetaData.type:type_name -> org.lfedge.eve.info.AppInstMetaDataType + 100, // 156: org.lfedge.eve.info.ZInfoEdgeview.expire_time:type_name -> google.protobuf.Timestamp + 100, // 157: org.lfedge.eve.info.ZInfoEdgeview.started_time:type_name -> google.protobuf.Timestamp + 100, // 158: org.lfedge.eve.info.ZInfoLocation.utc_timestamp:type_name -> google.protobuf.Timestamp + 26, // 159: org.lfedge.eve.info.ZInfoLocation.horizontal_reliability:type_name -> org.lfedge.eve.info.LocReliability + 26, // 160: org.lfedge.eve.info.ZInfoLocation.vertical_reliability:type_name -> org.lfedge.eve.info.LocReliability + 109, // 161: org.lfedge.eve.info.ZInfoKubeClusterUpdateStatus.component:type_name -> org.lfedge.eve.info.KubeComp + 110, // 162: org.lfedge.eve.info.ZInfoKubeClusterUpdateStatus.status:type_name -> org.lfedge.eve.info.KubeCompUpdateStatus + 97, // 163: org.lfedge.eve.info.ZInfoKubeClusterUpdateStatus.error:type_name -> org.lfedge.eve.info.ErrorInfo + 111, // 164: org.lfedge.eve.info.ZInfoKubeCluster.nodes:type_name -> org.lfedge.eve.info.KubeNodeInfo + 112, // 165: org.lfedge.eve.info.ZInfoKubeCluster.pod_name_spaces:type_name -> org.lfedge.eve.info.KubePodNameSpaceInfo + 113, // 166: org.lfedge.eve.info.ZInfoKubeCluster.eve_apps:type_name -> org.lfedge.eve.info.KubeEVEAppPodInfo + 114, // 167: org.lfedge.eve.info.ZInfoKubeCluster.storage:type_name -> org.lfedge.eve.info.KubeStorageInfo + 115, // 168: org.lfedge.eve.info.ZInfoKubeCluster.eve_vm_apps:type_name -> org.lfedge.eve.info.KubeVMIInfo + 28, // 169: org.lfedge.eve.info.ZInfoHardware.disks:type_name -> org.lfedge.eve.info.StorageDiskInfo + 116, // 170: org.lfedge.eve.info.ZInfoHardware.inventory:type_name -> org.lfedge.eve.info.HardwareInventory + 43, // 171: org.lfedge.eve.info.ZInfoConfigItemStatus.ConfigItemsEntry.value:type_name -> org.lfedge.eve.info.ZInfoConfigItem + 43, // 172: org.lfedge.eve.info.ZInfoConfigItemStatus.UnknownConfigItemsEntry.value:type_name -> org.lfedge.eve.info.ZInfoConfigItem + 173, // [173:173] is the sub-list for method output_type + 173, // [173:173] is the sub-list for method input_type + 173, // [173:173] is the sub-list for extension type_name + 173, // [173:173] is the sub-list for extension extendee + 0, // [0:173] is the sub-list for field type_name } func init() { file_info_info_proto_init() } @@ -10730,7 +10961,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ZInfoDevice); i { + switch v := v.(*CPUPoolUtilization); i { case 0: return &v.state case 1: @@ -10742,7 +10973,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OptionalCapabilities); i { + switch v := v.(*ZInfoDevice); i { case 0: return &v.state case 1: @@ -10754,7 +10985,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AttestationInfo); i { + switch v := v.(*OptionalCapabilities); i { case 0: return &v.state case 1: @@ -10766,7 +10997,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SystemAdapterInfo); i { + switch v := v.(*AttestationInfo); i { case 0: return &v.state case 1: @@ -10778,7 +11009,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DevicePortStatus); i { + switch v := v.(*SystemAdapterInfo); i { case 0: return &v.state case 1: @@ -10790,7 +11021,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DevicePort); i { + switch v := v.(*DevicePortStatus); i { case 0: return &v.state case 1: @@ -10802,7 +11033,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProxyStatus); i { + switch v := v.(*DevicePort); i { case 0: return &v.state case 1: @@ -10814,7 +11045,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProxyEntry); i { + switch v := v.(*ProxyStatus); i { case 0: return &v.state case 1: @@ -10826,7 +11057,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WirelessStatus); i { + switch v := v.(*ProxyEntry); i { case 0: return &v.state case 1: @@ -10838,7 +11069,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ZCellularStatus); i { + switch v := v.(*WirelessStatus); i { case 0: return &v.state case 1: @@ -10850,7 +11081,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ZInfoDevSW); i { + switch v := v.(*ZCellularStatus); i { case 0: return &v.state case 1: @@ -10862,7 +11093,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ZInfoStorage); i { + switch v := v.(*ZInfoDevSW); i { case 0: return &v.state case 1: @@ -10874,7 +11105,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ZInfoSnapshot); i { + switch v := v.(*ZInfoStorage); i { case 0: return &v.state case 1: @@ -10886,7 +11117,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ZInfoClusterNode); i { + switch v := v.(*ZInfoSnapshot); i { case 0: return &v.state case 1: @@ -10898,7 +11129,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ZInfoApp); i { + switch v := v.(*ZInfoClusterNode); i { case 0: return &v.state case 1: @@ -10910,7 +11141,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ZInfoVpnLinkInfo); i { + switch v := v.(*ZInfoApp); i { case 0: return &v.state case 1: @@ -10922,7 +11153,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ZInfoVpnLink); i { + switch v := v.(*ZInfoVpnLinkInfo); i { case 0: return &v.state case 1: @@ -10934,7 +11165,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ZInfoVpnEndPoint); i { + switch v := v.(*ZInfoVpnLink); i { case 0: return &v.state case 1: @@ -10946,7 +11177,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ZInfoVpnConn); i { + switch v := v.(*ZInfoVpnEndPoint); i { case 0: return &v.state case 1: @@ -10958,7 +11189,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ZInfoVpn); i { + switch v := v.(*ZInfoVpnConn); i { case 0: return &v.state case 1: @@ -10970,7 +11201,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ZInfoNetworkInstance); i { + switch v := v.(*ZInfoVpn); i { case 0: return &v.state case 1: @@ -10982,7 +11213,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IPRoute); i { + switch v := v.(*ZInfoNetworkInstance); i { case 0: return &v.state case 1: @@ -10994,7 +11225,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UsageInfo); i { + switch v := v.(*IPRoute); i { case 0: return &v.state case 1: @@ -11006,7 +11237,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VolumeResources); i { + switch v := v.(*UsageInfo); i { case 0: return &v.state case 1: @@ -11018,7 +11249,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ZInfoVolume); i { + switch v := v.(*VolumeResources); i { case 0: return &v.state case 1: @@ -11030,7 +11261,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ContentResources); i { + switch v := v.(*ZInfoVolume); i { case 0: return &v.state case 1: @@ -11042,7 +11273,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ZInfoContentTree); i { + switch v := v.(*ContentResources); i { case 0: return &v.state case 1: @@ -11054,7 +11285,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ZInfoBlob); i { + switch v := v.(*ZInfoContentTree); i { case 0: return &v.state case 1: @@ -11066,7 +11297,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ZInfoBlobList); i { + switch v := v.(*ZInfoBlob); i { case 0: return &v.state case 1: @@ -11078,7 +11309,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ZInfoMsg); i { + switch v := v.(*ZInfoBlobList); i { case 0: return &v.state case 1: @@ -11090,7 +11321,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Capabilities); i { + switch v := v.(*ZInfoMsg); i { case 0: return &v.state case 1: @@ -11102,7 +11333,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ZInfoAppInstMetaData); i { + switch v := v.(*Capabilities); i { case 0: return &v.state case 1: @@ -11114,7 +11345,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ZInfoEdgeview); i { + switch v := v.(*ZInfoAppInstMetaData); i { case 0: return &v.state case 1: @@ -11126,7 +11357,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ZInfoLocation); i { + switch v := v.(*ZInfoEdgeview); i { case 0: return &v.state case 1: @@ -11138,7 +11369,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ZInfoKubeClusterUpdateStatus); i { + switch v := v.(*ZInfoLocation); i { case 0: return &v.state case 1: @@ -11150,7 +11381,7 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ZInfoKubeCluster); i { + switch v := v.(*ZInfoKubeClusterUpdateStatus); i { case 0: return &v.state case 1: @@ -11162,6 +11393,18 @@ func file_info_info_proto_init() { } } file_info_info_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ZInfoKubeCluster); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_info_info_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ZInfoHardware); i { case 0: return &v.state @@ -11181,10 +11424,10 @@ func file_info_info_proto_init() { (*DeprecatedMetricItem_FloatValue)(nil), (*DeprecatedMetricItem_StringValue)(nil), } - file_info_info_proto_msgTypes[48].OneofWrappers = []interface{}{ + file_info_info_proto_msgTypes[49].OneofWrappers = []interface{}{ (*ZInfoNetworkInstance_Vinfo)(nil), } - file_info_info_proto_msgTypes[57].OneofWrappers = []interface{}{ + file_info_info_proto_msgTypes[58].OneofWrappers = []interface{}{ (*ZInfoMsg_Dinfo)(nil), (*ZInfoMsg_Ainfo)(nil), (*ZInfoMsg_Niinfo)(nil), @@ -11206,8 +11449,8 @@ func file_info_info_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_info_info_proto_rawDesc, - NumEnums: 26, - NumMessages: 67, + NumEnums: 27, + NumMessages: 68, NumExtensions: 0, NumServices: 0, }, diff --git a/python/info/info_pb2.py b/python/info/info_pb2.py index 2b7c8dac..4c325b22 100644 --- a/python/info/info_pb2.py +++ b/python/info/info_pb2.py @@ -25,7 +25,7 @@ from info import common_pb2 as info_dot_common__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0finfo/info.proto\x12\x13org.lfedge.eve.info\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1e\x65vecommon/devmodelcommon.proto\x1a\x19\x65vecommon/evecommon.proto\x1a\x16\x65vecommon/netcmn.proto\x1a\x19info/patch_envelope.proto\x1a\x15info/ntpsources.proto\x1a\x1cinfo/edge_node_cluster.proto\x1a\x13info/hardware.proto\x1a\x0finfo/bond.proto\x1a\x0finfo/pnac.proto\x1a\x0finfo/cert.proto\x1a\x11info/common.proto\"\x93\x01\n\tSmartAttr\x12\n\n\x02id\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\x04\x12\r\n\x05worst\x18\x03 \x01(\x04\x12\x0e\n\x06thresh\x18\x04 \x01(\x04\x12\x13\n\x0bwhen_failed\x18\x05 \x01(\t\x12\x11\n\traw_value\x18\x06 \x01(\x04\x12\x0c\n\x04type\x18\x07 \x01(\t\x12\x16\n\x0e\x61ttribute_name\x18\x08 \x01(\t\"\xab\x01\n\x0fStorageDiskInfo\x12\x11\n\tdisk_name\x18\x01 \x01(\t\x12\x0b\n\x03wwn\x18\x04 \x01(\t\x12\x15\n\rserial_number\x18\x05 \x01(\t\x12\r\n\x05model\x18\x06 \x01(\t\x12\x18\n\x10\x63ollector_errors\x18\x07 \x01(\t\x12\x32\n\nsmart_attr\x18\x08 \x03(\x0b\x32\x1e.org.lfedge.eve.info.SmartAttrJ\x04\x08\x03\x10\x04\"\xdc\x01\n\x14\x64\x65precatedMetricItem\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x34\n\x04type\x18\x02 \x01(\x0e\x32&.org.lfedge.eve.info.DepMetricItemType\x12\x13\n\tboolValue\x18\x03 \x01(\x08H\x00\x12\x15\n\x0buint32Value\x18\x04 \x01(\rH\x00\x12\x15\n\x0buint64Value\x18\x05 \x01(\x04H\x00\x12\x14\n\nfloatValue\x18\x06 \x01(\x02H\x00\x12\x15\n\x0bstringValue\x18\x07 \x01(\tH\x00\x42\x11\n\x0fmetricItemValue\">\n\x15ZmetIPAssignmentEntry\x12\x12\n\nmacAddress\x18\x01 \x01(\t\x12\x11\n\tipAddress\x18\x02 \x03(\t\"A\n\x0bZmetVifInfo\x12\x0f\n\x07vifName\x18\x01 \x01(\t\x12\x12\n\nmacAddress\x18\x02 \x01(\t\x12\r\n\x05\x61ppID\x18\x03 \x01(\t\"\xa5\x02\n\tZioBundle\x12.\n\x04type\x18\x01 \x01(\x0e\x32 .org.lfedge.eve.common.PhyIoType\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07members\x18\x03 \x03(\t\x12\x15\n\rusedByAppUUID\x18\x04 \x01(\t\x12\x14\n\x0cusedByBaseOS\x18\x05 \x01(\x08\x12\x37\n\rioAddressList\x18\x06 \x03(\x0b\x32 .org.lfedge.eve.info.IoAddresses\x12\x36\n\x05usage\x18\x07 \x01(\x0e\x32\'.org.lfedge.eve.common.PhyIoMemberUsage\x12+\n\x03\x65rr\x18\x08 \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\"X\n\x0bIoAddresses\x12\x12\n\nmacAddress\x18\x01 \x01(\t\x12\x35\n\x07vf_info\x18\x02 \x01(\x0b\x32$.org.lfedge.eve.info.VfPublishedInfo\"1\n\x0fVfPublishedInfo\x12\r\n\x05index\x18\x01 \x01(\r\x12\x0f\n\x07vlan_id\x18\x02 \x01(\r\"\xc9\x01\n\x11ZInfoManufacturer\x12\x14\n\x0cmanufacturer\x18\x01 \x01(\t\x12\x13\n\x0bproductName\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\t\x12\x14\n\x0cserialNumber\x18\x04 \x01(\t\x12\x0c\n\x04UUID\x18\x05 \x01(\t\x12\x12\n\ncompatible\x18\x06 \x01(\t\x12\x12\n\nbiosVendor\x18\x07 \x01(\t\x12\x13\n\x0b\x62iosVersion\x18\x08 \x01(\t\x12\x17\n\x0f\x62iosReleaseDate\x18\t \x01(\t\"\x8c\x03\n\x0cZInfoNetwork\x12\x0f\n\x07macAddr\x18\x03 \x01(\t\x12\x0f\n\x07\x64\x65vName\x18\x04 \x01(\t\x12\r\n\x05\x61lias\x18( \x01(\t\x12\x0f\n\x07IPAddrs\x18\x05 \x03(\t\x12\x16\n\x0e\x64\x65\x66\x61ultRouters\x18\x06 \x03(\t\x12*\n\x03\x64ns\x18\x07 \x01(\x0b\x32\x1d.org.lfedge.eve.info.ZInfoDNS\x12\x0f\n\x07ipv4_up\x18\x08 \x01(\x08\x12-\n\x08location\x18\t \x01(\x0b\x32\x1b.org.lfedge.eve.info.GeoLoc\x12\x0e\n\x06uplink\x18\n \x01(\x08\x12\x32\n\nnetworkErr\x18\x0b \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12\x11\n\tlocalName\x18\x0c \x01(\t\x12/\n\x05proxy\x18\r \x01(\x0b\x32 .org.lfedge.eve.info.ProxyStatus\x12\x19\n\x11ip_addr_mis_match\x18\x0e \x01(\x08\x12\x13\n\x0bntp_servers\x18\x0f \x03(\t\"\x87\x01\n\x06GeoLoc\x12\x12\n\nUnderlayIP\x18\x01 \x01(\t\x12\x10\n\x08Hostname\x18\x02 \x01(\t\x12\x0c\n\x04\x43ity\x18\x03 \x01(\t\x12\x0e\n\x06Region\x18\x04 \x01(\t\x12\x0f\n\x07\x43ountry\x18\x05 \x01(\t\x12\x0b\n\x03Loc\x18\x06 \x01(\t\x12\x0b\n\x03Org\x18\x07 \x01(\t\x12\x0e\n\x06Postal\x18\x08 \x01(\t\"D\n\x08ZInfoDNS\x12\x12\n\nDNSservers\x18\x01 \x03(\t\x12\x11\n\tDNSdomain\x18\x02 \x01(\t\x12\x11\n\tDNSsearch\x18\x03 \x03(\t\"\xa5\x01\n\x07ZInfoSW\x12\x11\n\tswVersion\x18\x02 \x01(\t\x12\x0e\n\x06swHash\x18\x03 \x01(\t\x12,\n\x05state\x18\x04 \x01(\x0e\x32\x1d.org.lfedge.eve.info.ZSwState\x12\x0e\n\x06target\x18\x06 \x01(\t\x12\x0c\n\x04vdev\x18\x07 \x01(\t\x12\x18\n\x10\x64ownloadProgress\x18\x08 \x01(\r\x12\x11\n\timageName\x18\t \x01(\t\"\xb8\x01\n\tVaultInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x38\n\x06status\x18\x02 \x01(\x0e\x32(.org.lfedge.eve.info.DataSecAtRestStatus\x12\x30\n\x08vaultErr\x18\x03 \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12\x31\n\tpcrStatus\x18\x04 \x01(\x0e\x32\x1e.org.lfedge.eve.info.PCRStatus\"\x8a\x01\n\rDataSecAtRest\x12\x38\n\x06status\x18\x01 \x01(\x0e\x32(.org.lfedge.eve.info.DataSecAtRestStatus\x12\x0c\n\x04info\x18\x02 \x01(\t\x12\x31\n\tvaultList\x18\x03 \x03(\x0b\x32\x1e.org.lfedge.eve.info.VaultInfo\"<\n\x0cSecurityInfo\x12\x13\n\x0bsha_root_ca\x18\x01 \x01(\x0c\x12\x17\n\x0fsha_tls_root_ca\x18\x02 \x01(\x0c\"/\n\x0fZInfoConfigItem\x12\r\n\x05value\x18\x01 \x01(\t\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\x84\x03\n\x15ZInfoConfigItemStatus\x12P\n\x0b\x63onfigItems\x18\x01 \x03(\x0b\x32;.org.lfedge.eve.info.ZInfoConfigItemStatus.ConfigItemsEntry\x12^\n\x12unknownConfigItems\x18\x02 \x03(\x0b\x32\x42.org.lfedge.eve.info.ZInfoConfigItemStatus.UnknownConfigItemsEntry\x1aX\n\x10\x43onfigItemsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x33\n\x05value\x18\x02 \x01(\x0b\x32$.org.lfedge.eve.info.ZInfoConfigItem:\x02\x38\x01\x1a_\n\x17UnknownConfigItemsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x33\n\x05value\x18\x02 \x01(\x0b\x32$.org.lfedge.eve.info.ZInfoConfigItem:\x02\x38\x01\"B\n\x10ZInfoAppInstance\x12\x0c\n\x04uuid\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\ndomainName\x18\x03 \x01(\t\"3\n\x10ZInfoDeviceTasks\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tnamespace\x18\x02 \x01(\t\"\xc1\x01\n\x0cZSimcardInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10\x63\x65ll_module_name\x18\x02 \x01(\t\x12\x0c\n\x04imsi\x18\x03 \x01(\t\x12\r\n\x05iccid\x18\x04 \x01(\t\x12\r\n\x05state\x18\x06 \x01(\t\x12\x13\n\x0bslot_number\x18\x07 \x01(\r\x12\x16\n\x0eslot_activated\x18\x08 \x01(\x08\x12*\n\x04type\x18\t \x01(\x0e\x32\x1c.org.lfedge.eve.info.SimTypeJ\x04\x08\x05\x10\x06\"\x80\x02\n\x13ZCellularModuleInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04imei\x18\x02 \x01(\t\x12\x18\n\x10\x66irmware_version\x18\x03 \x01(\t\x12\r\n\x05model\x18\x04 \x01(\t\x12\x45\n\x0foperating_state\x18\x05 \x01(\x0e\x32,.org.lfedge.eve.info.ZCellularOperatingState\x12G\n\x10\x63ontrol_protocol\x18\x06 \x01(\x0e\x32-.org.lfedge.eve.info.ZCellularControlProtocol\x12\x14\n\x0cmanufacturer\x18\x07 \x01(\t\"s\n\x11ZCellularProvider\x12\x0c\n\x04plmn\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x17\n\x0f\x63urrent_serving\x18\x03 \x01(\x08\x12\x0f\n\x07roaming\x18\x04 \x01(\x08\x12\x11\n\tforbidden\x18\x05 \x01(\x08\"\xec\x01\n\x0e\x43\x65llularBearer\x12\x0b\n\x03\x61pn\x18\x01 \x01(\t\x12\x36\n\x0b\x62\x65\x61rer_type\x18\x02 \x01(\x0e\x32!.org.lfedge.eve.common.BearerType\x12\x36\n\x07ip_type\x18\x03 \x01(\x0e\x32%.org.lfedge.eve.common.CellularIPType\x12\x11\n\tconnected\x18\x04 \x01(\x08\x12\x18\n\x10\x63onnection_error\x18\x05 \x01(\t\x12\x30\n\x0c\x63onnected_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xbc\x01\n\x0f\x43\x65llularProfile\x12\x14\n\x0cprofile_name\x18\x01 \x01(\t\x12\x0b\n\x03\x61pn\x18\x02 \x01(\t\x12\x36\n\x0b\x62\x65\x61rer_type\x18\x03 \x01(\x0e\x32!.org.lfedge.eve.common.BearerType\x12\x36\n\x07ip_type\x18\x04 \x01(\x0e\x32%.org.lfedge.eve.common.CellularIPType\x12\x16\n\x0e\x66orbid_roaming\x18\x05 \x01(\x08\"\xa6\x01\n\x10StorageDiskState\x12\x39\n\tdisk_name\x18\x01 \x01(\x0b\x32&.org.lfedge.eve.common.DiskDescription\x12\x32\n\x06status\x18\x02 \x01(\x0e\x32\".org.lfedge.eve.info.StorageStatus\x12\r\n\x05state\x18\x03 \x01(\t\x12\x14\n\x0csmart_status\x18\x04 \x01(\t\"\xe2\x01\n\x0fStorageChildren\x12:\n\x0c\x63urrent_raid\x18\x01 \x01(\x0e\x32$.org.lfedge.eve.info.StorageRaidType\x12\x34\n\x05\x64isks\x18\x02 \x03(\x0b\x32%.org.lfedge.eve.info.StorageDiskState\x12\x36\n\x08\x63hildren\x18\x03 \x03(\x0b\x32$.org.lfedge.eve.info.StorageChildren\x12\x14\n\x0c\x64isplay_name\x18\x04 \x01(\t\x12\x0f\n\x07g_u_i_d\x18\x05 \x01(\x04\"\xcd\x03\n\x0bStorageInfo\x12\x11\n\tpool_name\x18\x01 \x01(\t\x12:\n\x0cstorage_type\x18\x02 \x01(\x0e\x32$.org.lfedge.eve.info.StorageTypeInfo\x12\x13\n\x0bzfs_version\x18\x03 \x01(\t\x12:\n\x0c\x63urrent_raid\x18\x04 \x01(\x0e\x32$.org.lfedge.eve.info.StorageRaidType\x12\x19\n\x11\x63ompression_ratio\x18\x05 \x01(\x01\x12\x12\n\nzpool_size\x18\x06 \x01(\x04\x12\x13\n\x0b\x63ount_zvols\x18\x07 \x01(\r\x12\x39\n\rstorage_state\x18\x08 \x01(\x0e\x32\".org.lfedge.eve.info.StorageStatus\x12\x34\n\x05\x64isks\x18\t \x03(\x0b\x32%.org.lfedge.eve.info.StorageDiskState\x12\x18\n\x10\x63ollector_errors\x18\n \x01(\t\x12\x36\n\x08\x63hildren\x18\x0b \x03(\x0b\x32$.org.lfedge.eve.info.StorageChildren\x12\x17\n\x0fpool_status_msg\x18\x0c \x01(\t\"\xe6\x11\n\x0bZInfoDevice\x12\x13\n\x0bmachineArch\x18\x04 \x01(\t\x12\x0f\n\x07\x63puArch\x18\x05 \x01(\t\x12\x10\n\x08platform\x18\x06 \x01(\t\x12\x0c\n\x04ncpu\x18\x07 \x01(\r\x12\x0e\n\x06memory\x18\x08 \x01(\x04\x12\x0f\n\x07storage\x18\t \x01(\x04\x12\x19\n\x11powerCycleCounter\x18\n \x01(\x03\x12\x35\n\x05minfo\x18\x0b \x01(\x0b\x32&.org.lfedge.eve.info.ZInfoManufacturer\x12\x32\n\x07network\x18\r \x03(\x0b\x32!.org.lfedge.eve.info.ZInfoNetwork\x12:\n\x12\x61ssignableAdapters\x18\x0f \x03(\x0b\x32\x1e.org.lfedge.eve.info.ZioBundle\x12*\n\x03\x64ns\x18\x10 \x01(\x0b\x32\x1d.org.lfedge.eve.info.ZInfoDNS\x12\x36\n\x0bstorageList\x18\x11 \x03(\x0b\x32!.org.lfedge.eve.info.ZInfoStorage\x12,\n\x08\x62ootTime\x18\x12 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x06swList\x18\x13 \x03(\x0b\x32\x1f.org.lfedge.eve.info.ZInfoDevSW\x12\x10\n\x08HostName\x18\x14 \x01(\t\x12>\n\x0bmetricItems\x18\x15 \x03(\x0b\x32).org.lfedge.eve.info.deprecatedMetricItem\x12\x18\n\x10lastRebootReason\x18\x16 \x01(\t\x12\x32\n\x0elastRebootTime\x18\x17 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12=\n\rsystemAdapter\x18\x18 \x01(\x0b\x32&.org.lfedge.eve.info.SystemAdapterInfo\x12\x16\n\x0erestartCounter\x18\x19 \x01(\r\x12>\n\tHSMStatus\x18\x1a \x01(\x0e\x32+.org.lfedge.eve.info.HwSecurityModuleStatus\x12\x0f\n\x07HSMInfo\x18\x1b \x01(\t\x12\x17\n\x0flastRebootStack\x18\x1c \x01(\t\x12=\n\x11\x64\x61taSecAtRestInfo\x18\x1d \x01(\x0b\x32\".org.lfedge.eve.info.DataSecAtRest\x12\x33\n\x08sec_info\x18\x1e \x01(\x0b\x32!.org.lfedge.eve.info.SecurityInfo\x12\x44\n\x10\x63onfigItemStatus\x18\x1f \x01(\x0b\x32*.org.lfedge.eve.info.ZInfoConfigItemStatus\x12;\n\x0c\x61ppInstances\x18 \x03(\x0b\x32%.org.lfedge.eve.info.ZInfoAppInstance\x12\x1b\n\x13rebootConfigCounter\x18! \x01(\r\x12\x39\n\x10last_boot_reason\x18\" \x01(\x0e\x32\x1f.org.lfedge.eve.info.BootReason\x12=\n\x0b\x63\x65ll_radios\x18# \x03(\x0b\x32(.org.lfedge.eve.info.ZCellularModuleInfo\x12/\n\x04sims\x18$ \x03(\x0b\x32!.org.lfedge.eve.info.ZSimcardInfo\x12\x34\n\x05tasks\x18% \x03(\x0b\x32%.org.lfedge.eve.info.ZInfoDeviceTasks\x12\x18\n\x10maintenance_mode\x18& \x01(\x08\x12O\n\x17maintenance_mode_reason\x18\' \x01(\x0e\x32*.org.lfedge.eve.info.MaintenanceModeReasonB\x02\x18\x01\x12!\n\x19hardware_watchdog_present\x18( \x01(\x08\x12\x19\n\x11reboot_inprogress\x18) \x01(\x08\x12\x37\n\x0c\x63\x61pabilities\x18* \x01(\x0b\x32!.org.lfedge.eve.info.Capabilities\x12\x1d\n\x15\x62\x61seos_update_counter\x18+ \x01(\r\x12\x30\n\x05state\x18, \x01(\x0e\x32!.org.lfedge.eve.info.ZDeviceState\x12\x15\n\rlocal_profile\x18- \x01(\t\x12L\n\x18maintenance_mode_reasons\x18. \x03(\x0e\x32*.org.lfedge.eve.info.MaintenanceModeReason\x12\x18\n\x0c\x64ormant_time\x18/ \x01(\tB\x02\x18\x01\x12\x36\n\x0cstorage_info\x18\x30 \x03(\x0b\x32 .org.lfedge.eve.info.StorageInfo\x12\x1f\n\x17shutdown_config_counter\x18\x31 \x01(\r\x12>\n\x10\x61ttestation_info\x18\x32 \x01(\x0b\x32$.org.lfedge.eve.info.AttestationInfo\x12:\n\x0e\x61pi_capability\x18\x33 \x01(\x0e\x32\".org.lfedge.eve.info.APICapability\x12\x1e\n\x16remote_access_disabled\x18\x34 \x01(\x08\x12H\n\x15optional_capabilities\x18\x35 \x01(\x0b\x32).org.lfedge.eve.info.OptionalCapabilities\x12\x13\n\x0b\x64\x65vice_name\x18\x36 \x01(\t\x12\x17\n\x0f\x65nterprise_name\x18\x37 \x01(\t\x12\x15\n\renterprise_id\x18\x38 \x01(\t\x12\x14\n\x0cproject_name\x18\x39 \x01(\t\x12\x12\n\nproject_id\x18: \x01(\t\x12\x35\n\x0e\x65nrolled_certs\x18< \x03(\x0b\x32\x1d.org.lfedge.eve.info.CertInfo\"\x84\x01\n\x14OptionalCapabilities\x12\x18\n\x10hv_type_kubevirt\x18\x01 \x01(\x08\x12\x1c\n\x14hw_inventory_support\x18\x02 \x01(\x08\x12\x15\n\retcd_snapshot\x18\x03 \x01(\x08\x12\x1d\n\x15managed_cpu_isolation\x18\x04 \x01(\x08\"v\n\x0f\x41ttestationInfo\x12\x34\n\x05state\x18\x01 \x01(\x0e\x32%.org.lfedge.eve.info.AttestationState\x12-\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\"`\n\x11SystemAdapterInfo\x12\x14\n\x0c\x63urrentIndex\x18\x01 \x01(\r\x12\x35\n\x06status\x18\x02 \x03(\x0b\x32%.org.lfedge.eve.info.DevicePortStatus\"\x88\x02\n\x10\x44\x65vicePortStatus\x12\x0f\n\x07version\x18\x01 \x01(\r\x12\x0b\n\x03key\x18\x02 \x01(\t\x12\x30\n\x0ctimePriority\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nlastFailed\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x31\n\rlastSucceeded\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\x05ports\x18\x06 \x03(\x0b\x32\x1f.org.lfedge.eve.info.DevicePort\x12\x11\n\tlastError\x18\x07 \x01(\t\"\xce\x06\n\nDevicePort\x12\x0e\n\x06ifname\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06isMgmt\x18\x03 \x01(\x08\x12\x0c\n\x04\x66ree\x18\x04 \x01(\x08\x12\x10\n\x08\x64hcpType\x18\x0b \x01(\r\x12\x0e\n\x06subnet\x18\x0c \x01(\t\x12\x0f\n\x07gateway\x18\r \x01(\t\x12\x12\n\ndomainname\x18\x0e \x01(\t\x12\x11\n\tntpServer\x18\x0f \x01(\t\x12\x18\n\x10more_ntp_servers\x18# \x03(\t\x12\x12\n\ndnsServers\x18\x10 \x03(\t\x12\x14\n\x0c\x64hcpRangeLow\x18\x11 \x01(\t\x12\x15\n\rdhcpRangeHigh\x18\x12 \x01(\t\x12/\n\x05proxy\x18\x15 \x01(\x0b\x32 .org.lfedge.eve.info.ProxyStatus\x12\x0f\n\x07macAddr\x18\x16 \x01(\t\x12\x0f\n\x07IPAddrs\x18\x17 \x03(\t\x12\x16\n\x0e\x64\x65\x66\x61ultRouters\x18\x18 \x03(\t\x12*\n\x03\x64ns\x18\x19 \x01(\x0b\x32\x1d.org.lfedge.eve.info.ZInfoDNS\x12\n\n\x02up\x18\x1a \x01(\x08\x12-\n\x08location\x18\x1b \x01(\x0b\x32\x1b.org.lfedge.eve.info.GeoLoc\x12+\n\x03\x65rr\x18\x1d \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12\x36\n\x05usage\x18\x1e \x01(\x0e\x32\'.org.lfedge.eve.common.PhyIoMemberUsage\x12\x13\n\x0bnetworkUUID\x18\x1f \x01(\t\x12\x0c\n\x04\x63ost\x18 \x01(\r\x12<\n\x0fwireless_status\x18! \x01(\x0b\x32#.org.lfedge.eve.info.WirelessStatus\x12\x0b\n\x03mtu\x18\" \x01(\r\x12>\n\rconfig_source\x18( \x01(\x0b\x32\'.org.lfedge.eve.common.PortConfigSource\x12\x34\n\x0bpnac_status\x18\x32 \x01(\x0b\x32\x1f.org.lfedge.eve.info.PNACStatus\x12\x34\n\x0b\x62ond_status\x18< \x01(\x0b\x32\x1f.org.lfedge.eve.info.BondStatus\"\xaa\x01\n\x0bProxyStatus\x12\x30\n\x07proxies\x18\x01 \x03(\x0b\x32\x1f.org.lfedge.eve.info.ProxyEntry\x12\x12\n\nexceptions\x18\x02 \x01(\t\x12\x0f\n\x07pacfile\x18\x03 \x01(\t\x12\x1a\n\x12networkProxyEnable\x18\x04 \x01(\x08\x12\x17\n\x0fnetworkProxyURL\x18\x05 \x01(\t\x12\x0f\n\x07wpadURL\x18\x06 \x01(\t\"8\n\nProxyEntry\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06server\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\r\"y\n\x0eWirelessStatus\x12/\n\x04type\x18\x01 \x01(\x0e\x32!.org.lfedge.eve.info.WirelessType\x12\x36\n\x08\x63\x65llular\x18\x02 \x01(\x0b\x32$.org.lfedge.eve.info.ZCellularStatus\"\x87\x03\n\x0fZCellularStatus\x12\x17\n\x0f\x63\x65llular_module\x18\x01 \x01(\t\x12\x11\n\tsim_cards\x18\x02 \x03(\t\x12\x39\n\tproviders\x18\x03 \x03(\x0b\x32&.org.lfedge.eve.info.ZCellularProvider\x12\x42\n\x0c\x63urrent_rats\x18\x04 \x03(\x0e\x32,.org.lfedge.eve.common.RadioAccessTechnology\x12\x30\n\x0c\x63onnected_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x14\n\x0c\x63onfig_error\x18\n \x01(\t\x12\x13\n\x0bprobe_error\x18\x0b \x01(\t\x12\x34\n\x07\x62\x65\x61rers\x18\x0c \x03(\x0b\x32#.org.lfedge.eve.info.CellularBearer\x12\x36\n\x08profiles\x18\r \x03(\x0b\x32$.org.lfedge.eve.info.CellularProfile\"\xac\x03\n\nZInfoDevSW\x12\x11\n\tactivated\x18\x02 \x01(\x08\x12\x16\n\x0epartitionLabel\x18\x03 \x01(\t\x12\x17\n\x0fpartitionDevice\x18\x04 \x01(\t\x12\x16\n\x0epartitionState\x18\x05 \x01(\t\x12-\n\x06status\x18\x06 \x01(\x0e\x32\x1d.org.lfedge.eve.info.ZSwState\x12\x14\n\x0cshortVersion\x18\x07 \x01(\t\x12\x13\n\x0blongVersion\x18\x08 \x01(\t\x12-\n\x05swErr\x18\t \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12\x18\n\x10\x64ownloadProgress\x18\n \x01(\r\x12\x35\n\nuserStatus\x18\x0b \x01(\x0e\x32!.org.lfedge.eve.info.BaseOsStatus\x12\x14\n\x0csubStatusStr\x18\x0c \x01(\t\x12\x37\n\tsubStatus\x18\r \x01(\x0e\x32$.org.lfedge.eve.info.BaseOsSubStatus\x12\x19\n\x11subStatusProgress\x18\x0e \x01(\r\"\xa3\x01\n\x0cZInfoStorage\x12\x0e\n\x06\x64\x65vice\x18\x01 \x01(\t\x12\x11\n\tmountPath\x18\x02 \x01(\t\x12\r\n\x05total\x18\x03 \x01(\x04\x12\x17\n\x0fstorageLocation\x18\x04 \x01(\x08\x12\x16\n\x0epartitionLabel\x18\x05 \x01(\t\x12\x19\n\x11partitionTypeGuid\x18\x06 \x01(\t\x12\x15\n\rpartitionUuid\x18\x07 \x01(\t\"\xda\x01\n\rZInfoSnapshot\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\tconfig_id\x18\x02 \x01(\t\x12\x16\n\x0e\x63onfig_version\x18\x03 \x01(\t\x12/\n\x0b\x63reate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x04type\x18\x05 \x01(\x0e\x32!.org.lfedge.eve.info.SnapshotType\x12\x30\n\x08snap_err\x18\x06 \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\"T\n\x10ZInfoClusterNode\x12@\n\x0bnode_status\x18\x01 \x01(\x0e\x32+.org.lfedge.eve.info.ZInfoClusterNodeStatus\"\xf3\x03\n\x08ZInfoApp\x12\r\n\x05\x41ppID\x18\x01 \x01(\t\x12\x12\n\nappVersion\x18\x02 \x01(\t\x12\x11\n\tsystemApp\x18\x06 \x01(\x08\x12\x0f\n\x07\x41ppName\x18\x07 \x01(\t\x12\x32\n\x0csoftwareList\x18\x08 \x03(\x0b\x32\x1c.org.lfedge.eve.info.ZInfoSW\x12,\n\x08\x62ootTime\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x38\n\x10\x61ssignedAdapters\x18\r \x03(\x0b\x32\x1e.org.lfedge.eve.info.ZioBundle\x12.\n\x06\x61ppErr\x18\x0e \x03(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12,\n\x05state\x18\x0f \x01(\x0e\x32\x1d.org.lfedge.eve.info.ZSwState\x12\x32\n\x07network\x18\x10 \x03(\x0b\x32!.org.lfedge.eve.info.ZInfoNetwork\x12\x12\n\nvolumeRefs\x18\x11 \x03(\t\x12\x35\n\tsnapshots\x18\x12 \x03(\x0b\x32\".org.lfedge.eve.info.ZInfoSnapshot\x12\x1b\n\x13\x63luster_app_running\x18\x14 \x01(\x08J\x04\x08\t\x10\x0cJ\x04\x08\x13\x10\x14\"D\n\x10ZInfoVpnLinkInfo\x12\r\n\x05spiId\x18\x01 \x01(\t\x12\x0e\n\x06subNet\x18\x02 \x01(\t\x12\x11\n\tdirection\x18\x03 \x01(\x08\"\xf9\x01\n\x0cZInfoVpnLink\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05reqId\x18\x03 \x01(\t\x12\x10\n\x08instTime\x18\x04 \x01(\x04\x12\x0f\n\x07\x65spInfo\x18\x05 \x01(\t\x12\x31\n\x05state\x18\x06 \x01(\x0e\x32\".org.lfedge.eve.info.ZInfoVpnState\x12\x34\n\x05lInfo\x18\n \x01(\x0b\x32%.org.lfedge.eve.info.ZInfoVpnLinkInfo\x12\x34\n\x05rInfo\x18\x0b \x01(\x0b\x32%.org.lfedge.eve.info.ZInfoVpnLinkInfo\"<\n\x10ZInfoVpnEndPoint\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0e\n\x06ipAddr\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\r\"\xa9\x02\n\x0cZInfoVpnConn\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\t\x12\x0f\n\x07\x65stTime\x18\x04 \x01(\x04\x12\x0c\n\x04ikes\x18\x05 \x01(\t\x12\x31\n\x05state\x18\x06 \x01(\x0e\x32\".org.lfedge.eve.info.ZInfoVpnState\x12\x34\n\x05lInfo\x18\x07 \x01(\x0b\x32%.org.lfedge.eve.info.ZInfoVpnEndPoint\x12\x34\n\x05rInfo\x18\x08 \x01(\x0b\x32%.org.lfedge.eve.info.ZInfoVpnEndPoint\x12\x30\n\x05links\x18\n \x03(\x0b\x32!.org.lfedge.eve.info.ZInfoVpnLink\"z\n\x08ZInfoVpn\x12\x0e\n\x06upTime\x18\x01 \x01(\x04\x12\x13\n\x0bpolicyBased\x18\x02 \x01(\x08\x12\x18\n\x10listeningIpAddrs\x18\x03 \x03(\t\x12/\n\x04\x63onn\x18\n \x03(\x0b\x32!.org.lfedge.eve.info.ZInfoVpnConn\"\x9b\x06\n\x14ZInfoNetworkInstance\x12\x11\n\tnetworkID\x18\x02 \x01(\t\x12\x16\n\x0enetworkVersion\x18\x03 \x01(\t\x12\x10\n\x08instType\x18\x05 \x01(\r\x12\x13\n\x0b\x64isplayname\x18\x06 \x01(\t\x12\x11\n\tactivated\x18\x07 \x01(\x08\x12/\n\x0bupTimeStamp\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x32\n\x0csoftwareList\x18\t \x01(\x0b\x32\x1c.org.lfedge.eve.info.ZInfoSW\x12\x1d\n\x11\x43urrentUplinkIntf\x18\n \x01(\tB\x02\x18\x01\x12\x1e\n\x12\x43urrentUplinkAlias\x18\x0b \x01(\tB\x02\x18\x01\x12\r\n\x05ports\x18\x0c \x03(\t\x12\x11\n\tbridgeNum\x18\x14 \x01(\r\x12\x12\n\nbridgeName\x18\x15 \x01(\t\x12\x14\n\x0c\x62ridgeIPAddr\x18\x16 \x01(\t\x12\x41\n\ripAssignments\x18\x17 \x03(\x0b\x32*.org.lfedge.eve.info.ZmetIPAssignmentEntry\x12.\n\x04vifs\x18\x19 \x03(\x0b\x32 .org.lfedge.eve.info.ZmetVifInfo\x12\x0f\n\x07ipv4Eid\x18\x1a \x01(\x08\x12\x38\n\x10\x61ssignedAdapters\x18\x1e \x03(\x0b\x32\x1e.org.lfedge.eve.info.ZioBundle\x12.\n\x05vinfo\x18\x1f \x01(\x0b\x32\x1d.org.lfedge.eve.info.ZInfoVpnH\x00\x12\x32\n\nnetworkErr\x18( \x03(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12\x39\n\x05state\x18) \x01(\x0e\x32*.org.lfedge.eve.info.ZNetworkInstanceState\x12\x0b\n\x03mtu\x18* \x01(\r\x12/\n\tip_routes\x18+ \x03(\x0b\x32\x1c.org.lfedge.eve.info.IPRouteB\r\n\x0bInfoContentJ\x04\x08\x18\x10\x19\"Z\n\x07IPRoute\x12\x1b\n\x13\x64\x65stination_network\x18\x01 \x01(\t\x12\x0f\n\x07gateway\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\t\x12\x13\n\x0bgateway_app\x18\x04 \x01(\t\"\x89\x01\n\tUsageInfo\x12.\n\ncreateTime\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08refCount\x18\x02 \x01(\r\x12:\n\x16lastRefcountChangeTime\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"=\n\x0fVolumeResources\x12\x14\n\x0cmaxSizeBytes\x18\x01 \x01(\x04\x12\x14\n\x0c\x63urSizeBytes\x18\x02 \x01(\x04\"\xaf\x02\n\x0bZInfoVolume\x12\x0c\n\x04uuid\x18\x01 \x01(\t\x12\x13\n\x0b\x64isplayName\x18\x02 \x01(\t\x12-\n\x05usage\x18\x03 \x01(\x0b\x32\x1e.org.lfedge.eve.info.UsageInfo\x12\x37\n\tresources\x18\x04 \x01(\x0b\x32$.org.lfedge.eve.info.VolumeResources\x12,\n\x05state\x18\x05 \x01(\x0e\x32\x1d.org.lfedge.eve.info.ZSwState\x12\x1a\n\x12progressPercentage\x18\x06 \x01(\r\x12\x31\n\tvolumeErr\x18\x07 \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12\x18\n\x10generation_count\x18\x08 \x01(\x03\"(\n\x10\x43ontentResources\x12\x14\n\x0c\x63urSizeBytes\x18\x01 \x01(\x04\"\xd9\x02\n\x10ZInfoContentTree\x12\x0c\n\x04uuid\x18\x01 \x01(\t\x12\x13\n\x0b\x64isplayName\x18\x02 \x01(\t\x12\x0e\n\x06sha256\x18\x03 \x01(\t\x12\x38\n\tresources\x18\x04 \x01(\x0b\x32%.org.lfedge.eve.info.ContentResources\x12-\n\x05usage\x18\x05 \x01(\x0b\x32\x1e.org.lfedge.eve.info.UsageInfo\x12,\n\x05state\x18\x06 \x01(\x0e\x32\x1d.org.lfedge.eve.info.ZSwState\x12\x1a\n\x12progressPercentage\x18\x07 \x01(\r\x12+\n\x03\x65rr\x18\x08 \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12\x18\n\x10\x63omponentShaList\x18\t \x03(\t\x12\x18\n\x10generation_count\x18\n \x01(\x03\"\xfb\x01\n\tZInfoBlob\x12\x0e\n\x06sha256\x18\x01 \x01(\t\x12\x38\n\tresources\x18\x02 \x01(\x0b\x32%.org.lfedge.eve.info.ContentResources\x12-\n\x05usage\x18\x03 \x01(\x0b\x32\x1e.org.lfedge.eve.info.UsageInfo\x12,\n\x05state\x18\x04 \x01(\x0e\x32\x1d.org.lfedge.eve.info.ZSwState\x12\x1a\n\x12progressPercentage\x18\x05 \x01(\r\x12+\n\x03\x65rr\x18\x06 \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\"=\n\rZInfoBlobList\x12,\n\x04\x62lob\x18\x01 \x03(\x0b\x32\x1e.org.lfedge.eve.info.ZInfoBlob\"\xfb\x07\n\x08ZInfoMsg\x12.\n\x05ztype\x18\x01 \x01(\x0e\x32\x1f.org.lfedge.eve.info.ZInfoTypes\x12\r\n\x05\x64\x65vId\x18\x02 \x01(\t\x12\x31\n\x05\x64info\x18\x03 \x01(\x0b\x32 .org.lfedge.eve.info.ZInfoDeviceH\x00\x12.\n\x05\x61info\x18\x05 \x01(\x0b\x32\x1d.org.lfedge.eve.info.ZInfoAppH\x00\x12;\n\x06niinfo\x18\x0c \x01(\x0b\x32).org.lfedge.eve.info.ZInfoNetworkInstanceH\x00\x12\x31\n\x05vinfo\x18\r \x01(\x0b\x32 .org.lfedge.eve.info.ZInfoVolumeH\x00\x12\x36\n\x05\x63info\x18\x0e \x01(\x0b\x32%.org.lfedge.eve.info.ZInfoContentTreeH\x00\x12\x33\n\x05\x62info\x18\x0f \x01(\x0b\x32\".org.lfedge.eve.info.ZInfoBlobListH\x00\x12<\n\x07\x61mdinfo\x18\x10 \x01(\x0b\x32).org.lfedge.eve.info.ZInfoAppInstMetaDataH\x00\x12\x34\n\x06\x65vinfo\x18\x11 \x01(\x0b\x32\".org.lfedge.eve.info.ZInfoEdgeviewH\x00\x12\x34\n\x06hwinfo\x18\x12 \x01(\x0b\x32\".org.lfedge.eve.info.ZInfoHardwareH\x00\x12\x35\n\x07locinfo\x18\x13 \x01(\x0b\x32\".org.lfedge.eve.info.ZInfoLocationH\x00\x12<\n\tpatchInfo\x18\x14 \x01(\x0b\x32\'.org.lfedge.eve.info.ZInfoPatchEnvelopeH\x00\x12=\n\x0c\x63luster_node\x18\x16 \x01(\x0b\x32%.org.lfedge.eve.info.ZInfoClusterNodeH\x00\x12;\n\x0bntp_sources\x18\x17 \x01(\x0b\x32$.org.lfedge.eve.info.ZInfoNTPSourcesH\x00\x12=\n\x0c\x63luster_info\x18\x18 \x01(\x0b\x32%.org.lfedge.eve.info.ZInfoKubeClusterH\x00\x12P\n\x13\x63luster_update_info\x18\x19 \x01(\x0b\x32\x31.org.lfedge.eve.info.ZInfoKubeClusterUpdateStatusH\x00\x12/\n\x0b\x61tTimeStamp\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\r\n\x0bInfoContentJ\x04\x08\x15\x10\x16\"J\n\x0c\x43\x61pabilities\x12 \n\x18HWAssistedVirtualization\x18\x02 \x01(\x08\x12\x18\n\x10IOVirtualization\x18\x03 \x01(\x08\"j\n\x14ZInfoAppInstMetaData\x12\x0c\n\x04uuid\x18\x01 \x01(\t\x12\x36\n\x04type\x18\x02 \x01(\x0e\x32(.org.lfedge.eve.info.AppInstMetaDataType\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"\xab\x01\n\rZInfoEdgeview\x12/\n\x0b\x65xpire_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0cstarted_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x11\n\tcount_dev\x18\x03 \x01(\r\x12\x11\n\tcount_app\x18\x04 \x01(\r\x12\x11\n\tcount_ext\x18\x05 \x01(\r\"\xd5\x02\n\rZInfoLocation\x12\x10\n\x08latitude\x18\x01 \x01(\x01\x12\x11\n\tlongitude\x18\x02 \x01(\x01\x12\x10\n\x08\x61ltitude\x18\x03 \x01(\x01\x12\x31\n\rutc_timestamp\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x43\n\x16horizontal_reliability\x18\x05 \x01(\x0e\x32#.org.lfedge.eve.info.LocReliability\x12\x41\n\x14vertical_reliability\x18\x06 \x01(\x0e\x32#.org.lfedge.eve.info.LocReliability\x12\x1e\n\x16horizontal_uncertainty\x18\x07 \x01(\x02\x12\x1c\n\x14vertical_uncertainty\x18\x08 \x01(\x02\x12\x14\n\x0clogicallabel\x18\t \x01(\t\"\xe4\x01\n\x1cZInfoKubeClusterUpdateStatus\x12\x14\n\x0c\x63urrent_node\x18\x01 \x01(\t\x12\x30\n\tcomponent\x18\x02 \x01(\x0e\x32\x1d.org.lfedge.eve.info.KubeComp\x12\x39\n\x06status\x18\x03 \x01(\x0e\x32).org.lfedge.eve.info.KubeCompUpdateStatus\x12-\n\x05\x65rror\x18\x04 \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12\x12\n\ncluster_id\x18\x05 \x01(\t\"\xc4\x02\n\x10ZInfoKubeCluster\x12\x30\n\x05nodes\x18\x01 \x03(\x0b\x32!.org.lfedge.eve.info.KubeNodeInfo\x12\x42\n\x0fpod_name_spaces\x18\x02 \x03(\x0b\x32).org.lfedge.eve.info.KubePodNameSpaceInfo\x12\x38\n\x08\x65ve_apps\x18\x03 \x03(\x0b\x32&.org.lfedge.eve.info.KubeEVEAppPodInfo\x12\x35\n\x07storage\x18\x04 \x01(\x0b\x32$.org.lfedge.eve.info.KubeStorageInfo\x12\x12\n\ncluster_id\x18\x05 \x01(\t\x12\x35\n\x0b\x65ve_vm_apps\x18\x06 \x03(\x0b\x32 .org.lfedge.eve.info.KubeVMIInfo\"\x88\x02\n\rZInfoHardware\x12\x37\n\x05\x64isks\x18\x01 \x03(\x0b\x32$.org.lfedge.eve.info.StorageDiskInfoB\x02\x18\x01\x12\x13\n\x0b\x65ve_release\x18\x02 \x01(\t\x12\x39\n\tinventory\x18\x03 \x01(\x0b\x32&.org.lfedge.eve.info.HardwareInventory\x12\x15\n\rkernel_flavor\x18\x04 \x01(\t\x12\x16\n\x0ekernel_version\x18\x05 \x01(\t\x12\x14\n\x0c\x65ve_platform\x18\x06 \x01(\t\x12\x11\n\tpartition\x18\x07 \x01(\t\x12\x16\n\x0ekernel_cmdline\x18\x08 \x01(\t*u\n\x11\x44\x65pMetricItemType\x12\x16\n\x12\x44\x65pMetricItemOther\x10\x00\x12\x16\n\x12\x44\x65pMetricItemGauge\x10\x01\x12\x18\n\x14\x44\x65pMetricItemCounter\x10\x02\x12\x16\n\x12\x44\x65pMetricItemState\x10\x03*\xb0\x02\n\nZInfoTypes\x12\t\n\x05ZiNop\x10\x00\x12\x0c\n\x08ZiDevice\x10\x01\x12\t\n\x05ZiApp\x10\x03\x12\x15\n\x11ZiNetworkInstance\x10\x06\x12\x0c\n\x08ZiVolume\x10\x07\x12\x11\n\rZiContentTree\x10\x08\x12\x0e\n\nZiBlobList\x10\t\x12\x15\n\x11ZiAppInstMetaData\x10\n\x12\x0e\n\nZiHardware\x10\x0b\x12\x0e\n\nZiEdgeview\x10\x0c\x12\x0e\n\nZiLocation\x10\r\x12\x13\n\x0fZiPatchEnvelope\x10\x0e\x12\x10\n\x0cZiNTPSources\x10\x10\x12\x11\n\rZiKubeCluster\x10\x11\x12\x1d\n\x19ZiKubeClusterUpdateStatus\x10\x12\"\x04\x08\x02\x10\x02\"\x04\x08\x04\x10\x04\"\x04\x08\x05\x10\x05\"\x04\x08\x0f\x10\x0f*\x91\x03\n\x08ZSwState\x12\x0b\n\x07INVALID\x10\x00\x12\x0b\n\x07INITIAL\x10\x01\x12\x14\n\x10\x44OWNLOAD_STARTED\x10\x02\x12\x0e\n\nDOWNLOADED\x10\x03\x12\r\n\tDELIVERED\x10\x04\x12\r\n\tINSTALLED\x10\x05\x12\x0b\n\x07\x42OOTING\x10\x06\x12\x0b\n\x07RUNNING\x10\x07\x12\x0b\n\x07HALTING\x10\x08\x12\n\n\x06HALTED\x10\t\x12\x0e\n\nRESTARTING\x10\n\x12\x0b\n\x07PURGING\x10\x0b\x12\x11\n\rRESOLVING_TAG\x10\x0c\x12\x10\n\x0cRESOLVED_TAG\x10\r\x12\x13\n\x0f\x43REATING_VOLUME\x10\x0e\x12\x12\n\x0e\x43REATED_VOLUME\x10\x0f\x12\r\n\tVERIFYING\x10\x10\x12\x0c\n\x08VERIFIED\x10\x11\x12\x0b\n\x07LOADING\x10\x12\x12\n\n\x06LOADED\x10\x13\x12\x18\n\x14\x41WAITNETWORKINSTANCE\x10\x14\x12\t\n\x05\x45RROR\x10\x15\x12\x11\n\rSTART_DELAYED\x10\x16\x12\x0b\n\x07PENDING\x10\x17\x12\x0e\n\nSCHEDULING\x10\x18*N\n\x16HwSecurityModuleStatus\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0c\n\x08NOTFOUND\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\x12\x0b\n\x07\x45NABLED\x10\x03*\x88\x01\n\x13\x44\x61taSecAtRestStatus\x12\x1b\n\x17\x44\x41TASEC_AT_REST_UNKNOWN\x10\x00\x12\x1c\n\x18\x44\x41TASEC_AT_REST_DISABLED\x10\x01\x12\x1b\n\x17\x44\x41TASEC_AT_REST_ENABLED\x10\x02\x12\x19\n\x15\x44\x41TASEC_AT_REST_ERROR\x10\x04*?\n\tPCRStatus\x12\x0f\n\x0bPCR_UNKNOWN\x10\x00\x12\x0f\n\x0bPCR_ENABLED\x10\x01\x12\x10\n\x0cPCR_DISABLED\x10\x02*M\n\x07SimType\x12\x18\n\x14SIM_TYPE_UNSPECIFIED\x10\x00\x12\x15\n\x11SIM_TYPE_PHYSICAL\x10\x01\x12\x11\n\rSIM_TYPE_ESIM\x10\x02*\xa0\x02\n\x17ZCellularOperatingState\x12*\n&Z_CELLULAR_OPERATING_STATE_UNSPECIFIED\x10\x00\x12&\n\"Z_CELLULAR_OPERATING_STATE_OFFLINE\x10\x01\x12(\n$Z_CELLULAR_OPERATING_STATE_RADIO_OFF\x10\x02\x12%\n!Z_CELLULAR_OPERATING_STATE_ONLINE\x10\x03\x12\x33\n/Z_CELLULAR_OPERATING_STATE_ONLINE_AND_CONNECTED\x10\x04\x12+\n\'Z_CELLULAR_OPERATING_STATE_UNRECOGNIZED\x10\x05*\x92\x01\n\x18ZCellularControlProtocol\x12+\n\'Z_CELLULAR_CONTROL_PROTOCOL_UNSPECIFIED\x10\x00\x12#\n\x1fZ_CELLULAR_CONTROL_PROTOCOL_QMI\x10\x01\x12$\n Z_CELLULAR_CONTROL_PROTOCOL_MBIM\x10\x02*\xb1\x02\n\x0cZDeviceState\x12\x1d\n\x19ZDEVICE_STATE_UNSPECIFIED\x10\x00\x12\x18\n\x14ZDEVICE_STATE_ONLINE\x10\x01\x12\x1b\n\x17ZDEVICE_STATE_REBOOTING\x10\x02\x12\"\n\x1eZDEVICE_STATE_MAINTENANCE_MODE\x10\x03\x12!\n\x1dZDEVICE_STATE_BASEOS_UPDATING\x10\x04\x12\x19\n\x15ZDEVICE_STATE_BOOTING\x10\x05\x12$\n ZDEVICE_STATE_PREPARING_POWEROFF\x10\x06\x12\x1e\n\x1aZDEVICE_STATE_POWERING_OFF\x10\x07\x12#\n\x1fZDEVICE_STATE_PREPARED_POWEROFF\x10\x08*\xf5\x01\n\rStorageStatus\x12\x1e\n\x1aSTORAGE_STATUS_UNSPECIFIED\x10\x00\x12\x19\n\x15STORAGE_STATUS_ONLINE\x10\x01\x12\x1b\n\x17STORAGE_STATUS_DEGRADED\x10\x02\x12\x1a\n\x16STORAGE_STATUS_FAULTED\x10\x03\x12\x1a\n\x16STORAGE_STATUS_OFFLINE\x10\x04\x12\x1a\n\x16STORAGE_STATUS_UNAVAIL\x10\x05\x12\x1a\n\x16STORAGE_STATUS_REMOVED\x10\x06\x12\x1c\n\x18STORAGE_STATUS_SUSPENDED\x10\x07*\xe3\x01\n\x0fStorageRaidType\x12!\n\x1dSTORAGE_RAID_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\x17STORAGE_RAID_TYPE_RAID0\x10\x01\x12\x1b\n\x17STORAGE_RAID_TYPE_RAID1\x10\x02\x12\x1b\n\x17STORAGE_RAID_TYPE_RAID5\x10\x03\x12\x1b\n\x17STORAGE_RAID_TYPE_RAID6\x10\x04\x12\x1b\n\x17STORAGE_RAID_TYPE_RAID7\x10\x05\x12\x1c\n\x18STORAGE_RAID_TYPE_NORAID\x10\x06*k\n\x0fStorageTypeInfo\x12!\n\x1dSTORAGE_TYPE_INFO_UNSPECIFIED\x10\x00\x12\x1a\n\x16STORAGE_TYPE_INFO_EXT4\x10\x01\x12\x19\n\x15STORAGE_TYPE_INFO_ZFS\x10\x02*\xb0\x07\n\rAPICapability\x12\x1e\n\x1a\x41PI_CAPABILITY_UNSPECIFIED\x10\x00\x12\x1f\n\x1b\x41PI_CAPABILITY_RETRY_UPDATE\x10\x01\x12\x1b\n\x17\x41PI_CAPABILITY_SHUTDOWN\x10\x02\x12)\n%API_CAPABILITY_START_DELAY_IN_SECONDS\x10\x03\x12\x1b\n\x17\x41PI_CAPABILITY_EDGEVIEW\x10\x04\x12#\n\x1f\x41PI_CAPABILITY_VOLUME_SNAPSHOTS\x10\x05\x12+\n\'API_CAPABILITY_NETWORK_INSTANCE_ROUTING\x10\x06\x12\x1c\n\x18\x41PI_CAPABILITY_BOOT_MODE\x10\x07\x12\x16\n\x12\x41PI_CAPABILITY_MTU\x10\x08\x12&\n\"API_CAPABILITY_ADAPTER_USER_LABELS\x10\t\x12/\n+API_CAPABILITY_ENFORCED_NET_INTERFACE_ORDER\x10\n\x12\x1c\n\x18\x41PI_CAPABILITY_NTPS_FQDN\x10\x0b\x12&\n\"API_CAPABILITY_WIN_LIC_PASSTHROUGH\x10\x0c\x12-\n)API_CAPABILITY_VOLUME_SNAPSHOTS_IMMEDIATE\x10\r\x12+\n\'API_CAPABILITY_ENCRYPTED_PATCH_ENVELOPE\x10\x0e\x12*\n&API_CAPABILITY_SINGLE_STACK_IP_NETWORK\x10\x0f\x12)\n%API_CAPABILITY_CELLULAR_ATTACH_CONFIG\x10\x10\x12*\n&API_CAPABILITY_EDGEVIEW_AUTHENTICATION\x10\x11\x12\x1f\n\x1b\x41PI_CAPABILITY_DISABLE_VTPM\x10\x12\x12*\n&API_CAPABILITY_LOC_REBOOT_COLLECT_INFO\x10\x13\x12\x1f\n\x1b\x41PI_CAPABILITY_SMART_REPORT\x10\x14\x12&\n\"API_CAPABILITY_REPORT_TPM_EVENTLOG\x10\x15\x12\x34\n0API_CAPABILITY_APP_INSTANCE_NET_INTERFACE_CHANGE\x10\x16\x12\'\n#API_CAPABILITY_CPU_PLACEMENT_POLICY\x10\x17*\xb9\x03\n\nBootReason\x12\x1b\n\x17\x42OOT_REASON_UNSPECIFIED\x10\x00\x12\x15\n\x11\x42OOT_REASON_FIRST\x10\x01\x12\x1a\n\x16\x42OOT_REASON_REBOOT_CMD\x10\x02\x12\x16\n\x12\x42OOT_REASON_UPDATE\x10\x03\x12\x18\n\x14\x42OOT_REASON_FALLBACK\x10\x04\x12\x1a\n\x16\x42OOT_REASON_DISCONNECT\x10\x05\x12\x15\n\x11\x42OOT_REASON_FATAL\x10\x06\x12\x13\n\x0f\x42OOT_REASON_OOM\x10\x07\x12\x1d\n\x19\x42OOT_REASON_WATCHDOG_HUNG\x10\x08\x12\x1c\n\x18\x42OOT_REASON_WATCHDOG_PID\x10\t\x12\x16\n\x12\x42OOT_REASON_KERNEL\x10\n\x12\x1a\n\x16\x42OOT_REASON_POWER_FAIL\x10\x0b\x12\x17\n\x13\x42OOT_REASON_UNKNOWN\x10\x0c\x12\x1c\n\x18\x42OOT_REASON_VAULT_FAILED\x10\r\x12\x1c\n\x18\x42OOT_REASON_POWEROFF_CMD\x10\x0e\x12\x1b\n\x16\x42OOT_REASON_PARSE_FAIL\x10\xff\x01*\xd6\x02\n\x15MaintenanceModeReason\x12 \n\x1cMAINTENANCE_MODE_REASON_NONE\x10\x00\x12*\n&MAINTENANCE_MODE_REASON_USER_REQUESTED\x10\x01\x12+\n\'MAINTENANCE_MODE_REASON_VAULT_LOCKED_UP\x10\x02\x12*\n&MAINTENANCE_MODE_REASON_LOW_DISK_SPACE\x10\x03\x12\x32\n.MAINTENANCE_MODE_REASON_TPM_ENCRYPTION_FAILURE\x10\x04\x12-\n)MAINTENANCE_MODE_REASON_TPM_QUOTE_FAILURE\x10\x05\x12\x33\n/MAINTENANCE_MODE_REASON_EDGE_NODE_CERTS_REFUSED\x10\x06*\xb5\x02\n\x10\x41ttestationState\x12!\n\x1d\x41TTESTATION_STATE_UNSPECIFIED\x10\x00\x12 \n\x1c\x41TTESTATION_STATE_NONCE_WAIT\x10\x01\x12$\n ATTESTATION_STATE_TPM_QUOTE_WAIT\x10\x02\x12%\n!ATTESTATION_STATE_TPM_ESCROW_WAIT\x10\x03\x12!\n\x1d\x41TTESTATION_STATE_ATTEST_WAIT\x10\x04\x12(\n$ATTESTATION_STATE_ATTEST_ESCROW_WAIT\x10\x05\x12\"\n\x1e\x41TTESTATION_STATE_RESTART_WAIT\x10\x06\x12\x1e\n\x1a\x41TTESTATION_STATE_COMPLETE\x10\x07*\x8b\x01\n\x13\x41ppInstMetaDataType\x12 \n\x1c\x41PP_INST_META_DATA_TYPE_NONE\x10\x00\x12\'\n#APP_INST_META_DATA_TYPE_KUBE_CONFIG\x10\x01\x12)\n%APP_INST_META_DATA_TYPE_CUSTOM_STATUS\x10\x02*a\n\x0cWirelessType\x12\x1d\n\x19WIRELESS_TYPE_UNSPECIFIED\x10\x00\x12\x16\n\x12WIRELESS_TYPE_WIFI\x10\x01\x12\x1a\n\x16WIRELESS_TYPE_CELLULAR\x10\x02*q\n\x0c\x42\x61seOsStatus\x12\x08\n\x04NONE\x10\x00\x12\x0f\n\x0b\x44OWNLOADING\x10\x01\x12\x11\n\rDOWNLOAD_DONE\x10\x02\x12\x0c\n\x08UPDATING\x10\x03\x12\x0b\n\x07UPDATED\x10\x04\x12\x0c\n\x08\x46\x41LLBACK\x10\x05\x12\n\n\x06\x46\x41ILED\x10\x06*\xcb\x01\n\x0f\x42\x61seOsSubStatus\x12\x12\n\x0eNONE_SUBSTATUS\x10\x00\x12\x17\n\x13\x44OWNLOAD_INPROGRESS\x10\x01\x12\x15\n\x11VERIFY_INPROGRESS\x10\x02\x12\x17\n\x13UPDATE_INITIALIZING\x10\x03\x12\x14\n\x10UPDATE_REBOOTING\x10\x04\x12\x12\n\x0eUPDATE_TESTING\x10\x05\x12\x1c\n\x18UPDATE_NEED_TEST_CONFIRM\x10\x06\x12\x13\n\x0fUPDATE_DEFERRED\x10\x07*h\n\x0cSnapshotType\x12\x1d\n\x19SNAPSHOT_TYPE_UNSPECIFIED\x10\x00\x12\x1c\n\x18SNAPSHOT_TYPE_APP_UPDATE\x10\x01\x12\x1b\n\x17SNAPSHOT_TYPE_IMMEDIATE\x10\x02*\xb8\x01\n\x16ZInfoClusterNodeStatus\x12*\n&Z_INFO_CLUSTER_NODE_STATUS_UNSPECIFIED\x10\x00\x12$\n Z_INFO_CLUSTER_NODE_STATUS_READY\x10\x01\x12\'\n#Z_INFO_CLUSTER_NODE_STATUS_NOTREADY\x10\x02\x12#\n\x1fZ_INFO_CLUSTER_NODE_STATUS_DOWN\x10\x03*\x8f\x01\n\rZInfoVpnState\x12\x0f\n\x0bVPN_INVALID\x10\x00\x12\x0f\n\x0bVPN_INITIAL\x10\x01\x12\x12\n\x0eVPN_CONNECTING\x10\x02\x12\x13\n\x0fVPN_ESTABLISHED\x10\x03\x12\x11\n\rVPN_INSTALLED\x10\x04\x12\x0f\n\x0bVPN_REKEYED\x10\x05\x12\x0f\n\x0bVPN_DELETED\x10\n*\x85\x01\n\x15ZNetworkInstanceState\x12\x1e\n\x1aZNETINST_STATE_UNSPECIFIED\x10\x00\x12\x17\n\x13ZNETINST_STATE_INIT\x10\x01\x12\x19\n\x15ZNETINST_STATE_ONLINE\x10\x02\x12\x18\n\x14ZNETINST_STATE_ERROR\x10\x03*\x9e\x01\n\x0eLocReliability\x12\x1f\n\x1bLOC_RELIABILITY_UNSPECIFIED\x10\x00\x12\x1c\n\x18LOC_RELIABILITY_VERY_LOW\x10\x01\x12\x17\n\x13LOC_RELIABILITY_LOW\x10\x02\x12\x1a\n\x16LOC_RELIABILITY_MEDIUM\x10\x03\x12\x18\n\x14LOC_RELIABILITY_HIGH\x10\x04\x42\x39\n\x13org.lfedge.eve.infoZ\"github.com/lf-edge/eve-api/go/infob\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0finfo/info.proto\x12\x13org.lfedge.eve.info\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1e\x65vecommon/devmodelcommon.proto\x1a\x19\x65vecommon/evecommon.proto\x1a\x16\x65vecommon/netcmn.proto\x1a\x19info/patch_envelope.proto\x1a\x15info/ntpsources.proto\x1a\x1cinfo/edge_node_cluster.proto\x1a\x13info/hardware.proto\x1a\x0finfo/bond.proto\x1a\x0finfo/pnac.proto\x1a\x0finfo/cert.proto\x1a\x11info/common.proto\"\x93\x01\n\tSmartAttr\x12\n\n\x02id\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\x04\x12\r\n\x05worst\x18\x03 \x01(\x04\x12\x0e\n\x06thresh\x18\x04 \x01(\x04\x12\x13\n\x0bwhen_failed\x18\x05 \x01(\t\x12\x11\n\traw_value\x18\x06 \x01(\x04\x12\x0c\n\x04type\x18\x07 \x01(\t\x12\x16\n\x0e\x61ttribute_name\x18\x08 \x01(\t\"\xab\x01\n\x0fStorageDiskInfo\x12\x11\n\tdisk_name\x18\x01 \x01(\t\x12\x0b\n\x03wwn\x18\x04 \x01(\t\x12\x15\n\rserial_number\x18\x05 \x01(\t\x12\r\n\x05model\x18\x06 \x01(\t\x12\x18\n\x10\x63ollector_errors\x18\x07 \x01(\t\x12\x32\n\nsmart_attr\x18\x08 \x03(\x0b\x32\x1e.org.lfedge.eve.info.SmartAttrJ\x04\x08\x03\x10\x04\"\xdc\x01\n\x14\x64\x65precatedMetricItem\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x34\n\x04type\x18\x02 \x01(\x0e\x32&.org.lfedge.eve.info.DepMetricItemType\x12\x13\n\tboolValue\x18\x03 \x01(\x08H\x00\x12\x15\n\x0buint32Value\x18\x04 \x01(\rH\x00\x12\x15\n\x0buint64Value\x18\x05 \x01(\x04H\x00\x12\x14\n\nfloatValue\x18\x06 \x01(\x02H\x00\x12\x15\n\x0bstringValue\x18\x07 \x01(\tH\x00\x42\x11\n\x0fmetricItemValue\">\n\x15ZmetIPAssignmentEntry\x12\x12\n\nmacAddress\x18\x01 \x01(\t\x12\x11\n\tipAddress\x18\x02 \x03(\t\"A\n\x0bZmetVifInfo\x12\x0f\n\x07vifName\x18\x01 \x01(\t\x12\x12\n\nmacAddress\x18\x02 \x01(\t\x12\r\n\x05\x61ppID\x18\x03 \x01(\t\"\xa5\x02\n\tZioBundle\x12.\n\x04type\x18\x01 \x01(\x0e\x32 .org.lfedge.eve.common.PhyIoType\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07members\x18\x03 \x03(\t\x12\x15\n\rusedByAppUUID\x18\x04 \x01(\t\x12\x14\n\x0cusedByBaseOS\x18\x05 \x01(\x08\x12\x37\n\rioAddressList\x18\x06 \x03(\x0b\x32 .org.lfedge.eve.info.IoAddresses\x12\x36\n\x05usage\x18\x07 \x01(\x0e\x32\'.org.lfedge.eve.common.PhyIoMemberUsage\x12+\n\x03\x65rr\x18\x08 \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\"X\n\x0bIoAddresses\x12\x12\n\nmacAddress\x18\x01 \x01(\t\x12\x35\n\x07vf_info\x18\x02 \x01(\x0b\x32$.org.lfedge.eve.info.VfPublishedInfo\"1\n\x0fVfPublishedInfo\x12\r\n\x05index\x18\x01 \x01(\r\x12\x0f\n\x07vlan_id\x18\x02 \x01(\r\"\xc9\x01\n\x11ZInfoManufacturer\x12\x14\n\x0cmanufacturer\x18\x01 \x01(\t\x12\x13\n\x0bproductName\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\t\x12\x14\n\x0cserialNumber\x18\x04 \x01(\t\x12\x0c\n\x04UUID\x18\x05 \x01(\t\x12\x12\n\ncompatible\x18\x06 \x01(\t\x12\x12\n\nbiosVendor\x18\x07 \x01(\t\x12\x13\n\x0b\x62iosVersion\x18\x08 \x01(\t\x12\x17\n\x0f\x62iosReleaseDate\x18\t \x01(\t\"\x8c\x03\n\x0cZInfoNetwork\x12\x0f\n\x07macAddr\x18\x03 \x01(\t\x12\x0f\n\x07\x64\x65vName\x18\x04 \x01(\t\x12\r\n\x05\x61lias\x18( \x01(\t\x12\x0f\n\x07IPAddrs\x18\x05 \x03(\t\x12\x16\n\x0e\x64\x65\x66\x61ultRouters\x18\x06 \x03(\t\x12*\n\x03\x64ns\x18\x07 \x01(\x0b\x32\x1d.org.lfedge.eve.info.ZInfoDNS\x12\x0f\n\x07ipv4_up\x18\x08 \x01(\x08\x12-\n\x08location\x18\t \x01(\x0b\x32\x1b.org.lfedge.eve.info.GeoLoc\x12\x0e\n\x06uplink\x18\n \x01(\x08\x12\x32\n\nnetworkErr\x18\x0b \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12\x11\n\tlocalName\x18\x0c \x01(\t\x12/\n\x05proxy\x18\r \x01(\x0b\x32 .org.lfedge.eve.info.ProxyStatus\x12\x19\n\x11ip_addr_mis_match\x18\x0e \x01(\x08\x12\x13\n\x0bntp_servers\x18\x0f \x03(\t\"\x87\x01\n\x06GeoLoc\x12\x12\n\nUnderlayIP\x18\x01 \x01(\t\x12\x10\n\x08Hostname\x18\x02 \x01(\t\x12\x0c\n\x04\x43ity\x18\x03 \x01(\t\x12\x0e\n\x06Region\x18\x04 \x01(\t\x12\x0f\n\x07\x43ountry\x18\x05 \x01(\t\x12\x0b\n\x03Loc\x18\x06 \x01(\t\x12\x0b\n\x03Org\x18\x07 \x01(\t\x12\x0e\n\x06Postal\x18\x08 \x01(\t\"D\n\x08ZInfoDNS\x12\x12\n\nDNSservers\x18\x01 \x03(\t\x12\x11\n\tDNSdomain\x18\x02 \x01(\t\x12\x11\n\tDNSsearch\x18\x03 \x03(\t\"\xa5\x01\n\x07ZInfoSW\x12\x11\n\tswVersion\x18\x02 \x01(\t\x12\x0e\n\x06swHash\x18\x03 \x01(\t\x12,\n\x05state\x18\x04 \x01(\x0e\x32\x1d.org.lfedge.eve.info.ZSwState\x12\x0e\n\x06target\x18\x06 \x01(\t\x12\x0c\n\x04vdev\x18\x07 \x01(\t\x12\x18\n\x10\x64ownloadProgress\x18\x08 \x01(\r\x12\x11\n\timageName\x18\t \x01(\t\"\xb8\x01\n\tVaultInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x38\n\x06status\x18\x02 \x01(\x0e\x32(.org.lfedge.eve.info.DataSecAtRestStatus\x12\x30\n\x08vaultErr\x18\x03 \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12\x31\n\tpcrStatus\x18\x04 \x01(\x0e\x32\x1e.org.lfedge.eve.info.PCRStatus\"\x8a\x01\n\rDataSecAtRest\x12\x38\n\x06status\x18\x01 \x01(\x0e\x32(.org.lfedge.eve.info.DataSecAtRestStatus\x12\x0c\n\x04info\x18\x02 \x01(\t\x12\x31\n\tvaultList\x18\x03 \x03(\x0b\x32\x1e.org.lfedge.eve.info.VaultInfo\"<\n\x0cSecurityInfo\x12\x13\n\x0bsha_root_ca\x18\x01 \x01(\x0c\x12\x17\n\x0fsha_tls_root_ca\x18\x02 \x01(\x0c\"/\n\x0fZInfoConfigItem\x12\r\n\x05value\x18\x01 \x01(\t\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\x84\x03\n\x15ZInfoConfigItemStatus\x12P\n\x0b\x63onfigItems\x18\x01 \x03(\x0b\x32;.org.lfedge.eve.info.ZInfoConfigItemStatus.ConfigItemsEntry\x12^\n\x12unknownConfigItems\x18\x02 \x03(\x0b\x32\x42.org.lfedge.eve.info.ZInfoConfigItemStatus.UnknownConfigItemsEntry\x1aX\n\x10\x43onfigItemsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x33\n\x05value\x18\x02 \x01(\x0b\x32$.org.lfedge.eve.info.ZInfoConfigItem:\x02\x38\x01\x1a_\n\x17UnknownConfigItemsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x33\n\x05value\x18\x02 \x01(\x0b\x32$.org.lfedge.eve.info.ZInfoConfigItem:\x02\x38\x01\"B\n\x10ZInfoAppInstance\x12\x0c\n\x04uuid\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\ndomainName\x18\x03 \x01(\t\"3\n\x10ZInfoDeviceTasks\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tnamespace\x18\x02 \x01(\t\"\xc1\x01\n\x0cZSimcardInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10\x63\x65ll_module_name\x18\x02 \x01(\t\x12\x0c\n\x04imsi\x18\x03 \x01(\t\x12\r\n\x05iccid\x18\x04 \x01(\t\x12\r\n\x05state\x18\x06 \x01(\t\x12\x13\n\x0bslot_number\x18\x07 \x01(\r\x12\x16\n\x0eslot_activated\x18\x08 \x01(\x08\x12*\n\x04type\x18\t \x01(\x0e\x32\x1c.org.lfedge.eve.info.SimTypeJ\x04\x08\x05\x10\x06\"\x80\x02\n\x13ZCellularModuleInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04imei\x18\x02 \x01(\t\x12\x18\n\x10\x66irmware_version\x18\x03 \x01(\t\x12\r\n\x05model\x18\x04 \x01(\t\x12\x45\n\x0foperating_state\x18\x05 \x01(\x0e\x32,.org.lfedge.eve.info.ZCellularOperatingState\x12G\n\x10\x63ontrol_protocol\x18\x06 \x01(\x0e\x32-.org.lfedge.eve.info.ZCellularControlProtocol\x12\x14\n\x0cmanufacturer\x18\x07 \x01(\t\"s\n\x11ZCellularProvider\x12\x0c\n\x04plmn\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x17\n\x0f\x63urrent_serving\x18\x03 \x01(\x08\x12\x0f\n\x07roaming\x18\x04 \x01(\x08\x12\x11\n\tforbidden\x18\x05 \x01(\x08\"\xec\x01\n\x0e\x43\x65llularBearer\x12\x0b\n\x03\x61pn\x18\x01 \x01(\t\x12\x36\n\x0b\x62\x65\x61rer_type\x18\x02 \x01(\x0e\x32!.org.lfedge.eve.common.BearerType\x12\x36\n\x07ip_type\x18\x03 \x01(\x0e\x32%.org.lfedge.eve.common.CellularIPType\x12\x11\n\tconnected\x18\x04 \x01(\x08\x12\x18\n\x10\x63onnection_error\x18\x05 \x01(\t\x12\x30\n\x0c\x63onnected_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xbc\x01\n\x0f\x43\x65llularProfile\x12\x14\n\x0cprofile_name\x18\x01 \x01(\t\x12\x0b\n\x03\x61pn\x18\x02 \x01(\t\x12\x36\n\x0b\x62\x65\x61rer_type\x18\x03 \x01(\x0e\x32!.org.lfedge.eve.common.BearerType\x12\x36\n\x07ip_type\x18\x04 \x01(\x0e\x32%.org.lfedge.eve.common.CellularIPType\x12\x16\n\x0e\x66orbid_roaming\x18\x05 \x01(\x08\"\xa6\x01\n\x10StorageDiskState\x12\x39\n\tdisk_name\x18\x01 \x01(\x0b\x32&.org.lfedge.eve.common.DiskDescription\x12\x32\n\x06status\x18\x02 \x01(\x0e\x32\".org.lfedge.eve.info.StorageStatus\x12\r\n\x05state\x18\x03 \x01(\t\x12\x14\n\x0csmart_status\x18\x04 \x01(\t\"\xe2\x01\n\x0fStorageChildren\x12:\n\x0c\x63urrent_raid\x18\x01 \x01(\x0e\x32$.org.lfedge.eve.info.StorageRaidType\x12\x34\n\x05\x64isks\x18\x02 \x03(\x0b\x32%.org.lfedge.eve.info.StorageDiskState\x12\x36\n\x08\x63hildren\x18\x03 \x03(\x0b\x32$.org.lfedge.eve.info.StorageChildren\x12\x14\n\x0c\x64isplay_name\x18\x04 \x01(\t\x12\x0f\n\x07g_u_i_d\x18\x05 \x01(\x04\"\xcd\x03\n\x0bStorageInfo\x12\x11\n\tpool_name\x18\x01 \x01(\t\x12:\n\x0cstorage_type\x18\x02 \x01(\x0e\x32$.org.lfedge.eve.info.StorageTypeInfo\x12\x13\n\x0bzfs_version\x18\x03 \x01(\t\x12:\n\x0c\x63urrent_raid\x18\x04 \x01(\x0e\x32$.org.lfedge.eve.info.StorageRaidType\x12\x19\n\x11\x63ompression_ratio\x18\x05 \x01(\x01\x12\x12\n\nzpool_size\x18\x06 \x01(\x04\x12\x13\n\x0b\x63ount_zvols\x18\x07 \x01(\r\x12\x39\n\rstorage_state\x18\x08 \x01(\x0e\x32\".org.lfedge.eve.info.StorageStatus\x12\x34\n\x05\x64isks\x18\t \x03(\x0b\x32%.org.lfedge.eve.info.StorageDiskState\x12\x18\n\x10\x63ollector_errors\x18\n \x01(\t\x12\x36\n\x08\x63hildren\x18\x0b \x03(\x0b\x32$.org.lfedge.eve.info.StorageChildren\x12\x17\n\x0fpool_status_msg\x18\x0c \x01(\t\"\xe2\x01\n\x12\x43PUPoolUtilization\x12.\n\x04kind\x18\x01 \x01(\x0e\x32 .org.lfedge.eve.info.CPUPoolKind\x12\x0f\n\x07\x63pu_ids\x18\x02 \x03(\r\x12\x14\n\x0c\x66ree_cpu_ids\x18\x03 \x03(\r\x12\x15\n\rtotal_threads\x18\x04 \x01(\r\x12\x19\n\x11\x61llocated_threads\x18\x05 \x01(\r\x12\x14\n\x0c\x66ree_threads\x18\x06 \x01(\r\x12\x13\n\x0btotal_cores\x18\x07 \x01(\r\x12\x18\n\x10\x66ree_whole_cores\x18\x08 \x01(\r\"\xa2\x12\n\x0bZInfoDevice\x12\x13\n\x0bmachineArch\x18\x04 \x01(\t\x12\x0f\n\x07\x63puArch\x18\x05 \x01(\t\x12\x10\n\x08platform\x18\x06 \x01(\t\x12\x0c\n\x04ncpu\x18\x07 \x01(\r\x12\x0e\n\x06memory\x18\x08 \x01(\x04\x12\x0f\n\x07storage\x18\t \x01(\x04\x12\x19\n\x11powerCycleCounter\x18\n \x01(\x03\x12\x35\n\x05minfo\x18\x0b \x01(\x0b\x32&.org.lfedge.eve.info.ZInfoManufacturer\x12\x32\n\x07network\x18\r \x03(\x0b\x32!.org.lfedge.eve.info.ZInfoNetwork\x12:\n\x12\x61ssignableAdapters\x18\x0f \x03(\x0b\x32\x1e.org.lfedge.eve.info.ZioBundle\x12*\n\x03\x64ns\x18\x10 \x01(\x0b\x32\x1d.org.lfedge.eve.info.ZInfoDNS\x12\x36\n\x0bstorageList\x18\x11 \x03(\x0b\x32!.org.lfedge.eve.info.ZInfoStorage\x12,\n\x08\x62ootTime\x18\x12 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x06swList\x18\x13 \x03(\x0b\x32\x1f.org.lfedge.eve.info.ZInfoDevSW\x12\x10\n\x08HostName\x18\x14 \x01(\t\x12>\n\x0bmetricItems\x18\x15 \x03(\x0b\x32).org.lfedge.eve.info.deprecatedMetricItem\x12\x18\n\x10lastRebootReason\x18\x16 \x01(\t\x12\x32\n\x0elastRebootTime\x18\x17 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12=\n\rsystemAdapter\x18\x18 \x01(\x0b\x32&.org.lfedge.eve.info.SystemAdapterInfo\x12\x16\n\x0erestartCounter\x18\x19 \x01(\r\x12>\n\tHSMStatus\x18\x1a \x01(\x0e\x32+.org.lfedge.eve.info.HwSecurityModuleStatus\x12\x0f\n\x07HSMInfo\x18\x1b \x01(\t\x12\x17\n\x0flastRebootStack\x18\x1c \x01(\t\x12=\n\x11\x64\x61taSecAtRestInfo\x18\x1d \x01(\x0b\x32\".org.lfedge.eve.info.DataSecAtRest\x12\x33\n\x08sec_info\x18\x1e \x01(\x0b\x32!.org.lfedge.eve.info.SecurityInfo\x12\x44\n\x10\x63onfigItemStatus\x18\x1f \x01(\x0b\x32*.org.lfedge.eve.info.ZInfoConfigItemStatus\x12;\n\x0c\x61ppInstances\x18 \x03(\x0b\x32%.org.lfedge.eve.info.ZInfoAppInstance\x12\x1b\n\x13rebootConfigCounter\x18! \x01(\r\x12\x39\n\x10last_boot_reason\x18\" \x01(\x0e\x32\x1f.org.lfedge.eve.info.BootReason\x12=\n\x0b\x63\x65ll_radios\x18# \x03(\x0b\x32(.org.lfedge.eve.info.ZCellularModuleInfo\x12/\n\x04sims\x18$ \x03(\x0b\x32!.org.lfedge.eve.info.ZSimcardInfo\x12\x34\n\x05tasks\x18% \x03(\x0b\x32%.org.lfedge.eve.info.ZInfoDeviceTasks\x12\x18\n\x10maintenance_mode\x18& \x01(\x08\x12O\n\x17maintenance_mode_reason\x18\' \x01(\x0e\x32*.org.lfedge.eve.info.MaintenanceModeReasonB\x02\x18\x01\x12!\n\x19hardware_watchdog_present\x18( \x01(\x08\x12\x19\n\x11reboot_inprogress\x18) \x01(\x08\x12\x37\n\x0c\x63\x61pabilities\x18* \x01(\x0b\x32!.org.lfedge.eve.info.Capabilities\x12\x1d\n\x15\x62\x61seos_update_counter\x18+ \x01(\r\x12\x30\n\x05state\x18, \x01(\x0e\x32!.org.lfedge.eve.info.ZDeviceState\x12\x15\n\rlocal_profile\x18- \x01(\t\x12L\n\x18maintenance_mode_reasons\x18. \x03(\x0e\x32*.org.lfedge.eve.info.MaintenanceModeReason\x12\x18\n\x0c\x64ormant_time\x18/ \x01(\tB\x02\x18\x01\x12\x36\n\x0cstorage_info\x18\x30 \x03(\x0b\x32 .org.lfedge.eve.info.StorageInfo\x12\x1f\n\x17shutdown_config_counter\x18\x31 \x01(\r\x12>\n\x10\x61ttestation_info\x18\x32 \x01(\x0b\x32$.org.lfedge.eve.info.AttestationInfo\x12:\n\x0e\x61pi_capability\x18\x33 \x01(\x0e\x32\".org.lfedge.eve.info.APICapability\x12\x1e\n\x16remote_access_disabled\x18\x34 \x01(\x08\x12H\n\x15optional_capabilities\x18\x35 \x01(\x0b\x32).org.lfedge.eve.info.OptionalCapabilities\x12\x13\n\x0b\x64\x65vice_name\x18\x36 \x01(\t\x12\x17\n\x0f\x65nterprise_name\x18\x37 \x01(\t\x12\x15\n\renterprise_id\x18\x38 \x01(\t\x12\x14\n\x0cproject_name\x18\x39 \x01(\t\x12\x12\n\nproject_id\x18: \x01(\t\x12\x35\n\x0e\x65nrolled_certs\x18< \x03(\x0b\x32\x1d.org.lfedge.eve.info.CertInfo\x12:\n\tcpu_pools\x18= \x03(\x0b\x32\'.org.lfedge.eve.info.CPUPoolUtilization\"\x84\x01\n\x14OptionalCapabilities\x12\x18\n\x10hv_type_kubevirt\x18\x01 \x01(\x08\x12\x1c\n\x14hw_inventory_support\x18\x02 \x01(\x08\x12\x15\n\retcd_snapshot\x18\x03 \x01(\x08\x12\x1d\n\x15managed_cpu_isolation\x18\x04 \x01(\x08\"v\n\x0f\x41ttestationInfo\x12\x34\n\x05state\x18\x01 \x01(\x0e\x32%.org.lfedge.eve.info.AttestationState\x12-\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\"`\n\x11SystemAdapterInfo\x12\x14\n\x0c\x63urrentIndex\x18\x01 \x01(\r\x12\x35\n\x06status\x18\x02 \x03(\x0b\x32%.org.lfedge.eve.info.DevicePortStatus\"\x88\x02\n\x10\x44\x65vicePortStatus\x12\x0f\n\x07version\x18\x01 \x01(\r\x12\x0b\n\x03key\x18\x02 \x01(\t\x12\x30\n\x0ctimePriority\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nlastFailed\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x31\n\rlastSucceeded\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\x05ports\x18\x06 \x03(\x0b\x32\x1f.org.lfedge.eve.info.DevicePort\x12\x11\n\tlastError\x18\x07 \x01(\t\"\xce\x06\n\nDevicePort\x12\x0e\n\x06ifname\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06isMgmt\x18\x03 \x01(\x08\x12\x0c\n\x04\x66ree\x18\x04 \x01(\x08\x12\x10\n\x08\x64hcpType\x18\x0b \x01(\r\x12\x0e\n\x06subnet\x18\x0c \x01(\t\x12\x0f\n\x07gateway\x18\r \x01(\t\x12\x12\n\ndomainname\x18\x0e \x01(\t\x12\x11\n\tntpServer\x18\x0f \x01(\t\x12\x18\n\x10more_ntp_servers\x18# \x03(\t\x12\x12\n\ndnsServers\x18\x10 \x03(\t\x12\x14\n\x0c\x64hcpRangeLow\x18\x11 \x01(\t\x12\x15\n\rdhcpRangeHigh\x18\x12 \x01(\t\x12/\n\x05proxy\x18\x15 \x01(\x0b\x32 .org.lfedge.eve.info.ProxyStatus\x12\x0f\n\x07macAddr\x18\x16 \x01(\t\x12\x0f\n\x07IPAddrs\x18\x17 \x03(\t\x12\x16\n\x0e\x64\x65\x66\x61ultRouters\x18\x18 \x03(\t\x12*\n\x03\x64ns\x18\x19 \x01(\x0b\x32\x1d.org.lfedge.eve.info.ZInfoDNS\x12\n\n\x02up\x18\x1a \x01(\x08\x12-\n\x08location\x18\x1b \x01(\x0b\x32\x1b.org.lfedge.eve.info.GeoLoc\x12+\n\x03\x65rr\x18\x1d \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12\x36\n\x05usage\x18\x1e \x01(\x0e\x32\'.org.lfedge.eve.common.PhyIoMemberUsage\x12\x13\n\x0bnetworkUUID\x18\x1f \x01(\t\x12\x0c\n\x04\x63ost\x18 \x01(\r\x12<\n\x0fwireless_status\x18! \x01(\x0b\x32#.org.lfedge.eve.info.WirelessStatus\x12\x0b\n\x03mtu\x18\" \x01(\r\x12>\n\rconfig_source\x18( \x01(\x0b\x32\'.org.lfedge.eve.common.PortConfigSource\x12\x34\n\x0bpnac_status\x18\x32 \x01(\x0b\x32\x1f.org.lfedge.eve.info.PNACStatus\x12\x34\n\x0b\x62ond_status\x18< \x01(\x0b\x32\x1f.org.lfedge.eve.info.BondStatus\"\xaa\x01\n\x0bProxyStatus\x12\x30\n\x07proxies\x18\x01 \x03(\x0b\x32\x1f.org.lfedge.eve.info.ProxyEntry\x12\x12\n\nexceptions\x18\x02 \x01(\t\x12\x0f\n\x07pacfile\x18\x03 \x01(\t\x12\x1a\n\x12networkProxyEnable\x18\x04 \x01(\x08\x12\x17\n\x0fnetworkProxyURL\x18\x05 \x01(\t\x12\x0f\n\x07wpadURL\x18\x06 \x01(\t\"8\n\nProxyEntry\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x0e\n\x06server\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\r\"y\n\x0eWirelessStatus\x12/\n\x04type\x18\x01 \x01(\x0e\x32!.org.lfedge.eve.info.WirelessType\x12\x36\n\x08\x63\x65llular\x18\x02 \x01(\x0b\x32$.org.lfedge.eve.info.ZCellularStatus\"\x87\x03\n\x0fZCellularStatus\x12\x17\n\x0f\x63\x65llular_module\x18\x01 \x01(\t\x12\x11\n\tsim_cards\x18\x02 \x03(\t\x12\x39\n\tproviders\x18\x03 \x03(\x0b\x32&.org.lfedge.eve.info.ZCellularProvider\x12\x42\n\x0c\x63urrent_rats\x18\x04 \x03(\x0e\x32,.org.lfedge.eve.common.RadioAccessTechnology\x12\x30\n\x0c\x63onnected_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x14\n\x0c\x63onfig_error\x18\n \x01(\t\x12\x13\n\x0bprobe_error\x18\x0b \x01(\t\x12\x34\n\x07\x62\x65\x61rers\x18\x0c \x03(\x0b\x32#.org.lfedge.eve.info.CellularBearer\x12\x36\n\x08profiles\x18\r \x03(\x0b\x32$.org.lfedge.eve.info.CellularProfile\"\xac\x03\n\nZInfoDevSW\x12\x11\n\tactivated\x18\x02 \x01(\x08\x12\x16\n\x0epartitionLabel\x18\x03 \x01(\t\x12\x17\n\x0fpartitionDevice\x18\x04 \x01(\t\x12\x16\n\x0epartitionState\x18\x05 \x01(\t\x12-\n\x06status\x18\x06 \x01(\x0e\x32\x1d.org.lfedge.eve.info.ZSwState\x12\x14\n\x0cshortVersion\x18\x07 \x01(\t\x12\x13\n\x0blongVersion\x18\x08 \x01(\t\x12-\n\x05swErr\x18\t \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12\x18\n\x10\x64ownloadProgress\x18\n \x01(\r\x12\x35\n\nuserStatus\x18\x0b \x01(\x0e\x32!.org.lfedge.eve.info.BaseOsStatus\x12\x14\n\x0csubStatusStr\x18\x0c \x01(\t\x12\x37\n\tsubStatus\x18\r \x01(\x0e\x32$.org.lfedge.eve.info.BaseOsSubStatus\x12\x19\n\x11subStatusProgress\x18\x0e \x01(\r\"\xa3\x01\n\x0cZInfoStorage\x12\x0e\n\x06\x64\x65vice\x18\x01 \x01(\t\x12\x11\n\tmountPath\x18\x02 \x01(\t\x12\r\n\x05total\x18\x03 \x01(\x04\x12\x17\n\x0fstorageLocation\x18\x04 \x01(\x08\x12\x16\n\x0epartitionLabel\x18\x05 \x01(\t\x12\x19\n\x11partitionTypeGuid\x18\x06 \x01(\t\x12\x15\n\rpartitionUuid\x18\x07 \x01(\t\"\xda\x01\n\rZInfoSnapshot\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\tconfig_id\x18\x02 \x01(\t\x12\x16\n\x0e\x63onfig_version\x18\x03 \x01(\t\x12/\n\x0b\x63reate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x04type\x18\x05 \x01(\x0e\x32!.org.lfedge.eve.info.SnapshotType\x12\x30\n\x08snap_err\x18\x06 \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\"T\n\x10ZInfoClusterNode\x12@\n\x0bnode_status\x18\x01 \x01(\x0e\x32+.org.lfedge.eve.info.ZInfoClusterNodeStatus\"\xf3\x03\n\x08ZInfoApp\x12\r\n\x05\x41ppID\x18\x01 \x01(\t\x12\x12\n\nappVersion\x18\x02 \x01(\t\x12\x11\n\tsystemApp\x18\x06 \x01(\x08\x12\x0f\n\x07\x41ppName\x18\x07 \x01(\t\x12\x32\n\x0csoftwareList\x18\x08 \x03(\x0b\x32\x1c.org.lfedge.eve.info.ZInfoSW\x12,\n\x08\x62ootTime\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x38\n\x10\x61ssignedAdapters\x18\r \x03(\x0b\x32\x1e.org.lfedge.eve.info.ZioBundle\x12.\n\x06\x61ppErr\x18\x0e \x03(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12,\n\x05state\x18\x0f \x01(\x0e\x32\x1d.org.lfedge.eve.info.ZSwState\x12\x32\n\x07network\x18\x10 \x03(\x0b\x32!.org.lfedge.eve.info.ZInfoNetwork\x12\x12\n\nvolumeRefs\x18\x11 \x03(\t\x12\x35\n\tsnapshots\x18\x12 \x03(\x0b\x32\".org.lfedge.eve.info.ZInfoSnapshot\x12\x1b\n\x13\x63luster_app_running\x18\x14 \x01(\x08J\x04\x08\t\x10\x0cJ\x04\x08\x13\x10\x14\"D\n\x10ZInfoVpnLinkInfo\x12\r\n\x05spiId\x18\x01 \x01(\t\x12\x0e\n\x06subNet\x18\x02 \x01(\t\x12\x11\n\tdirection\x18\x03 \x01(\x08\"\xf9\x01\n\x0cZInfoVpnLink\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\r\n\x05reqId\x18\x03 \x01(\t\x12\x10\n\x08instTime\x18\x04 \x01(\x04\x12\x0f\n\x07\x65spInfo\x18\x05 \x01(\t\x12\x31\n\x05state\x18\x06 \x01(\x0e\x32\".org.lfedge.eve.info.ZInfoVpnState\x12\x34\n\x05lInfo\x18\n \x01(\x0b\x32%.org.lfedge.eve.info.ZInfoVpnLinkInfo\x12\x34\n\x05rInfo\x18\x0b \x01(\x0b\x32%.org.lfedge.eve.info.ZInfoVpnLinkInfo\"<\n\x10ZInfoVpnEndPoint\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0e\n\x06ipAddr\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\r\"\xa9\x02\n\x0cZInfoVpnConn\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\t\x12\x0f\n\x07\x65stTime\x18\x04 \x01(\x04\x12\x0c\n\x04ikes\x18\x05 \x01(\t\x12\x31\n\x05state\x18\x06 \x01(\x0e\x32\".org.lfedge.eve.info.ZInfoVpnState\x12\x34\n\x05lInfo\x18\x07 \x01(\x0b\x32%.org.lfedge.eve.info.ZInfoVpnEndPoint\x12\x34\n\x05rInfo\x18\x08 \x01(\x0b\x32%.org.lfedge.eve.info.ZInfoVpnEndPoint\x12\x30\n\x05links\x18\n \x03(\x0b\x32!.org.lfedge.eve.info.ZInfoVpnLink\"z\n\x08ZInfoVpn\x12\x0e\n\x06upTime\x18\x01 \x01(\x04\x12\x13\n\x0bpolicyBased\x18\x02 \x01(\x08\x12\x18\n\x10listeningIpAddrs\x18\x03 \x03(\t\x12/\n\x04\x63onn\x18\n \x03(\x0b\x32!.org.lfedge.eve.info.ZInfoVpnConn\"\x9b\x06\n\x14ZInfoNetworkInstance\x12\x11\n\tnetworkID\x18\x02 \x01(\t\x12\x16\n\x0enetworkVersion\x18\x03 \x01(\t\x12\x10\n\x08instType\x18\x05 \x01(\r\x12\x13\n\x0b\x64isplayname\x18\x06 \x01(\t\x12\x11\n\tactivated\x18\x07 \x01(\x08\x12/\n\x0bupTimeStamp\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x32\n\x0csoftwareList\x18\t \x01(\x0b\x32\x1c.org.lfedge.eve.info.ZInfoSW\x12\x1d\n\x11\x43urrentUplinkIntf\x18\n \x01(\tB\x02\x18\x01\x12\x1e\n\x12\x43urrentUplinkAlias\x18\x0b \x01(\tB\x02\x18\x01\x12\r\n\x05ports\x18\x0c \x03(\t\x12\x11\n\tbridgeNum\x18\x14 \x01(\r\x12\x12\n\nbridgeName\x18\x15 \x01(\t\x12\x14\n\x0c\x62ridgeIPAddr\x18\x16 \x01(\t\x12\x41\n\ripAssignments\x18\x17 \x03(\x0b\x32*.org.lfedge.eve.info.ZmetIPAssignmentEntry\x12.\n\x04vifs\x18\x19 \x03(\x0b\x32 .org.lfedge.eve.info.ZmetVifInfo\x12\x0f\n\x07ipv4Eid\x18\x1a \x01(\x08\x12\x38\n\x10\x61ssignedAdapters\x18\x1e \x03(\x0b\x32\x1e.org.lfedge.eve.info.ZioBundle\x12.\n\x05vinfo\x18\x1f \x01(\x0b\x32\x1d.org.lfedge.eve.info.ZInfoVpnH\x00\x12\x32\n\nnetworkErr\x18( \x03(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12\x39\n\x05state\x18) \x01(\x0e\x32*.org.lfedge.eve.info.ZNetworkInstanceState\x12\x0b\n\x03mtu\x18* \x01(\r\x12/\n\tip_routes\x18+ \x03(\x0b\x32\x1c.org.lfedge.eve.info.IPRouteB\r\n\x0bInfoContentJ\x04\x08\x18\x10\x19\"Z\n\x07IPRoute\x12\x1b\n\x13\x64\x65stination_network\x18\x01 \x01(\t\x12\x0f\n\x07gateway\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\t\x12\x13\n\x0bgateway_app\x18\x04 \x01(\t\"\x89\x01\n\tUsageInfo\x12.\n\ncreateTime\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08refCount\x18\x02 \x01(\r\x12:\n\x16lastRefcountChangeTime\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"=\n\x0fVolumeResources\x12\x14\n\x0cmaxSizeBytes\x18\x01 \x01(\x04\x12\x14\n\x0c\x63urSizeBytes\x18\x02 \x01(\x04\"\xaf\x02\n\x0bZInfoVolume\x12\x0c\n\x04uuid\x18\x01 \x01(\t\x12\x13\n\x0b\x64isplayName\x18\x02 \x01(\t\x12-\n\x05usage\x18\x03 \x01(\x0b\x32\x1e.org.lfedge.eve.info.UsageInfo\x12\x37\n\tresources\x18\x04 \x01(\x0b\x32$.org.lfedge.eve.info.VolumeResources\x12,\n\x05state\x18\x05 \x01(\x0e\x32\x1d.org.lfedge.eve.info.ZSwState\x12\x1a\n\x12progressPercentage\x18\x06 \x01(\r\x12\x31\n\tvolumeErr\x18\x07 \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12\x18\n\x10generation_count\x18\x08 \x01(\x03\"(\n\x10\x43ontentResources\x12\x14\n\x0c\x63urSizeBytes\x18\x01 \x01(\x04\"\xd9\x02\n\x10ZInfoContentTree\x12\x0c\n\x04uuid\x18\x01 \x01(\t\x12\x13\n\x0b\x64isplayName\x18\x02 \x01(\t\x12\x0e\n\x06sha256\x18\x03 \x01(\t\x12\x38\n\tresources\x18\x04 \x01(\x0b\x32%.org.lfedge.eve.info.ContentResources\x12-\n\x05usage\x18\x05 \x01(\x0b\x32\x1e.org.lfedge.eve.info.UsageInfo\x12,\n\x05state\x18\x06 \x01(\x0e\x32\x1d.org.lfedge.eve.info.ZSwState\x12\x1a\n\x12progressPercentage\x18\x07 \x01(\r\x12+\n\x03\x65rr\x18\x08 \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12\x18\n\x10\x63omponentShaList\x18\t \x03(\t\x12\x18\n\x10generation_count\x18\n \x01(\x03\"\xfb\x01\n\tZInfoBlob\x12\x0e\n\x06sha256\x18\x01 \x01(\t\x12\x38\n\tresources\x18\x02 \x01(\x0b\x32%.org.lfedge.eve.info.ContentResources\x12-\n\x05usage\x18\x03 \x01(\x0b\x32\x1e.org.lfedge.eve.info.UsageInfo\x12,\n\x05state\x18\x04 \x01(\x0e\x32\x1d.org.lfedge.eve.info.ZSwState\x12\x1a\n\x12progressPercentage\x18\x05 \x01(\r\x12+\n\x03\x65rr\x18\x06 \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\"=\n\rZInfoBlobList\x12,\n\x04\x62lob\x18\x01 \x03(\x0b\x32\x1e.org.lfedge.eve.info.ZInfoBlob\"\xfb\x07\n\x08ZInfoMsg\x12.\n\x05ztype\x18\x01 \x01(\x0e\x32\x1f.org.lfedge.eve.info.ZInfoTypes\x12\r\n\x05\x64\x65vId\x18\x02 \x01(\t\x12\x31\n\x05\x64info\x18\x03 \x01(\x0b\x32 .org.lfedge.eve.info.ZInfoDeviceH\x00\x12.\n\x05\x61info\x18\x05 \x01(\x0b\x32\x1d.org.lfedge.eve.info.ZInfoAppH\x00\x12;\n\x06niinfo\x18\x0c \x01(\x0b\x32).org.lfedge.eve.info.ZInfoNetworkInstanceH\x00\x12\x31\n\x05vinfo\x18\r \x01(\x0b\x32 .org.lfedge.eve.info.ZInfoVolumeH\x00\x12\x36\n\x05\x63info\x18\x0e \x01(\x0b\x32%.org.lfedge.eve.info.ZInfoContentTreeH\x00\x12\x33\n\x05\x62info\x18\x0f \x01(\x0b\x32\".org.lfedge.eve.info.ZInfoBlobListH\x00\x12<\n\x07\x61mdinfo\x18\x10 \x01(\x0b\x32).org.lfedge.eve.info.ZInfoAppInstMetaDataH\x00\x12\x34\n\x06\x65vinfo\x18\x11 \x01(\x0b\x32\".org.lfedge.eve.info.ZInfoEdgeviewH\x00\x12\x34\n\x06hwinfo\x18\x12 \x01(\x0b\x32\".org.lfedge.eve.info.ZInfoHardwareH\x00\x12\x35\n\x07locinfo\x18\x13 \x01(\x0b\x32\".org.lfedge.eve.info.ZInfoLocationH\x00\x12<\n\tpatchInfo\x18\x14 \x01(\x0b\x32\'.org.lfedge.eve.info.ZInfoPatchEnvelopeH\x00\x12=\n\x0c\x63luster_node\x18\x16 \x01(\x0b\x32%.org.lfedge.eve.info.ZInfoClusterNodeH\x00\x12;\n\x0bntp_sources\x18\x17 \x01(\x0b\x32$.org.lfedge.eve.info.ZInfoNTPSourcesH\x00\x12=\n\x0c\x63luster_info\x18\x18 \x01(\x0b\x32%.org.lfedge.eve.info.ZInfoKubeClusterH\x00\x12P\n\x13\x63luster_update_info\x18\x19 \x01(\x0b\x32\x31.org.lfedge.eve.info.ZInfoKubeClusterUpdateStatusH\x00\x12/\n\x0b\x61tTimeStamp\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\r\n\x0bInfoContentJ\x04\x08\x15\x10\x16\"J\n\x0c\x43\x61pabilities\x12 \n\x18HWAssistedVirtualization\x18\x02 \x01(\x08\x12\x18\n\x10IOVirtualization\x18\x03 \x01(\x08\"j\n\x14ZInfoAppInstMetaData\x12\x0c\n\x04uuid\x18\x01 \x01(\t\x12\x36\n\x04type\x18\x02 \x01(\x0e\x32(.org.lfedge.eve.info.AppInstMetaDataType\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"\xab\x01\n\rZInfoEdgeview\x12/\n\x0b\x65xpire_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0cstarted_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x11\n\tcount_dev\x18\x03 \x01(\r\x12\x11\n\tcount_app\x18\x04 \x01(\r\x12\x11\n\tcount_ext\x18\x05 \x01(\r\"\xd5\x02\n\rZInfoLocation\x12\x10\n\x08latitude\x18\x01 \x01(\x01\x12\x11\n\tlongitude\x18\x02 \x01(\x01\x12\x10\n\x08\x61ltitude\x18\x03 \x01(\x01\x12\x31\n\rutc_timestamp\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x43\n\x16horizontal_reliability\x18\x05 \x01(\x0e\x32#.org.lfedge.eve.info.LocReliability\x12\x41\n\x14vertical_reliability\x18\x06 \x01(\x0e\x32#.org.lfedge.eve.info.LocReliability\x12\x1e\n\x16horizontal_uncertainty\x18\x07 \x01(\x02\x12\x1c\n\x14vertical_uncertainty\x18\x08 \x01(\x02\x12\x14\n\x0clogicallabel\x18\t \x01(\t\"\xe4\x01\n\x1cZInfoKubeClusterUpdateStatus\x12\x14\n\x0c\x63urrent_node\x18\x01 \x01(\t\x12\x30\n\tcomponent\x18\x02 \x01(\x0e\x32\x1d.org.lfedge.eve.info.KubeComp\x12\x39\n\x06status\x18\x03 \x01(\x0e\x32).org.lfedge.eve.info.KubeCompUpdateStatus\x12-\n\x05\x65rror\x18\x04 \x01(\x0b\x32\x1e.org.lfedge.eve.info.ErrorInfo\x12\x12\n\ncluster_id\x18\x05 \x01(\t\"\xc4\x02\n\x10ZInfoKubeCluster\x12\x30\n\x05nodes\x18\x01 \x03(\x0b\x32!.org.lfedge.eve.info.KubeNodeInfo\x12\x42\n\x0fpod_name_spaces\x18\x02 \x03(\x0b\x32).org.lfedge.eve.info.KubePodNameSpaceInfo\x12\x38\n\x08\x65ve_apps\x18\x03 \x03(\x0b\x32&.org.lfedge.eve.info.KubeEVEAppPodInfo\x12\x35\n\x07storage\x18\x04 \x01(\x0b\x32$.org.lfedge.eve.info.KubeStorageInfo\x12\x12\n\ncluster_id\x18\x05 \x01(\t\x12\x35\n\x0b\x65ve_vm_apps\x18\x06 \x03(\x0b\x32 .org.lfedge.eve.info.KubeVMIInfo\"\x88\x02\n\rZInfoHardware\x12\x37\n\x05\x64isks\x18\x01 \x03(\x0b\x32$.org.lfedge.eve.info.StorageDiskInfoB\x02\x18\x01\x12\x13\n\x0b\x65ve_release\x18\x02 \x01(\t\x12\x39\n\tinventory\x18\x03 \x01(\x0b\x32&.org.lfedge.eve.info.HardwareInventory\x12\x15\n\rkernel_flavor\x18\x04 \x01(\t\x12\x16\n\x0ekernel_version\x18\x05 \x01(\t\x12\x14\n\x0c\x65ve_platform\x18\x06 \x01(\t\x12\x11\n\tpartition\x18\x07 \x01(\t\x12\x16\n\x0ekernel_cmdline\x18\x08 \x01(\t*u\n\x11\x44\x65pMetricItemType\x12\x16\n\x12\x44\x65pMetricItemOther\x10\x00\x12\x16\n\x12\x44\x65pMetricItemGauge\x10\x01\x12\x18\n\x14\x44\x65pMetricItemCounter\x10\x02\x12\x16\n\x12\x44\x65pMetricItemState\x10\x03*\xb0\x02\n\nZInfoTypes\x12\t\n\x05ZiNop\x10\x00\x12\x0c\n\x08ZiDevice\x10\x01\x12\t\n\x05ZiApp\x10\x03\x12\x15\n\x11ZiNetworkInstance\x10\x06\x12\x0c\n\x08ZiVolume\x10\x07\x12\x11\n\rZiContentTree\x10\x08\x12\x0e\n\nZiBlobList\x10\t\x12\x15\n\x11ZiAppInstMetaData\x10\n\x12\x0e\n\nZiHardware\x10\x0b\x12\x0e\n\nZiEdgeview\x10\x0c\x12\x0e\n\nZiLocation\x10\r\x12\x13\n\x0fZiPatchEnvelope\x10\x0e\x12\x10\n\x0cZiNTPSources\x10\x10\x12\x11\n\rZiKubeCluster\x10\x11\x12\x1d\n\x19ZiKubeClusterUpdateStatus\x10\x12\"\x04\x08\x02\x10\x02\"\x04\x08\x04\x10\x04\"\x04\x08\x05\x10\x05\"\x04\x08\x0f\x10\x0f*\x91\x03\n\x08ZSwState\x12\x0b\n\x07INVALID\x10\x00\x12\x0b\n\x07INITIAL\x10\x01\x12\x14\n\x10\x44OWNLOAD_STARTED\x10\x02\x12\x0e\n\nDOWNLOADED\x10\x03\x12\r\n\tDELIVERED\x10\x04\x12\r\n\tINSTALLED\x10\x05\x12\x0b\n\x07\x42OOTING\x10\x06\x12\x0b\n\x07RUNNING\x10\x07\x12\x0b\n\x07HALTING\x10\x08\x12\n\n\x06HALTED\x10\t\x12\x0e\n\nRESTARTING\x10\n\x12\x0b\n\x07PURGING\x10\x0b\x12\x11\n\rRESOLVING_TAG\x10\x0c\x12\x10\n\x0cRESOLVED_TAG\x10\r\x12\x13\n\x0f\x43REATING_VOLUME\x10\x0e\x12\x12\n\x0e\x43REATED_VOLUME\x10\x0f\x12\r\n\tVERIFYING\x10\x10\x12\x0c\n\x08VERIFIED\x10\x11\x12\x0b\n\x07LOADING\x10\x12\x12\n\n\x06LOADED\x10\x13\x12\x18\n\x14\x41WAITNETWORKINSTANCE\x10\x14\x12\t\n\x05\x45RROR\x10\x15\x12\x11\n\rSTART_DELAYED\x10\x16\x12\x0b\n\x07PENDING\x10\x17\x12\x0e\n\nSCHEDULING\x10\x18*N\n\x16HwSecurityModuleStatus\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0c\n\x08NOTFOUND\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\x12\x0b\n\x07\x45NABLED\x10\x03*\x88\x01\n\x13\x44\x61taSecAtRestStatus\x12\x1b\n\x17\x44\x41TASEC_AT_REST_UNKNOWN\x10\x00\x12\x1c\n\x18\x44\x41TASEC_AT_REST_DISABLED\x10\x01\x12\x1b\n\x17\x44\x41TASEC_AT_REST_ENABLED\x10\x02\x12\x19\n\x15\x44\x41TASEC_AT_REST_ERROR\x10\x04*?\n\tPCRStatus\x12\x0f\n\x0bPCR_UNKNOWN\x10\x00\x12\x0f\n\x0bPCR_ENABLED\x10\x01\x12\x10\n\x0cPCR_DISABLED\x10\x02*M\n\x07SimType\x12\x18\n\x14SIM_TYPE_UNSPECIFIED\x10\x00\x12\x15\n\x11SIM_TYPE_PHYSICAL\x10\x01\x12\x11\n\rSIM_TYPE_ESIM\x10\x02*\xa0\x02\n\x17ZCellularOperatingState\x12*\n&Z_CELLULAR_OPERATING_STATE_UNSPECIFIED\x10\x00\x12&\n\"Z_CELLULAR_OPERATING_STATE_OFFLINE\x10\x01\x12(\n$Z_CELLULAR_OPERATING_STATE_RADIO_OFF\x10\x02\x12%\n!Z_CELLULAR_OPERATING_STATE_ONLINE\x10\x03\x12\x33\n/Z_CELLULAR_OPERATING_STATE_ONLINE_AND_CONNECTED\x10\x04\x12+\n\'Z_CELLULAR_OPERATING_STATE_UNRECOGNIZED\x10\x05*\x92\x01\n\x18ZCellularControlProtocol\x12+\n\'Z_CELLULAR_CONTROL_PROTOCOL_UNSPECIFIED\x10\x00\x12#\n\x1fZ_CELLULAR_CONTROL_PROTOCOL_QMI\x10\x01\x12$\n Z_CELLULAR_CONTROL_PROTOCOL_MBIM\x10\x02*\xb1\x02\n\x0cZDeviceState\x12\x1d\n\x19ZDEVICE_STATE_UNSPECIFIED\x10\x00\x12\x18\n\x14ZDEVICE_STATE_ONLINE\x10\x01\x12\x1b\n\x17ZDEVICE_STATE_REBOOTING\x10\x02\x12\"\n\x1eZDEVICE_STATE_MAINTENANCE_MODE\x10\x03\x12!\n\x1dZDEVICE_STATE_BASEOS_UPDATING\x10\x04\x12\x19\n\x15ZDEVICE_STATE_BOOTING\x10\x05\x12$\n ZDEVICE_STATE_PREPARING_POWEROFF\x10\x06\x12\x1e\n\x1aZDEVICE_STATE_POWERING_OFF\x10\x07\x12#\n\x1fZDEVICE_STATE_PREPARED_POWEROFF\x10\x08*\xf5\x01\n\rStorageStatus\x12\x1e\n\x1aSTORAGE_STATUS_UNSPECIFIED\x10\x00\x12\x19\n\x15STORAGE_STATUS_ONLINE\x10\x01\x12\x1b\n\x17STORAGE_STATUS_DEGRADED\x10\x02\x12\x1a\n\x16STORAGE_STATUS_FAULTED\x10\x03\x12\x1a\n\x16STORAGE_STATUS_OFFLINE\x10\x04\x12\x1a\n\x16STORAGE_STATUS_UNAVAIL\x10\x05\x12\x1a\n\x16STORAGE_STATUS_REMOVED\x10\x06\x12\x1c\n\x18STORAGE_STATUS_SUSPENDED\x10\x07*\xe3\x01\n\x0fStorageRaidType\x12!\n\x1dSTORAGE_RAID_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\x17STORAGE_RAID_TYPE_RAID0\x10\x01\x12\x1b\n\x17STORAGE_RAID_TYPE_RAID1\x10\x02\x12\x1b\n\x17STORAGE_RAID_TYPE_RAID5\x10\x03\x12\x1b\n\x17STORAGE_RAID_TYPE_RAID6\x10\x04\x12\x1b\n\x17STORAGE_RAID_TYPE_RAID7\x10\x05\x12\x1c\n\x18STORAGE_RAID_TYPE_NORAID\x10\x06*k\n\x0fStorageTypeInfo\x12!\n\x1dSTORAGE_TYPE_INFO_UNSPECIFIED\x10\x00\x12\x1a\n\x16STORAGE_TYPE_INFO_EXT4\x10\x01\x12\x19\n\x15STORAGE_TYPE_INFO_ZFS\x10\x02*\x85\x01\n\x0b\x43PUPoolKind\x12\x1d\n\x19\x43PU_POOL_KIND_UNSPECIFIED\x10\x00\x12\x1e\n\x1a\x43PU_POOL_KIND_HOUSEKEEPING\x10\x01\x12\x1b\n\x17\x43PU_POOL_KIND_DEDICATED\x10\x02\x12\x1a\n\x16\x43PU_POOL_KIND_ISOLATED\x10\x03*\xb0\x07\n\rAPICapability\x12\x1e\n\x1a\x41PI_CAPABILITY_UNSPECIFIED\x10\x00\x12\x1f\n\x1b\x41PI_CAPABILITY_RETRY_UPDATE\x10\x01\x12\x1b\n\x17\x41PI_CAPABILITY_SHUTDOWN\x10\x02\x12)\n%API_CAPABILITY_START_DELAY_IN_SECONDS\x10\x03\x12\x1b\n\x17\x41PI_CAPABILITY_EDGEVIEW\x10\x04\x12#\n\x1f\x41PI_CAPABILITY_VOLUME_SNAPSHOTS\x10\x05\x12+\n\'API_CAPABILITY_NETWORK_INSTANCE_ROUTING\x10\x06\x12\x1c\n\x18\x41PI_CAPABILITY_BOOT_MODE\x10\x07\x12\x16\n\x12\x41PI_CAPABILITY_MTU\x10\x08\x12&\n\"API_CAPABILITY_ADAPTER_USER_LABELS\x10\t\x12/\n+API_CAPABILITY_ENFORCED_NET_INTERFACE_ORDER\x10\n\x12\x1c\n\x18\x41PI_CAPABILITY_NTPS_FQDN\x10\x0b\x12&\n\"API_CAPABILITY_WIN_LIC_PASSTHROUGH\x10\x0c\x12-\n)API_CAPABILITY_VOLUME_SNAPSHOTS_IMMEDIATE\x10\r\x12+\n\'API_CAPABILITY_ENCRYPTED_PATCH_ENVELOPE\x10\x0e\x12*\n&API_CAPABILITY_SINGLE_STACK_IP_NETWORK\x10\x0f\x12)\n%API_CAPABILITY_CELLULAR_ATTACH_CONFIG\x10\x10\x12*\n&API_CAPABILITY_EDGEVIEW_AUTHENTICATION\x10\x11\x12\x1f\n\x1b\x41PI_CAPABILITY_DISABLE_VTPM\x10\x12\x12*\n&API_CAPABILITY_LOC_REBOOT_COLLECT_INFO\x10\x13\x12\x1f\n\x1b\x41PI_CAPABILITY_SMART_REPORT\x10\x14\x12&\n\"API_CAPABILITY_REPORT_TPM_EVENTLOG\x10\x15\x12\x34\n0API_CAPABILITY_APP_INSTANCE_NET_INTERFACE_CHANGE\x10\x16\x12\'\n#API_CAPABILITY_CPU_PLACEMENT_POLICY\x10\x17*\xb9\x03\n\nBootReason\x12\x1b\n\x17\x42OOT_REASON_UNSPECIFIED\x10\x00\x12\x15\n\x11\x42OOT_REASON_FIRST\x10\x01\x12\x1a\n\x16\x42OOT_REASON_REBOOT_CMD\x10\x02\x12\x16\n\x12\x42OOT_REASON_UPDATE\x10\x03\x12\x18\n\x14\x42OOT_REASON_FALLBACK\x10\x04\x12\x1a\n\x16\x42OOT_REASON_DISCONNECT\x10\x05\x12\x15\n\x11\x42OOT_REASON_FATAL\x10\x06\x12\x13\n\x0f\x42OOT_REASON_OOM\x10\x07\x12\x1d\n\x19\x42OOT_REASON_WATCHDOG_HUNG\x10\x08\x12\x1c\n\x18\x42OOT_REASON_WATCHDOG_PID\x10\t\x12\x16\n\x12\x42OOT_REASON_KERNEL\x10\n\x12\x1a\n\x16\x42OOT_REASON_POWER_FAIL\x10\x0b\x12\x17\n\x13\x42OOT_REASON_UNKNOWN\x10\x0c\x12\x1c\n\x18\x42OOT_REASON_VAULT_FAILED\x10\r\x12\x1c\n\x18\x42OOT_REASON_POWEROFF_CMD\x10\x0e\x12\x1b\n\x16\x42OOT_REASON_PARSE_FAIL\x10\xff\x01*\xd6\x02\n\x15MaintenanceModeReason\x12 \n\x1cMAINTENANCE_MODE_REASON_NONE\x10\x00\x12*\n&MAINTENANCE_MODE_REASON_USER_REQUESTED\x10\x01\x12+\n\'MAINTENANCE_MODE_REASON_VAULT_LOCKED_UP\x10\x02\x12*\n&MAINTENANCE_MODE_REASON_LOW_DISK_SPACE\x10\x03\x12\x32\n.MAINTENANCE_MODE_REASON_TPM_ENCRYPTION_FAILURE\x10\x04\x12-\n)MAINTENANCE_MODE_REASON_TPM_QUOTE_FAILURE\x10\x05\x12\x33\n/MAINTENANCE_MODE_REASON_EDGE_NODE_CERTS_REFUSED\x10\x06*\xb5\x02\n\x10\x41ttestationState\x12!\n\x1d\x41TTESTATION_STATE_UNSPECIFIED\x10\x00\x12 \n\x1c\x41TTESTATION_STATE_NONCE_WAIT\x10\x01\x12$\n ATTESTATION_STATE_TPM_QUOTE_WAIT\x10\x02\x12%\n!ATTESTATION_STATE_TPM_ESCROW_WAIT\x10\x03\x12!\n\x1d\x41TTESTATION_STATE_ATTEST_WAIT\x10\x04\x12(\n$ATTESTATION_STATE_ATTEST_ESCROW_WAIT\x10\x05\x12\"\n\x1e\x41TTESTATION_STATE_RESTART_WAIT\x10\x06\x12\x1e\n\x1a\x41TTESTATION_STATE_COMPLETE\x10\x07*\x8b\x01\n\x13\x41ppInstMetaDataType\x12 \n\x1c\x41PP_INST_META_DATA_TYPE_NONE\x10\x00\x12\'\n#APP_INST_META_DATA_TYPE_KUBE_CONFIG\x10\x01\x12)\n%APP_INST_META_DATA_TYPE_CUSTOM_STATUS\x10\x02*a\n\x0cWirelessType\x12\x1d\n\x19WIRELESS_TYPE_UNSPECIFIED\x10\x00\x12\x16\n\x12WIRELESS_TYPE_WIFI\x10\x01\x12\x1a\n\x16WIRELESS_TYPE_CELLULAR\x10\x02*q\n\x0c\x42\x61seOsStatus\x12\x08\n\x04NONE\x10\x00\x12\x0f\n\x0b\x44OWNLOADING\x10\x01\x12\x11\n\rDOWNLOAD_DONE\x10\x02\x12\x0c\n\x08UPDATING\x10\x03\x12\x0b\n\x07UPDATED\x10\x04\x12\x0c\n\x08\x46\x41LLBACK\x10\x05\x12\n\n\x06\x46\x41ILED\x10\x06*\xcb\x01\n\x0f\x42\x61seOsSubStatus\x12\x12\n\x0eNONE_SUBSTATUS\x10\x00\x12\x17\n\x13\x44OWNLOAD_INPROGRESS\x10\x01\x12\x15\n\x11VERIFY_INPROGRESS\x10\x02\x12\x17\n\x13UPDATE_INITIALIZING\x10\x03\x12\x14\n\x10UPDATE_REBOOTING\x10\x04\x12\x12\n\x0eUPDATE_TESTING\x10\x05\x12\x1c\n\x18UPDATE_NEED_TEST_CONFIRM\x10\x06\x12\x13\n\x0fUPDATE_DEFERRED\x10\x07*h\n\x0cSnapshotType\x12\x1d\n\x19SNAPSHOT_TYPE_UNSPECIFIED\x10\x00\x12\x1c\n\x18SNAPSHOT_TYPE_APP_UPDATE\x10\x01\x12\x1b\n\x17SNAPSHOT_TYPE_IMMEDIATE\x10\x02*\xb8\x01\n\x16ZInfoClusterNodeStatus\x12*\n&Z_INFO_CLUSTER_NODE_STATUS_UNSPECIFIED\x10\x00\x12$\n Z_INFO_CLUSTER_NODE_STATUS_READY\x10\x01\x12\'\n#Z_INFO_CLUSTER_NODE_STATUS_NOTREADY\x10\x02\x12#\n\x1fZ_INFO_CLUSTER_NODE_STATUS_DOWN\x10\x03*\x8f\x01\n\rZInfoVpnState\x12\x0f\n\x0bVPN_INVALID\x10\x00\x12\x0f\n\x0bVPN_INITIAL\x10\x01\x12\x12\n\x0eVPN_CONNECTING\x10\x02\x12\x13\n\x0fVPN_ESTABLISHED\x10\x03\x12\x11\n\rVPN_INSTALLED\x10\x04\x12\x0f\n\x0bVPN_REKEYED\x10\x05\x12\x0f\n\x0bVPN_DELETED\x10\n*\x85\x01\n\x15ZNetworkInstanceState\x12\x1e\n\x1aZNETINST_STATE_UNSPECIFIED\x10\x00\x12\x17\n\x13ZNETINST_STATE_INIT\x10\x01\x12\x19\n\x15ZNETINST_STATE_ONLINE\x10\x02\x12\x18\n\x14ZNETINST_STATE_ERROR\x10\x03*\x9e\x01\n\x0eLocReliability\x12\x1f\n\x1bLOC_RELIABILITY_UNSPECIFIED\x10\x00\x12\x1c\n\x18LOC_RELIABILITY_VERY_LOW\x10\x01\x12\x17\n\x13LOC_RELIABILITY_LOW\x10\x02\x12\x1a\n\x16LOC_RELIABILITY_MEDIUM\x10\x03\x12\x18\n\x14LOC_RELIABILITY_HIGH\x10\x04\x42\x39\n\x13org.lfedge.eve.infoZ\"github.com/lf-edge/eve-api/go/infob\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -48,58 +48,60 @@ _ZINFONETWORKINSTANCE.fields_by_name['CurrentUplinkAlias']._serialized_options = b'\030\001' _ZINFOHARDWARE.fields_by_name['disks']._options = None _ZINFOHARDWARE.fields_by_name['disks']._serialized_options = b'\030\001' - _globals['_DEPMETRICITEMTYPE']._serialized_start=16603 - _globals['_DEPMETRICITEMTYPE']._serialized_end=16720 - _globals['_ZINFOTYPES']._serialized_start=16723 - _globals['_ZINFOTYPES']._serialized_end=17027 - _globals['_ZSWSTATE']._serialized_start=17030 - _globals['_ZSWSTATE']._serialized_end=17431 - _globals['_HWSECURITYMODULESTATUS']._serialized_start=17433 - _globals['_HWSECURITYMODULESTATUS']._serialized_end=17511 - _globals['_DATASECATRESTSTATUS']._serialized_start=17514 - _globals['_DATASECATRESTSTATUS']._serialized_end=17650 - _globals['_PCRSTATUS']._serialized_start=17652 - _globals['_PCRSTATUS']._serialized_end=17715 - _globals['_SIMTYPE']._serialized_start=17717 - _globals['_SIMTYPE']._serialized_end=17794 - _globals['_ZCELLULAROPERATINGSTATE']._serialized_start=17797 - _globals['_ZCELLULAROPERATINGSTATE']._serialized_end=18085 - _globals['_ZCELLULARCONTROLPROTOCOL']._serialized_start=18088 - _globals['_ZCELLULARCONTROLPROTOCOL']._serialized_end=18234 - _globals['_ZDEVICESTATE']._serialized_start=18237 - _globals['_ZDEVICESTATE']._serialized_end=18542 - _globals['_STORAGESTATUS']._serialized_start=18545 - _globals['_STORAGESTATUS']._serialized_end=18790 - _globals['_STORAGERAIDTYPE']._serialized_start=18793 - _globals['_STORAGERAIDTYPE']._serialized_end=19020 - _globals['_STORAGETYPEINFO']._serialized_start=19022 - _globals['_STORAGETYPEINFO']._serialized_end=19129 - _globals['_APICAPABILITY']._serialized_start=19132 - _globals['_APICAPABILITY']._serialized_end=20076 - _globals['_BOOTREASON']._serialized_start=20079 - _globals['_BOOTREASON']._serialized_end=20520 - _globals['_MAINTENANCEMODEREASON']._serialized_start=20523 - _globals['_MAINTENANCEMODEREASON']._serialized_end=20865 - _globals['_ATTESTATIONSTATE']._serialized_start=20868 - _globals['_ATTESTATIONSTATE']._serialized_end=21177 - _globals['_APPINSTMETADATATYPE']._serialized_start=21180 - _globals['_APPINSTMETADATATYPE']._serialized_end=21319 - _globals['_WIRELESSTYPE']._serialized_start=21321 - _globals['_WIRELESSTYPE']._serialized_end=21418 - _globals['_BASEOSSTATUS']._serialized_start=21420 - _globals['_BASEOSSTATUS']._serialized_end=21533 - _globals['_BASEOSSUBSTATUS']._serialized_start=21536 - _globals['_BASEOSSUBSTATUS']._serialized_end=21739 - _globals['_SNAPSHOTTYPE']._serialized_start=21741 - _globals['_SNAPSHOTTYPE']._serialized_end=21845 - _globals['_ZINFOCLUSTERNODESTATUS']._serialized_start=21848 - _globals['_ZINFOCLUSTERNODESTATUS']._serialized_end=22032 - _globals['_ZINFOVPNSTATE']._serialized_start=22035 - _globals['_ZINFOVPNSTATE']._serialized_end=22178 - _globals['_ZNETWORKINSTANCESTATE']._serialized_start=22181 - _globals['_ZNETWORKINSTANCESTATE']._serialized_end=22314 - _globals['_LOCRELIABILITY']._serialized_start=22317 - _globals['_LOCRELIABILITY']._serialized_end=22475 + _globals['_DEPMETRICITEMTYPE']._serialized_start=16892 + _globals['_DEPMETRICITEMTYPE']._serialized_end=17009 + _globals['_ZINFOTYPES']._serialized_start=17012 + _globals['_ZINFOTYPES']._serialized_end=17316 + _globals['_ZSWSTATE']._serialized_start=17319 + _globals['_ZSWSTATE']._serialized_end=17720 + _globals['_HWSECURITYMODULESTATUS']._serialized_start=17722 + _globals['_HWSECURITYMODULESTATUS']._serialized_end=17800 + _globals['_DATASECATRESTSTATUS']._serialized_start=17803 + _globals['_DATASECATRESTSTATUS']._serialized_end=17939 + _globals['_PCRSTATUS']._serialized_start=17941 + _globals['_PCRSTATUS']._serialized_end=18004 + _globals['_SIMTYPE']._serialized_start=18006 + _globals['_SIMTYPE']._serialized_end=18083 + _globals['_ZCELLULAROPERATINGSTATE']._serialized_start=18086 + _globals['_ZCELLULAROPERATINGSTATE']._serialized_end=18374 + _globals['_ZCELLULARCONTROLPROTOCOL']._serialized_start=18377 + _globals['_ZCELLULARCONTROLPROTOCOL']._serialized_end=18523 + _globals['_ZDEVICESTATE']._serialized_start=18526 + _globals['_ZDEVICESTATE']._serialized_end=18831 + _globals['_STORAGESTATUS']._serialized_start=18834 + _globals['_STORAGESTATUS']._serialized_end=19079 + _globals['_STORAGERAIDTYPE']._serialized_start=19082 + _globals['_STORAGERAIDTYPE']._serialized_end=19309 + _globals['_STORAGETYPEINFO']._serialized_start=19311 + _globals['_STORAGETYPEINFO']._serialized_end=19418 + _globals['_CPUPOOLKIND']._serialized_start=19421 + _globals['_CPUPOOLKIND']._serialized_end=19554 + _globals['_APICAPABILITY']._serialized_start=19557 + _globals['_APICAPABILITY']._serialized_end=20501 + _globals['_BOOTREASON']._serialized_start=20504 + _globals['_BOOTREASON']._serialized_end=20945 + _globals['_MAINTENANCEMODEREASON']._serialized_start=20948 + _globals['_MAINTENANCEMODEREASON']._serialized_end=21290 + _globals['_ATTESTATIONSTATE']._serialized_start=21293 + _globals['_ATTESTATIONSTATE']._serialized_end=21602 + _globals['_APPINSTMETADATATYPE']._serialized_start=21605 + _globals['_APPINSTMETADATATYPE']._serialized_end=21744 + _globals['_WIRELESSTYPE']._serialized_start=21746 + _globals['_WIRELESSTYPE']._serialized_end=21843 + _globals['_BASEOSSTATUS']._serialized_start=21845 + _globals['_BASEOSSTATUS']._serialized_end=21958 + _globals['_BASEOSSUBSTATUS']._serialized_start=21961 + _globals['_BASEOSSUBSTATUS']._serialized_end=22164 + _globals['_SNAPSHOTTYPE']._serialized_start=22166 + _globals['_SNAPSHOTTYPE']._serialized_end=22270 + _globals['_ZINFOCLUSTERNODESTATUS']._serialized_start=22273 + _globals['_ZINFOCLUSTERNODESTATUS']._serialized_end=22457 + _globals['_ZINFOVPNSTATE']._serialized_start=22460 + _globals['_ZINFOVPNSTATE']._serialized_end=22603 + _globals['_ZNETWORKINSTANCESTATE']._serialized_start=22606 + _globals['_ZNETWORKINSTANCESTATE']._serialized_end=22739 + _globals['_LOCRELIABILITY']._serialized_start=22742 + _globals['_LOCRELIABILITY']._serialized_end=22900 _globals['_SMARTATTR']._serialized_start=328 _globals['_SMARTATTR']._serialized_end=475 _globals['_STORAGEDISKINFO']._serialized_start=478 @@ -160,78 +162,80 @@ _globals['_STORAGECHILDREN']._serialized_end=4770 _globals['_STORAGEINFO']._serialized_start=4773 _globals['_STORAGEINFO']._serialized_end=5234 - _globals['_ZINFODEVICE']._serialized_start=5237 - _globals['_ZINFODEVICE']._serialized_end=7515 - _globals['_OPTIONALCAPABILITIES']._serialized_start=7518 - _globals['_OPTIONALCAPABILITIES']._serialized_end=7650 - _globals['_ATTESTATIONINFO']._serialized_start=7652 - _globals['_ATTESTATIONINFO']._serialized_end=7770 - _globals['_SYSTEMADAPTERINFO']._serialized_start=7772 - _globals['_SYSTEMADAPTERINFO']._serialized_end=7868 - _globals['_DEVICEPORTSTATUS']._serialized_start=7871 - _globals['_DEVICEPORTSTATUS']._serialized_end=8135 - _globals['_DEVICEPORT']._serialized_start=8138 - _globals['_DEVICEPORT']._serialized_end=8984 - _globals['_PROXYSTATUS']._serialized_start=8987 - _globals['_PROXYSTATUS']._serialized_end=9157 - _globals['_PROXYENTRY']._serialized_start=9159 - _globals['_PROXYENTRY']._serialized_end=9215 - _globals['_WIRELESSSTATUS']._serialized_start=9217 - _globals['_WIRELESSSTATUS']._serialized_end=9338 - _globals['_ZCELLULARSTATUS']._serialized_start=9341 - _globals['_ZCELLULARSTATUS']._serialized_end=9732 - _globals['_ZINFODEVSW']._serialized_start=9735 - _globals['_ZINFODEVSW']._serialized_end=10163 - _globals['_ZINFOSTORAGE']._serialized_start=10166 - _globals['_ZINFOSTORAGE']._serialized_end=10329 - _globals['_ZINFOSNAPSHOT']._serialized_start=10332 - _globals['_ZINFOSNAPSHOT']._serialized_end=10550 - _globals['_ZINFOCLUSTERNODE']._serialized_start=10552 - _globals['_ZINFOCLUSTERNODE']._serialized_end=10636 - _globals['_ZINFOAPP']._serialized_start=10639 - _globals['_ZINFOAPP']._serialized_end=11138 - _globals['_ZINFOVPNLINKINFO']._serialized_start=11140 - _globals['_ZINFOVPNLINKINFO']._serialized_end=11208 - _globals['_ZINFOVPNLINK']._serialized_start=11211 - _globals['_ZINFOVPNLINK']._serialized_end=11460 - _globals['_ZINFOVPNENDPOINT']._serialized_start=11462 - _globals['_ZINFOVPNENDPOINT']._serialized_end=11522 - _globals['_ZINFOVPNCONN']._serialized_start=11525 - _globals['_ZINFOVPNCONN']._serialized_end=11822 - _globals['_ZINFOVPN']._serialized_start=11824 - _globals['_ZINFOVPN']._serialized_end=11946 - _globals['_ZINFONETWORKINSTANCE']._serialized_start=11949 - _globals['_ZINFONETWORKINSTANCE']._serialized_end=12744 - _globals['_IPROUTE']._serialized_start=12746 - _globals['_IPROUTE']._serialized_end=12836 - _globals['_USAGEINFO']._serialized_start=12839 - _globals['_USAGEINFO']._serialized_end=12976 - _globals['_VOLUMERESOURCES']._serialized_start=12978 - _globals['_VOLUMERESOURCES']._serialized_end=13039 - _globals['_ZINFOVOLUME']._serialized_start=13042 - _globals['_ZINFOVOLUME']._serialized_end=13345 - _globals['_CONTENTRESOURCES']._serialized_start=13347 - _globals['_CONTENTRESOURCES']._serialized_end=13387 - _globals['_ZINFOCONTENTTREE']._serialized_start=13390 - _globals['_ZINFOCONTENTTREE']._serialized_end=13735 - _globals['_ZINFOBLOB']._serialized_start=13738 - _globals['_ZINFOBLOB']._serialized_end=13989 - _globals['_ZINFOBLOBLIST']._serialized_start=13991 - _globals['_ZINFOBLOBLIST']._serialized_end=14052 - _globals['_ZINFOMSG']._serialized_start=14055 - _globals['_ZINFOMSG']._serialized_end=15074 - _globals['_CAPABILITIES']._serialized_start=15076 - _globals['_CAPABILITIES']._serialized_end=15150 - _globals['_ZINFOAPPINSTMETADATA']._serialized_start=15152 - _globals['_ZINFOAPPINSTMETADATA']._serialized_end=15258 - _globals['_ZINFOEDGEVIEW']._serialized_start=15261 - _globals['_ZINFOEDGEVIEW']._serialized_end=15432 - _globals['_ZINFOLOCATION']._serialized_start=15435 - _globals['_ZINFOLOCATION']._serialized_end=15776 - _globals['_ZINFOKUBECLUSTERUPDATESTATUS']._serialized_start=15779 - _globals['_ZINFOKUBECLUSTERUPDATESTATUS']._serialized_end=16007 - _globals['_ZINFOKUBECLUSTER']._serialized_start=16010 - _globals['_ZINFOKUBECLUSTER']._serialized_end=16334 - _globals['_ZINFOHARDWARE']._serialized_start=16337 - _globals['_ZINFOHARDWARE']._serialized_end=16601 + _globals['_CPUPOOLUTILIZATION']._serialized_start=5237 + _globals['_CPUPOOLUTILIZATION']._serialized_end=5463 + _globals['_ZINFODEVICE']._serialized_start=5466 + _globals['_ZINFODEVICE']._serialized_end=7804 + _globals['_OPTIONALCAPABILITIES']._serialized_start=7807 + _globals['_OPTIONALCAPABILITIES']._serialized_end=7939 + _globals['_ATTESTATIONINFO']._serialized_start=7941 + _globals['_ATTESTATIONINFO']._serialized_end=8059 + _globals['_SYSTEMADAPTERINFO']._serialized_start=8061 + _globals['_SYSTEMADAPTERINFO']._serialized_end=8157 + _globals['_DEVICEPORTSTATUS']._serialized_start=8160 + _globals['_DEVICEPORTSTATUS']._serialized_end=8424 + _globals['_DEVICEPORT']._serialized_start=8427 + _globals['_DEVICEPORT']._serialized_end=9273 + _globals['_PROXYSTATUS']._serialized_start=9276 + _globals['_PROXYSTATUS']._serialized_end=9446 + _globals['_PROXYENTRY']._serialized_start=9448 + _globals['_PROXYENTRY']._serialized_end=9504 + _globals['_WIRELESSSTATUS']._serialized_start=9506 + _globals['_WIRELESSSTATUS']._serialized_end=9627 + _globals['_ZCELLULARSTATUS']._serialized_start=9630 + _globals['_ZCELLULARSTATUS']._serialized_end=10021 + _globals['_ZINFODEVSW']._serialized_start=10024 + _globals['_ZINFODEVSW']._serialized_end=10452 + _globals['_ZINFOSTORAGE']._serialized_start=10455 + _globals['_ZINFOSTORAGE']._serialized_end=10618 + _globals['_ZINFOSNAPSHOT']._serialized_start=10621 + _globals['_ZINFOSNAPSHOT']._serialized_end=10839 + _globals['_ZINFOCLUSTERNODE']._serialized_start=10841 + _globals['_ZINFOCLUSTERNODE']._serialized_end=10925 + _globals['_ZINFOAPP']._serialized_start=10928 + _globals['_ZINFOAPP']._serialized_end=11427 + _globals['_ZINFOVPNLINKINFO']._serialized_start=11429 + _globals['_ZINFOVPNLINKINFO']._serialized_end=11497 + _globals['_ZINFOVPNLINK']._serialized_start=11500 + _globals['_ZINFOVPNLINK']._serialized_end=11749 + _globals['_ZINFOVPNENDPOINT']._serialized_start=11751 + _globals['_ZINFOVPNENDPOINT']._serialized_end=11811 + _globals['_ZINFOVPNCONN']._serialized_start=11814 + _globals['_ZINFOVPNCONN']._serialized_end=12111 + _globals['_ZINFOVPN']._serialized_start=12113 + _globals['_ZINFOVPN']._serialized_end=12235 + _globals['_ZINFONETWORKINSTANCE']._serialized_start=12238 + _globals['_ZINFONETWORKINSTANCE']._serialized_end=13033 + _globals['_IPROUTE']._serialized_start=13035 + _globals['_IPROUTE']._serialized_end=13125 + _globals['_USAGEINFO']._serialized_start=13128 + _globals['_USAGEINFO']._serialized_end=13265 + _globals['_VOLUMERESOURCES']._serialized_start=13267 + _globals['_VOLUMERESOURCES']._serialized_end=13328 + _globals['_ZINFOVOLUME']._serialized_start=13331 + _globals['_ZINFOVOLUME']._serialized_end=13634 + _globals['_CONTENTRESOURCES']._serialized_start=13636 + _globals['_CONTENTRESOURCES']._serialized_end=13676 + _globals['_ZINFOCONTENTTREE']._serialized_start=13679 + _globals['_ZINFOCONTENTTREE']._serialized_end=14024 + _globals['_ZINFOBLOB']._serialized_start=14027 + _globals['_ZINFOBLOB']._serialized_end=14278 + _globals['_ZINFOBLOBLIST']._serialized_start=14280 + _globals['_ZINFOBLOBLIST']._serialized_end=14341 + _globals['_ZINFOMSG']._serialized_start=14344 + _globals['_ZINFOMSG']._serialized_end=15363 + _globals['_CAPABILITIES']._serialized_start=15365 + _globals['_CAPABILITIES']._serialized_end=15439 + _globals['_ZINFOAPPINSTMETADATA']._serialized_start=15441 + _globals['_ZINFOAPPINSTMETADATA']._serialized_end=15547 + _globals['_ZINFOEDGEVIEW']._serialized_start=15550 + _globals['_ZINFOEDGEVIEW']._serialized_end=15721 + _globals['_ZINFOLOCATION']._serialized_start=15724 + _globals['_ZINFOLOCATION']._serialized_end=16065 + _globals['_ZINFOKUBECLUSTERUPDATESTATUS']._serialized_start=16068 + _globals['_ZINFOKUBECLUSTERUPDATESTATUS']._serialized_end=16296 + _globals['_ZINFOKUBECLUSTER']._serialized_start=16299 + _globals['_ZINFOKUBECLUSTER']._serialized_end=16623 + _globals['_ZINFOHARDWARE']._serialized_start=16626 + _globals['_ZINFOHARDWARE']._serialized_end=16890 # @@protoc_insertion_point(module_scope)