[VOL-5408]-Update versions of VOLTHA components for release

Change-Id: Iedc3b4a8586438e20a0f8667b50473b9aea832fd
Signed-off-by: Mahir Gunyel <mahir.gunyel@netsia.com>
diff --git a/VERSION b/VERSION
index ae1e604..293bfa8 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.16.6-dev
+1.16.7
diff --git a/go.mod b/go.mod
index 8289cf7..de99901 100644
--- a/go.mod
+++ b/go.mod
@@ -22,9 +22,9 @@
 	github.com/looplab/fsm v0.1.0
 	github.com/olekukonko/tablewriter v0.0.4
 	github.com/opencord/cordctl v0.0.0-20190909161711-01e9c1f04bf4
-	github.com/opencord/device-management-interface v1.4.0
+	github.com/opencord/device-management-interface v1.17.0
 	github.com/opencord/omci-lib-go/v2 v2.2.3
-	github.com/opencord/voltha-protos/v5 v5.4.11
+	github.com/opencord/voltha-protos/v5 v5.6.2
 	github.com/pkg/errors v0.8.1 // indirect
 	github.com/sirupsen/logrus v1.4.2
 	github.com/stretchr/testify v1.5.1
diff --git a/go.sum b/go.sum
index 9585022..e7a43d3 100644
--- a/go.sum
+++ b/go.sum
@@ -85,12 +85,12 @@
 github.com/olekukonko/tablewriter v0.0.4/go.mod h1:zq6QwlOf5SlnkVbMSr5EoBv3636FWnp+qbPhuoO21uA=
 github.com/opencord/cordctl v0.0.0-20190909161711-01e9c1f04bf4 h1:Odib2px8tyALzdbyztAAqdxmpmQ/pJahJ7uz8kN/rvk=
 github.com/opencord/cordctl v0.0.0-20190909161711-01e9c1f04bf4/go.mod h1:/+3S0pwQUy7HeKnH0KfKp5W6hmh/LdZzuZTNT/m7vA4=
-github.com/opencord/device-management-interface v1.4.0 h1:hutRUn/rfYHZQr0K2i7HpZTMyMyLcGL1XdmbUrWt2kM=
-github.com/opencord/device-management-interface v1.4.0/go.mod h1:G1owSqGBGaqllrwtjxfLTsy9EDsGhdhmqkJM3XOnPD0=
+github.com/opencord/device-management-interface v1.17.0 h1:qfGPHtEvKjErExfSZGczqBRbj4KS2ZHTdDDHcIVl314=
+github.com/opencord/device-management-interface v1.17.0/go.mod h1:G1owSqGBGaqllrwtjxfLTsy9EDsGhdhmqkJM3XOnPD0=
 github.com/opencord/omci-lib-go/v2 v2.2.3 h1:cE9+67m8HmZmlET57eyQmqOOAJlfvvKrLgiJMiwhSMg=
 github.com/opencord/omci-lib-go/v2 v2.2.3/go.mod h1:o1S/jhDLHNikFU7uG2TR5UOM5KmKlqwLlVncXi0FBYQ=
-github.com/opencord/voltha-protos/v5 v5.4.11 h1:Q9j8yJO5HDf0D3jE8KmIgUWJjV4GIYgqiDEiPI3Zcmc=
-github.com/opencord/voltha-protos/v5 v5.4.11/go.mod h1:E/Jn3DNu8VGRBCgIWSSg4sWtTBiNuQGSFvHyNH1XlyM=
+github.com/opencord/voltha-protos/v5 v5.6.2 h1:evT3MYShV8uzLQAfF+qXS6nbdKRNewxifDK49XzqtVM=
+github.com/opencord/voltha-protos/v5 v5.6.2/go.mod h1:E/Jn3DNu8VGRBCgIWSSg4sWtTBiNuQGSFvHyNH1XlyM=
 github.com/pierrec/lz4 v2.4.1+incompatible h1:mFe7ttWaflA46Mhqh+jUfjp2qTbPYxLB2/OyBppH9dg=
 github.com/pierrec/lz4 v2.4.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
 github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
diff --git a/internal/bbsim/dmiserver/dmi_api_server.go b/internal/bbsim/dmiserver/dmi_api_server.go
index 5aab467..81b6cc8 100755
--- a/internal/bbsim/dmiserver/dmi_api_server.go
+++ b/internal/bbsim/dmiserver/dmi_api_server.go
@@ -49,6 +49,21 @@
 	mPublisherCancelFunc context.CancelFunc
 }
 
+// GetDmLogLevel implements dmi.NativeHWManagementServiceServer.
+func (dms *DmiAPIServer) GetDmLogLevel(context.Context, *dmi.GetDmLogLevelRequest) (*dmi.GetDmLogLevelResponse, error) {
+	panic("unimplemented")
+}
+
+// SetDmLogLevel implements dmi.NativeHWManagementServiceServer.
+func (dms *DmiAPIServer) SetDmLogLevel(context.Context, *dmi.SetDmLogLevelRequest) (*dmi.SetDmLogLevelResponse, error) {
+	panic("unimplemented")
+}
+
+// UploadDebugInfo implements dmi.NativeSoftwareManagementServiceServer.
+func (dms *DmiAPIServer) UploadDebugInfo(*dmi.UploadDebugInfoRequest, dmi.NativeSoftwareManagementService_UploadDebugInfoServer) error {
+	panic("unimplemented")
+}
+
 var dmiServ DmiAPIServer
 
 // StartDmiAPIServer starts a new grpc server for the Device Manager Interface
diff --git a/vendor/github.com/opencord/device-management-interface/LICENSE b/vendor/github.com/opencord/device-management-interface/LICENSE
new file mode 100644
index 0000000..c27bac8
--- /dev/null
+++ b/vendor/github.com/opencord/device-management-interface/LICENSE
@@ -0,0 +1,204 @@
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+This project bundles https://github.com/juanchopanza/cppblog/blob/master/Concurrency/Queue/Queue.h
+which is licensed under BSD 2-Clause License.
diff --git a/vendor/github.com/opencord/device-management-interface/go/dmi/hw.pb.go b/vendor/github.com/opencord/device-management-interface/go/dmi/hw.pb.go
index 4b608d2..7b944ef 100644
--- a/vendor/github.com/opencord/device-management-interface/go/dmi/hw.pb.go
+++ b/vendor/github.com/opencord/device-management-interface/go/dmi/hw.pb.go
@@ -284,6 +284,7 @@
 	DataValueType_VALUE_TYPE_PERCENT     DataValueType = 13
 	DataValueType_VALUE_TYPE_METERS      DataValueType = 14
 	DataValueType_VALUE_TYPE_BYTES       DataValueType = 15
+	DataValueType_VALUE_TYPE_DBM         DataValueType = 16
 )
 
 var DataValueType_name = map[int32]string{
@@ -303,6 +304,7 @@
 	13: "VALUE_TYPE_PERCENT",
 	14: "VALUE_TYPE_METERS",
 	15: "VALUE_TYPE_BYTES",
+	16: "VALUE_TYPE_DBM",
 }
 
 var DataValueType_value = map[string]int32{
@@ -322,6 +324,7 @@
 	"VALUE_TYPE_PERCENT":     13,
 	"VALUE_TYPE_METERS":      14,
 	"VALUE_TYPE_BYTES":       15,
+	"VALUE_TYPE_DBM":         16,
 }
 
 func (x DataValueType) String() string {
@@ -645,7 +648,7 @@
 }
 
 func (PsuComponentAttributes_SupportedVoltage) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{10, 0}
+	return fileDescriptor_d7c33d745c4ab367, []int{11, 0}
 }
 
 type TransceiverComponentsAttributes_FormFactor int32
@@ -666,6 +669,7 @@
 	TransceiverComponentsAttributes_CFP                 TransceiverComponentsAttributes_FormFactor = 12
 	TransceiverComponentsAttributes_CFP2_ACO            TransceiverComponentsAttributes_FormFactor = 13
 	TransceiverComponentsAttributes_CFP2_DCO            TransceiverComponentsAttributes_FormFactor = 14
+	TransceiverComponentsAttributes_QSFP_DD             TransceiverComponentsAttributes_FormFactor = 15
 )
 
 var TransceiverComponentsAttributes_FormFactor_name = map[int32]string{
@@ -684,6 +688,7 @@
 	12: "CFP",
 	13: "CFP2_ACO",
 	14: "CFP2_DCO",
+	15: "QSFP_DD",
 }
 
 var TransceiverComponentsAttributes_FormFactor_value = map[string]int32{
@@ -702,6 +707,7 @@
 	"CFP":                 12,
 	"CFP2_ACO":            13,
 	"CFP2_DCO":            14,
+	"QSFP_DD":             15,
 }
 
 func (x TransceiverComponentsAttributes_FormFactor) String() string {
@@ -709,7 +715,7 @@
 }
 
 func (TransceiverComponentsAttributes_FormFactor) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{11, 0}
+	return fileDescriptor_d7c33d745c4ab367, []int{12, 0}
 }
 
 type Uuid struct {
@@ -1023,6 +1029,7 @@
 	MappingLabel         string       `protobuf:"bytes,5,opt,name=mapping_label,json=mappingLabel,proto3" json:"mapping_label,omitempty"`
 	PonIdConfig          *PonIdConfig `protobuf:"bytes,6,opt,name=pon_id_config,json=ponIdConfig,proto3" json:"pon_id_config,omitempty"`
 	SpeedAutonegotiation bool         `protobuf:"varint,7,opt,name=speed_autonegotiation,json=speedAutonegotiation,proto3" json:"speed_autonegotiation,omitempty"`
+	Distance             *PonDistance `protobuf:"bytes,8,opt,name=distance,proto3" json:"distance,omitempty"`
 	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
 	XXX_unrecognized     []byte       `json:"-"`
 	XXX_sizecache        int32        `json:"-"`
@@ -1102,8 +1109,73 @@
 	return false
 }
 
+func (m *PortComponentAttributes) GetDistance() *PonDistance {
+	if m != nil {
+		return m.Distance
+	}
+	return nil
+}
+
+type PonDistance struct {
+	//
+	// The ITU-T G.987.x series of Recommendations addresses the linear extent parameters of XG-PON
+	// using the single concept of fibre distance. An ONU is characterized by its fibre distance, and for
+	// each pair of ONUs on the same OLT PON interface, the differential fibre distance is the difference
+	// between the two individual fibre distances. Each specific PMD layer parameter set contains a
+	// provision to support a specific maximum fibre distance. The XG-PON TC layer specification
+	// contains a provision to support specific ranges of maximum fibre distance and maximum
+	// differential fibre distance. These ranges can be configurable for a given system. One can expect that
+	// for each XG-PON deployment, the configured TC layer maximum fibre distance will match the
+	// maximum fibre distance supported by the selected PMD layer parameter set.
+	MaxDistance             uint32   `protobuf:"varint,1,opt,name=max_distance,json=maxDistance,proto3" json:"max_distance,omitempty"`
+	MaxDifferentialDistance uint32   `protobuf:"varint,2,opt,name=max_differential_distance,json=maxDifferentialDistance,proto3" json:"max_differential_distance,omitempty"`
+	XXX_NoUnkeyedLiteral    struct{} `json:"-"`
+	XXX_unrecognized        []byte   `json:"-"`
+	XXX_sizecache           int32    `json:"-"`
+}
+
+func (m *PonDistance) Reset()         { *m = PonDistance{} }
+func (m *PonDistance) String() string { return proto.CompactTextString(m) }
+func (*PonDistance) ProtoMessage()    {}
+func (*PonDistance) Descriptor() ([]byte, []int) {
+	return fileDescriptor_d7c33d745c4ab367, []int{6}
+}
+
+func (m *PonDistance) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_PonDistance.Unmarshal(m, b)
+}
+func (m *PonDistance) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_PonDistance.Marshal(b, m, deterministic)
+}
+func (m *PonDistance) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_PonDistance.Merge(m, src)
+}
+func (m *PonDistance) XXX_Size() int {
+	return xxx_messageInfo_PonDistance.Size(m)
+}
+func (m *PonDistance) XXX_DiscardUnknown() {
+	xxx_messageInfo_PonDistance.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PonDistance proto.InternalMessageInfo
+
+func (m *PonDistance) GetMaxDistance() uint32 {
+	if m != nil {
+		return m.MaxDistance
+	}
+	return 0
+}
+
+func (m *PonDistance) GetMaxDifferentialDistance() uint32 {
+	if m != nil {
+		return m.MaxDifferentialDistance
+	}
+	return 0
+}
+
 type PortComponentChangeAttributes struct {
 	PonIdConfig          *PonIdConfig `protobuf:"bytes,1,opt,name=pon_id_config,json=ponIdConfig,proto3" json:"pon_id_config,omitempty"`
+	Distance             *PonDistance `protobuf:"bytes,2,opt,name=distance,proto3" json:"distance,omitempty"`
 	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
 	XXX_unrecognized     []byte       `json:"-"`
 	XXX_sizecache        int32        `json:"-"`
@@ -1113,7 +1185,7 @@
 func (m *PortComponentChangeAttributes) String() string { return proto.CompactTextString(m) }
 func (*PortComponentChangeAttributes) ProtoMessage()    {}
 func (*PortComponentChangeAttributes) Descriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{6}
+	return fileDescriptor_d7c33d745c4ab367, []int{7}
 }
 
 func (m *PortComponentChangeAttributes) XXX_Unmarshal(b []byte) error {
@@ -1141,6 +1213,13 @@
 	return nil
 }
 
+func (m *PortComponentChangeAttributes) GetDistance() *PonDistance {
+	if m != nil {
+		return m.Distance
+	}
+	return nil
+}
+
 type TransceiverComponentChangeAttributes struct {
 	TransType            TransceiverType `protobuf:"varint,1,opt,name=trans_type,json=transType,proto3,enum=dmi.TransceiverType" json:"trans_type,omitempty"`
 	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
@@ -1152,7 +1231,7 @@
 func (m *TransceiverComponentChangeAttributes) String() string { return proto.CompactTextString(m) }
 func (*TransceiverComponentChangeAttributes) ProtoMessage()    {}
 func (*TransceiverComponentChangeAttributes) Descriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{7}
+	return fileDescriptor_d7c33d745c4ab367, []int{8}
 }
 
 func (m *TransceiverComponentChangeAttributes) XXX_Unmarshal(b []byte) error {
@@ -1195,7 +1274,7 @@
 func (m *PonIdConfig) String() string { return proto.CompactTextString(m) }
 func (*PonIdConfig) ProtoMessage()    {}
 func (*PonIdConfig) Descriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{8}
+	return fileDescriptor_d7c33d745c4ab367, []int{9}
 }
 
 func (m *PonIdConfig) XXX_Unmarshal(b []byte) error {
@@ -1241,7 +1320,7 @@
 func (m *ContainerComponentAttributes) String() string { return proto.CompactTextString(m) }
 func (*ContainerComponentAttributes) ProtoMessage()    {}
 func (*ContainerComponentAttributes) Descriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{9}
+	return fileDescriptor_d7c33d745c4ab367, []int{10}
 }
 
 func (m *ContainerComponentAttributes) XXX_Unmarshal(b []byte) error {
@@ -1280,7 +1359,7 @@
 func (m *PsuComponentAttributes) String() string { return proto.CompactTextString(m) }
 func (*PsuComponentAttributes) ProtoMessage()    {}
 func (*PsuComponentAttributes) Descriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{10}
+	return fileDescriptor_d7c33d745c4ab367, []int{11}
 }
 
 func (m *PsuComponentAttributes) XXX_Unmarshal(b []byte) error {
@@ -1315,9 +1394,14 @@
 	MaxDistance      uint32     `protobuf:"varint,3,opt,name=max_distance,json=maxDistance,proto3" json:"max_distance,omitempty"`
 	MaxDistanceScale ValueScale `protobuf:"varint,4,opt,name=max_distance_scale,json=maxDistanceScale,proto3,enum=dmi.ValueScale" json:"max_distance_scale,omitempty"`
 	// The receive and transmit wavelengths that the transeiver operates on
-	RxWavelength         []uint32   `protobuf:"varint,5,rep,packed,name=rx_wavelength,json=rxWavelength,proto3" json:"rx_wavelength,omitempty"`
-	TxWavelength         []uint32   `protobuf:"varint,6,rep,packed,name=tx_wavelength,json=txWavelength,proto3" json:"tx_wavelength,omitempty"`
-	WavelengthScale      ValueScale `protobuf:"varint,7,opt,name=wavelength_scale,json=wavelengthScale,proto3,enum=dmi.ValueScale" json:"wavelength_scale,omitempty"`
+	RxWavelength    []uint32   `protobuf:"varint,5,rep,packed,name=rx_wavelength,json=rxWavelength,proto3" json:"rx_wavelength,omitempty"`
+	TxWavelength    []uint32   `protobuf:"varint,6,rep,packed,name=tx_wavelength,json=txWavelength,proto3" json:"tx_wavelength,omitempty"`
+	WavelengthScale ValueScale `protobuf:"varint,7,opt,name=wavelength_scale,json=wavelengthScale,proto3,enum=dmi.ValueScale" json:"wavelength_scale,omitempty"`
+	// The tx powers on the transceiver; the value type of tx_power should be dBm.
+	// Note: When there are multiple rx/tx wavelengths and powers
+	// each of the corresponding ones should be aligned on the same index of the array
+	TxPower              []int32    `protobuf:"varint,8,rep,packed,name=tx_power,json=txPower,proto3" json:"tx_power,omitempty"`
+	TxPowerScale         ValueScale `protobuf:"varint,9,opt,name=tx_power_scale,json=txPowerScale,proto3,enum=dmi.ValueScale" json:"tx_power_scale,omitempty"`
 	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
 	XXX_unrecognized     []byte     `json:"-"`
 	XXX_sizecache        int32      `json:"-"`
@@ -1327,7 +1411,7 @@
 func (m *TransceiverComponentsAttributes) String() string { return proto.CompactTextString(m) }
 func (*TransceiverComponentsAttributes) ProtoMessage()    {}
 func (*TransceiverComponentsAttributes) Descriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{11}
+	return fileDescriptor_d7c33d745c4ab367, []int{12}
 }
 
 func (m *TransceiverComponentsAttributes) XXX_Unmarshal(b []byte) error {
@@ -1397,6 +1481,20 @@
 	return ValueScale_VALUE_SCALE_UNDEFINED
 }
 
+func (m *TransceiverComponentsAttributes) GetTxPower() []int32 {
+	if m != nil {
+		return m.TxPower
+	}
+	return nil
+}
+
+func (m *TransceiverComponentsAttributes) GetTxPowerScale() ValueScale {
+	if m != nil {
+		return m.TxPowerScale
+	}
+	return ValueScale_VALUE_SCALE_UNDEFINED
+}
+
 type Component struct {
 	// The name of a component uniquely identifies a component within the hardware
 	Name        string        `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
@@ -1440,7 +1538,7 @@
 func (m *Component) String() string { return proto.CompactTextString(m) }
 func (*Component) ProtoMessage()    {}
 func (*Component) Descriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{12}
+	return fileDescriptor_d7c33d745c4ab367, []int{13}
 }
 
 func (m *Component) XXX_Unmarshal(b []byte) error {
@@ -1691,7 +1789,7 @@
 func (m *Hardware) String() string { return proto.CompactTextString(m) }
 func (*Hardware) ProtoMessage()    {}
 func (*Hardware) Descriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{13}
+	return fileDescriptor_d7c33d745c4ab367, []int{14}
 }
 
 func (m *Hardware) XXX_Unmarshal(b []byte) error {
@@ -1760,7 +1858,7 @@
 func (m *ModifiableComponent) String() string { return proto.CompactTextString(m) }
 func (*ModifiableComponent) ProtoMessage()    {}
 func (*ModifiableComponent) Descriptor() ([]byte, []int) {
-	return fileDescriptor_d7c33d745c4ab367, []int{14}
+	return fileDescriptor_d7c33d745c4ab367, []int{15}
 }
 
 func (m *ModifiableComponent) XXX_Unmarshal(b []byte) error {
@@ -1904,6 +2002,7 @@
 	proto.RegisterType((*ComponentState)(nil), "dmi.ComponentState")
 	proto.RegisterType((*ComponentSensorData)(nil), "dmi.ComponentSensorData")
 	proto.RegisterType((*PortComponentAttributes)(nil), "dmi.PortComponentAttributes")
+	proto.RegisterType((*PonDistance)(nil), "dmi.PonDistance")
 	proto.RegisterType((*PortComponentChangeAttributes)(nil), "dmi.PortComponentChangeAttributes")
 	proto.RegisterType((*TransceiverComponentChangeAttributes)(nil), "dmi.TransceiverComponentChangeAttributes")
 	proto.RegisterType((*PonIdConfig)(nil), "dmi.PonIdConfig")
@@ -1918,182 +2017,188 @@
 func init() { proto.RegisterFile("dmi/hw.proto", fileDescriptor_d7c33d745c4ab367) }
 
 var fileDescriptor_d7c33d745c4ab367 = []byte{
-	// 2824 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xcd, 0x72, 0xe3, 0xc6,
-	0xf1, 0x5f, 0x7e, 0x93, 0x4d, 0x52, 0x1a, 0xcd, 0x7e, 0xd1, 0xfb, 0x61, 0xaf, 0xf9, 0x5f, 0xbb,
-	0xd6, 0xfa, 0xc7, 0x92, 0x96, 0xab, 0x4d, 0xad, 0xe3, 0x72, 0xa5, 0x20, 0x10, 0x94, 0xe0, 0x25,
-	0x01, 0x78, 0x00, 0x6a, 0x57, 0xce, 0x01, 0x05, 0x91, 0x10, 0x85, 0x2a, 0x12, 0x60, 0x01, 0xa0,
-	0xbc, 0x5b, 0x95, 0x53, 0x2a, 0x97, 0x9c, 0xf2, 0x12, 0xae, 0x94, 0x4f, 0xb9, 0x24, 0xc7, 0x1c,
-	0x9c, 0x43, 0x9e, 0x20, 0xa7, 0x3c, 0x43, 0x1e, 0x22, 0xa9, 0x99, 0x01, 0x48, 0x10, 0x84, 0xd6,
-	0xeb, 0xaa, 0xdc, 0x66, 0xfa, 0xf7, 0xeb, 0x9e, 0x46, 0x77, 0x4f, 0xcf, 0x0c, 0xa0, 0x31, 0x9e,
-	0x39, 0xfb, 0x97, 0xdf, 0xed, 0xcd, 0x7d, 0x2f, 0xf4, 0x70, 0x61, 0x3c, 0x73, 0xee, 0x7d, 0x34,
-	0xf1, 0xbc, 0xc9, 0xd4, 0xde, 0x67, 0xa2, 0xf3, 0xc5, 0xc5, 0x7e, 0xe8, 0xcc, 0xec, 0x20, 0xb4,
-	0x66, 0x73, 0xce, 0x6a, 0xdf, 0x83, 0xe2, 0x70, 0xe1, 0x8c, 0x31, 0x86, 0xe2, 0x62, 0xe1, 0x8c,
-	0x5b, 0xb9, 0x47, 0xb9, 0x27, 0x35, 0xc2, 0xc6, 0xed, 0xff, 0x07, 0x38, 0xb1, 0xfc, 0xf1, 0x77,
-	0x96, 0x6f, 0xcb, 0x5d, 0xfc, 0x30, 0xc1, 0xa8, 0x77, 0x6a, 0x7b, 0xe3, 0x99, 0xb3, 0x47, 0x55,
-	0x23, 0xf2, 0x5d, 0x28, 0x0c, 0x7d, 0x07, 0x23, 0x28, 0x2c, 0x7c, 0x27, 0x32, 0x43, 0x87, 0xed,
-	0xdf, 0x17, 0x60, 0x4b, 0xf4, 0x66, 0x73, 0xcf, 0xb5, 0xdd, 0x50, 0x0f, 0xad, 0xd0, 0xc6, 0x27,
-	0x80, 0x03, 0x3a, 0x30, 0xa7, 0x56, 0x10, 0x9a, 0xa3, 0x4b, 0xcb, 0x9d, 0xd8, 0xb1, 0xe1, 0x7b,
-	0x7b, 0xdc, 0xe5, 0xbd, 0xd8, 0xe5, 0x3d, 0x23, 0x76, 0x99, 0x20, 0xa6, 0xd5, 0xb7, 0x82, 0x50,
-	0xe4, 0x3a, 0xf8, 0x0b, 0xa8, 0x5b, 0xe3, 0x99, 0xe3, 0x9a, 0x0c, 0x69, 0xe5, 0x1f, 0xe5, 0x9e,
-	0x6c, 0x75, 0x5a, 0xcc, 0xb7, 0xe5, 0x9a, 0x02, 0x25, 0xb0, 0x85, 0x09, 0x58, 0xcb, 0x31, 0xfe,
-	0x25, 0x80, 0x37, 0xb7, 0xfd, 0x48, 0xb3, 0xc0, 0x34, 0xef, 0xae, 0x6b, 0xaa, 0x73, 0xdb, 0xe7,
-	0x8a, 0x35, 0x2f, 0x1e, 0xd2, 0x25, 0x17, 0x81, 0x35, 0xb1, 0x23, 0xc5, 0x62, 0xd6, 0x92, 0x43,
-	0x4a, 0x88, 0x96, 0x5c, 0x2c, 0xc7, 0xcc, 0xdb, 0xa9, 0xe5, 0xcf, 0x22, 0xd5, 0x52, 0xa6, 0xb7,
-	0x94, 0x10, 0x7b, 0xbb, 0x1c, 0xe3, 0x5f, 0x43, 0x33, 0x08, 0x2d, 0x77, 0x7c, 0xfe, 0x36, 0x52,
-	0x2e, 0x33, 0xe5, 0x7b, 0xeb, 0xca, 0x3a, 0xa7, 0x70, 0xf5, 0x46, 0x90, 0x98, 0xb5, 0xff, 0x9d,
-	0x87, 0x9b, 0x2b, 0x9e, 0xed, 0x06, 0x9e, 0xdf, 0xb5, 0x42, 0x0b, 0xdf, 0x82, 0xd2, 0x95, 0x35,
-	0x5d, 0xd8, 0x2c, 0xfc, 0x25, 0xc2, 0x27, 0xf8, 0x53, 0x28, 0x86, 0x6f, 0xe7, 0x71, 0x40, 0x31,
-	0x5b, 0x85, 0xd2, 0x4f, 0x29, 0x6a, 0xbc, 0x9d, 0xdb, 0x84, 0xe1, 0xf8, 0x13, 0x28, 0x05, 0x23,
-	0x6b, 0x1a, 0xc7, 0x6f, 0x9b, 0x11, 0x19, 0x49, 0xa7, 0x62, 0xc2, 0x51, 0xfc, 0x00, 0x6a, 0x73,
-	0xdf, 0x1e, 0x39, 0x81, 0xe3, 0xb9, 0x2c, 0x62, 0x25, 0xb2, 0x12, 0xe0, 0xcf, 0xa0, 0x4c, 0xbf,
-	0x69, 0x11, 0x44, 0x11, 0xd9, 0x61, 0x56, 0xb8, 0x8f, 0x3a, 0x03, 0x48, 0x44, 0xc0, 0xff, 0x07,
-	0xcd, 0x85, 0xeb, 0x84, 0x81, 0x39, 0x76, 0x82, 0xf9, 0xd4, 0x7a, 0xcb, 0xc2, 0x50, 0x23, 0x0d,
-	0x26, 0xec, 0x72, 0x19, 0x7e, 0x01, 0xb5, 0x65, 0x99, 0xb7, 0x2a, 0x3f, 0x59, 0x55, 0x2b, 0x32,
-	0xde, 0x85, 0x1d, 0xf6, 0xfd, 0xe6, 0x62, 0x3e, 0xa6, 0xf5, 0xe9, 0xd3, 0x48, 0x57, 0x1f, 0xe5,
-	0x9e, 0x34, 0xc9, 0x36, 0x03, 0x86, 0x4c, 0x4e, 0x68, 0x46, 0xee, 0x43, 0x6d, 0x6c, 0x85, 0x96,
-	0xc9, 0xe2, 0x54, 0x63, 0x6e, 0x54, 0xa9, 0x80, 0x46, 0xa7, 0xfd, 0xf7, 0x32, 0xdc, 0xd5, 0x3c,
-	0x3f, 0x5c, 0xa5, 0x35, 0x0c, 0x7d, 0xe7, 0x7c, 0x11, 0xda, 0x01, 0xfe, 0x06, 0xb6, 0x46, 0x9e,
-	0xeb, 0xda, 0xa3, 0xd0, 0xf3, 0xb9, 0x76, 0x8e, 0x7d, 0xf6, 0x2e, 0xfb, 0xec, 0x6b, 0xb4, 0xf6,
-	0xc4, 0x58, 0x85, 0x45, 0xbf, 0x39, 0x4a, 0x4e, 0xf1, 0x0b, 0x28, 0x05, 0x73, 0xdb, 0x1e, 0x47,
-	0xf9, 0x6a, 0xbf, 0xd3, 0x92, 0x4e, 0x99, 0x84, 0x2b, 0x60, 0x01, 0xaa, 0x2c, 0x24, 0x23, 0x6f,
-	0x1a, 0xe5, 0xf0, 0x93, 0x77, 0x2a, 0x6b, 0x11, 0x99, 0x2c, 0xd5, 0xf0, 0x27, 0xb0, 0x35, 0xbf,
-	0x7c, 0x1b, 0x38, 0x23, 0x6b, 0x6a, 0x4e, 0xad, 0x73, 0x7b, 0xca, 0x32, 0x5c, 0x23, 0xcd, 0x58,
-	0xda, 0xa7, 0x42, 0x9a, 0xba, 0x99, 0x35, 0x9f, 0x3b, 0xee, 0x24, 0x62, 0x95, 0x78, 0xea, 0x22,
-	0x21, 0x27, 0x1d, 0x42, 0x73, 0xee, 0xb9, 0xa6, 0x33, 0x36, 0x47, 0x9e, 0x7b, 0xe1, 0x4c, 0x58,
-	0x7e, 0xeb, 0x1d, 0x14, 0xf9, 0xe4, 0xca, 0x63, 0x91, 0xc9, 0x49, 0x7d, 0xbe, 0x9a, 0xe0, 0x67,
-	0x70, 0x9b, 0x7d, 0x8d, 0x69, 0x2d, 0x42, 0xcf, 0xb5, 0x27, 0x5e, 0xe8, 0x58, 0x21, 0x2d, 0x35,
-	0x9a, 0xfc, 0x2a, 0xb9, 0xc5, 0x40, 0x61, 0x1d, 0x6b, 0xcf, 0xa1, 0xb9, 0x16, 0x53, 0xfc, 0x00,
-	0x5a, 0xa2, 0xaa, 0x28, 0x92, 0x68, 0xa8, 0xc4, 0x34, 0xce, 0x34, 0xc9, 0x1c, 0x2a, 0x5d, 0xa9,
-	0x27, 0x2b, 0x52, 0x17, 0xdd, 0xc0, 0x55, 0x28, 0x92, 0xaf, 0x0f, 0x9f, 0xa3, 0x1c, 0x6e, 0x40,
-	0xb5, 0x27, 0x1f, 0x49, 0xc4, 0xec, 0x8b, 0x28, 0x8f, 0xb7, 0xa1, 0xce, 0x67, 0xba, 0x68, 0x6a,
-	0x22, 0x2a, 0xe0, 0x26, 0xd4, 0xb8, 0x60, 0xa0, 0xa9, 0xa8, 0x88, 0x6b, 0x50, 0x22, 0x7a, 0xe7,
-	0x59, 0x07, 0x95, 0xda, 0x7f, 0xce, 0x41, 0x89, 0x05, 0x1f, 0xdf, 0x84, 0x6d, 0x5d, 0x93, 0xa4,
-	0xee, 0xda, 0x0a, 0x75, 0xa8, 0x74, 0xcf, 0x14, 0x61, 0x20, 0x8b, 0x28, 0x47, 0xad, 0x1c, 0xcb,
-	0xc7, 0xc2, 0x91, 0x6c, 0x98, 0x4f, 0x51, 0x1e, 0x6f, 0x01, 0x2c, 0xa7, 0x07, 0xa8, 0x90, 0x9c,
-	0x77, 0x9e, 0xa3, 0x62, 0x72, 0x7e, 0x78, 0x80, 0x4a, 0xd4, 0xab, 0x15, 0xff, 0x00, 0x95, 0x93,
-	0x82, 0xc3, 0x83, 0x03, 0x54, 0xc1, 0x08, 0x1a, 0x03, 0x29, 0xb6, 0x70, 0x70, 0x80, 0xaa, 0x49,
-	0xc9, 0xd3, 0xce, 0xf3, 0x03, 0x54, 0x6b, 0xff, 0x16, 0xaa, 0x71, 0xbe, 0xf1, 0x1d, 0xc0, 0x1a,
-	0x51, 0x0d, 0x55, 0x54, 0xfb, 0x6b, 0x5e, 0x37, 0xa0, 0x2a, 0x19, 0x27, 0x12, 0x51, 0x24, 0x03,
-	0xe5, 0x68, 0x94, 0x8e, 0x35, 0x55, 0x41, 0x79, 0xfa, 0xdd, 0xaf, 0xd9, 0xb0, 0x80, 0x01, 0xca,
-	0xaf, 0x8f, 0x75, 0x3a, 0x66, 0xe1, 0x38, 0xee, 0x09, 0xba, 0x81, 0x4a, 0x54, 0xac, 0x4b, 0x44,
-	0x16, 0xfa, 0xa8, 0x4c, 0xf5, 0x24, 0x4a, 0xa8, 0xd0, 0xd1, 0x91, 0x6c, 0xe8, 0xa8, 0xda, 0x1e,
-	0xc2, 0xc3, 0xb5, 0x2a, 0xe4, 0x3d, 0x3f, 0xb1, 0x91, 0x36, 0x8a, 0x25, 0xf7, 0x1e, 0xc5, 0xd2,
-	0xfe, 0x0d, 0x3c, 0x36, 0x7c, 0xcb, 0x0d, 0x46, 0xb6, 0x73, 0x65, 0xfb, 0xd7, 0x5b, 0x7f, 0x06,
-	0x10, 0x52, 0x5e, 0x72, 0x8b, 0xde, 0x62, 0xa6, 0x13, 0xea, 0x6c, 0x33, 0xd6, 0x18, 0x8f, 0xed,
-	0xfb, 0x11, 0xd4, 0x13, 0x0b, 0xe3, 0xdb, 0x50, 0xe6, 0x1e, 0x32, 0xfd, 0x06, 0x29, 0x31, 0x47,
-	0xf0, 0x57, 0x70, 0x3f, 0x72, 0x9c, 0x69, 0xce, 0x9c, 0xd0, 0x9c, 0xdb, 0xbe, 0xe3, 0x8d, 0x9d,
-	0x91, 0x13, 0xbe, 0x65, 0x9b, 0xb8, 0x49, 0x5a, 0x8c, 0x6b, 0x44, 0x04, 0x6d, 0x85, 0xb7, 0x25,
-	0x78, 0x20, 0x7a, 0x6e, 0x68, 0x39, 0x6e, 0xc2, 0xff, 0x84, 0xe7, 0x9b, 0x1b, 0x32, 0x97, 0xb1,
-	0x21, 0xdb, 0xff, 0xc8, 0xc1, 0x1d, 0x2d, 0x58, 0x64, 0x59, 0x38, 0x83, 0x9d, 0x60, 0x31, 0x9f,
-	0x7b, 0x7e, 0x68, 0x8f, 0xcd, 0x2b, 0x6f, 0x1a, 0x5a, 0x93, 0x38, 0x04, 0xbf, 0xe0, 0xd1, 0xcd,
-	0xd4, 0xdb, 0xd3, 0x63, 0xa5, 0x53, 0xae, 0x43, 0x50, 0x90, 0x92, 0xb4, 0x35, 0x40, 0x69, 0x16,
-	0xfe, 0x08, 0xee, 0xeb, 0x43, 0x4d, 0x53, 0x89, 0x21, 0x75, 0xcd, 0x53, 0xb5, 0x6f, 0x08, 0xc7,
-	0xeb, 0x9b, 0xaf, 0x02, 0x85, 0xd3, 0xc3, 0x17, 0xbc, 0xbe, 0x4e, 0x3b, 0xcf, 0x0e, 0x50, 0x9e,
-	0x8d, 0x9e, 0x3e, 0x7d, 0x8e, 0x0a, 0xed, 0x7f, 0x16, 0xe1, 0xa3, 0xac, 0x8c, 0x06, 0x89, 0x0f,
-	0xd2, 0xa0, 0x7e, 0xe1, 0xf9, 0x33, 0xf3, 0xc2, 0xa2, 0xdb, 0x3d, 0xfa, 0x94, 0xfd, 0x74, 0x36,
-	0xb3, 0x54, 0xf7, 0x7a, 0x9e, 0x3f, 0xeb, 0x31, 0x35, 0x02, 0x17, 0xcb, 0x71, 0xaa, 0x3c, 0xf2,
-	0xef, 0x55, 0x1e, 0xf8, 0x63, 0x68, 0xcc, 0xac, 0x37, 0xf4, 0xf0, 0x0a, 0x2d, 0x77, 0xc4, 0x4f,
-	0xcd, 0x26, 0xa9, 0xcf, 0xac, 0x37, 0xdd, 0x48, 0x84, 0xbf, 0x02, 0x9c, 0xa4, 0x98, 0xfc, 0x78,
-	0x2d, 0x66, 0x1f, 0xaf, 0x28, 0xa1, 0xc9, 0x24, 0xb4, 0xcb, 0xfa, 0x6f, 0xcc, 0xef, 0xac, 0x2b,
-	0x7b, 0x6a, 0xbb, 0x93, 0xf0, 0xb2, 0x55, 0x7a, 0x54, 0x78, 0xd2, 0x24, 0x0d, 0xff, 0xcd, 0xab,
-	0xa5, 0x8c, 0x92, 0xc2, 0x35, 0x52, 0x99, 0x93, 0xc2, 0x24, 0xe9, 0x57, 0x80, 0x56, 0x8c, 0xc8,
-	0x8d, 0x4a, 0xb6, 0x1b, 0xdb, 0x2b, 0x22, 0x13, 0xb4, 0x7f, 0xcc, 0x01, 0xac, 0xe2, 0x86, 0xef,
-	0xc2, 0xcd, 0x9e, 0x4a, 0x06, 0x66, 0x4f, 0x60, 0xbd, 0x75, 0xa8, 0xbc, 0x54, 0xd4, 0x57, 0x0a,
-	0x6f, 0xaa, 0xdf, 0xe8, 0x3d, 0x8d, 0xf7, 0x3b, 0x3a, 0x32, 0xb5, 0xfe, 0x50, 0x47, 0x79, 0xda,
-	0x1b, 0xe8, 0xb4, 0xf3, 0x02, 0x15, 0x68, 0xf2, 0x29, 0xa7, 0x48, 0x5b, 0xcd, 0x92, 0x52, 0xa2,
-	0xe2, 0xd7, 0x3d, 0x8d, 0xf7, 0x0e, 0xb1, 0xa7, 0x1d, 0xf2, 0xde, 0x21, 0xf6, 0xb4, 0x0e, 0xaa,
-	0xb2, 0x91, 0x26, 0xbc, 0x44, 0x35, 0x5c, 0x86, 0xfc, 0xeb, 0x0e, 0x02, 0xda, 0x78, 0x54, 0xda,
-	0xa7, 0x50, 0x9d, 0x6a, 0x8a, 0x3d, 0x0d, 0x35, 0xa8, 0x41, 0xca, 0x37, 0x05, 0x51, 0x45, 0xcd,
-	0xe5, 0xac, 0x2b, 0xaa, 0x68, 0xab, 0xfd, 0xaf, 0x0a, 0xd4, 0x96, 0xf5, 0x40, 0xaf, 0xc7, 0xae,
-	0x35, 0xb3, 0xe3, 0xeb, 0x31, 0x1d, 0xe3, 0x27, 0x50, 0x1a, 0x4d, 0xad, 0x20, 0x58, 0xbb, 0x24,
-	0x2d, 0x55, 0x58, 0xea, 0x39, 0x01, 0x3f, 0x82, 0xfa, 0xd8, 0x0e, 0x46, 0xbe, 0x33, 0x67, 0xa7,
-	0x52, 0x81, 0x19, 0x49, 0x8a, 0xf0, 0x1d, 0x28, 0xcf, 0x2d, 0xdf, 0x76, 0xc3, 0xe8, 0xec, 0x8c,
-	0x66, 0xf8, 0x31, 0x6c, 0xf1, 0x91, 0xe9, 0xdb, 0x53, 0x73, 0xee, 0xf1, 0x2b, 0x52, 0x89, 0x34,
-	0xb8, 0x94, 0xd8, 0x53, 0xcd, 0x0b, 0xf0, 0x2e, 0x54, 0x47, 0x97, 0xce, 0x74, 0xec, 0xdb, 0x2e,
-	0x4b, 0x65, 0xbd, 0xb3, 0xb5, 0xee, 0x0c, 0x59, 0xe2, 0xb4, 0x04, 0x2f, 0xa3, 0x4b, 0xbd, 0xe9,
-	0xdb, 0x57, 0x2c, 0xa5, 0x35, 0x52, 0x8f, 0x65, 0xc4, 0xbe, 0xa2, 0x94, 0x0b, 0xc7, 0x9f, 0x2d,
-	0x29, 0x55, 0x4e, 0x89, 0x65, 0x11, 0x25, 0xf0, 0x2e, 0xc2, 0x25, 0x85, 0xdf, 0x7f, 0xea, 0xb1,
-	0x8c, 0x52, 0x1e, 0x02, 0x04, 0xb6, 0xef, 0x58, 0x53, 0xd3, 0x5d, 0xcc, 0x5a, 0xc0, 0x08, 0x35,
-	0x2e, 0x51, 0x16, 0x33, 0xfc, 0x01, 0x54, 0x67, 0x17, 0x13, 0x93, 0x45, 0xb5, 0xce, 0xc0, 0xca,
-	0xec, 0x62, 0xa2, 0xd0, 0xc0, 0x3e, 0x04, 0x98, 0x79, 0x63, 0x7b, 0xca, 0xc1, 0x06, 0xd7, 0x64,
-	0x12, 0x06, 0xdf, 0x82, 0x92, 0x35, 0x75, 0xac, 0xa0, 0xd5, 0x64, 0x08, 0x9f, 0x50, 0x7b, 0x56,
-	0x10, 0xd8, 0x21, 0x6d, 0xb6, 0x5b, 0xdc, 0x1e, 0x9b, 0xcb, 0x63, 0xda, 0x85, 0x9d, 0xc0, 0xbc,
-	0xf0, 0x17, 0xad, 0x6d, 0x76, 0x1f, 0x28, 0x39, 0x41, 0xcf, 0x5f, 0xe0, 0xe7, 0xdc, 0x03, 0x7a,
-	0xa1, 0x6b, 0xa1, 0x9f, 0xbc, 0x25, 0x52, 0xef, 0xba, 0xf4, 0xde, 0x77, 0x8f, 0xbf, 0x70, 0x76,
-	0x98, 0x46, 0x95, 0x3f, 0x83, 0x7c, 0x87, 0xbd, 0x75, 0x96, 0x6f, 0x24, 0x9c, 0xf9, 0x46, 0xc2,
-	0x9f, 0x41, 0x89, 0x5f, 0xde, 0x6f, 0x32, 0xfc, 0xe6, 0xc6, 0xe5, 0x3d, 0xa4, 0x37, 0xe6, 0xf8,
-	0xa9, 0x10, 0xb0, 0x0b, 0x30, 0xf5, 0xcf, 0x6a, 0xdd, 0x62, 0x59, 0x4d, 0x3d, 0x15, 0x56, 0xb7,
-	0x78, 0x02, 0xc1, 0xea, 0x46, 0xff, 0x25, 0xd4, 0x68, 0x7b, 0x35, 0xad, 0x30, 0xf4, 0x5b, 0x1d,
-	0xb6, 0xd2, 0x83, 0x77, 0xdd, 0xe9, 0x4e, 0x6e, 0x90, 0x2a, 0x55, 0xa0, 0x12, 0xfc, 0x35, 0xbb,
-	0x9c, 0xf2, 0xb3, 0x85, 0x5b, 0x78, 0xc6, 0x2c, 0x7c, 0x1c, 0x2d, 0x7d, 0xfd, 0xb1, 0x73, 0x72,
-	0x83, 0xdd, 0x4a, 0x39, 0xce, 0x6c, 0xbd, 0x80, 0xea, 0x3c, 0x58, 0x70, 0x2b, 0x87, 0xcc, 0xca,
-	0xfd, 0x77, 0x1c, 0x1e, 0x27, 0x37, 0x48, 0x65, 0x1e, 0x2c, 0x98, 0xe6, 0x37, 0x80, 0xc2, 0x55,
-	0x17, 0xe5, 0x16, 0x9e, 0x33, 0x0b, 0x8f, 0xdf, 0xa7, 0x67, 0x9f, 0xdc, 0x20, 0xdb, 0x09, 0x7d,
-	0x0a, 0x1c, 0x01, 0x54, 0x83, 0xb9, 0x3d, 0x72, 0x2e, 0x9c, 0x51, 0xfb, 0x87, 0x1c, 0x54, 0xe3,
-	0x97, 0x2d, 0xfe, 0x12, 0xea, 0x89, 0x67, 0xe8, 0x7b, 0xbc, 0x42, 0x61, 0xba, 0x7c, 0x80, 0xe2,
-	0x36, 0x14, 0x7d, 0xcf, 0x0b, 0x59, 0x0b, 0xd8, 0xdc, 0x75, 0x0c, 0x5b, 0x2e, 0x70, 0xee, 0x79,
-	0xa1, 0x3d, 0x66, 0xbb, 0xff, 0x3d, 0x16, 0x38, 0x62, 0xec, 0xf6, 0x8f, 0x05, 0xb8, 0x39, 0xf0,
-	0xc6, 0xce, 0x85, 0x63, 0x9d, 0x4f, 0xed, 0xff, 0x55, 0x43, 0xfa, 0x74, 0xd9, 0x6e, 0x0a, 0x99,
-	0x8e, 0x5f, 0xdf, 0x7e, 0x8a, 0x19, 0xed, 0x67, 0xb9, 0x21, 0x4b, 0xd7, 0x6d, 0xc8, 0xf2, 0xfa,
-	0x86, 0x8c, 0xb6, 0x50, 0x25, 0x6b, 0x0b, 0xa5, 0x5e, 0xf4, 0xd5, 0x9f, 0xf1, 0xa2, 0x17, 0x36,
-	0x0b, 0x3f, 0xe3, 0x25, 0x94, 0xbe, 0xe8, 0xad, 0x95, 0x7f, 0x0f, 0xaa, 0xa1, 0xff, 0x26, 0x59,
-	0xf8, 0x9f, 0x5d, 0x5b, 0x70, 0x19, 0x86, 0x2a, 0xa1, 0xff, 0x26, 0x5d, 0x6d, 0xbb, 0x7f, 0x2d,
-	0xd0, 0x97, 0x46, 0x22, 0x0b, 0xfc, 0xa5, 0x31, 0xd0, 0x54, 0x45, 0x52, 0x8c, 0xcd, 0x97, 0xc6,
-	0x3d, 0xb8, 0xb3, 0x81, 0xf2, 0x03, 0x33, 0x97, 0x81, 0x89, 0x27, 0x82, 0xae, 0xcb, 0xf4, 0xcc,
-	0xdc, 0xb4, 0x7a, 0x24, 0x88, 0x2f, 0xb5, 0xbe, 0xa0, 0x48, 0xa8, 0x90, 0x81, 0x8a, 0xaa, 0x62,
-	0x08, 0xb2, 0x22, 0x11, 0x54, 0xa4, 0x37, 0xb0, 0x14, 0xaa, 0xa9, 0xaf, 0xe8, 0xa3, 0x66, 0xa8,
-	0x69, 0xfd, 0x33, 0x54, 0xa2, 0xd7, 0xff, 0x14, 0xa1, 0x27, 0x28, 0xa8, 0x8c, 0x3f, 0x80, 0xdb,
-	0x29, 0xb9, 0x2e, 0x29, 0xba, 0x4a, 0x50, 0x25, 0x03, 0x1a, 0xa8, 0xdd, 0x61, 0x5f, 0x42, 0x55,
-	0x7a, 0x21, 0xd8, 0x58, 0x8e, 0x18, 0xa8, 0x96, 0xb1, 0x8c, 0xa8, 0x0d, 0x11, 0x64, 0x7c, 0xf7,
-	0x91, 0x60, 0x18, 0x12, 0x39, 0x43, 0xf5, 0x0c, 0x4c, 0x37, 0x54, 0x22, 0x1c, 0x4b, 0xa8, 0x91,
-	0xe5, 0x83, 0x34, 0x50, 0xc9, 0x19, 0x6a, 0xe2, 0x0f, 0xe1, 0x5e, 0x0a, 0x32, 0x88, 0xa0, 0xe8,
-	0xa2, 0x24, 0x9f, 0x4a, 0x04, 0x6d, 0xed, 0xfe, 0x25, 0x97, 0xf8, 0x61, 0xb2, 0xaa, 0xb8, 0x58,
-	0xcf, 0x14, 0xba, 0x03, 0x59, 0x31, 0x75, 0x43, 0x30, 0xd6, 0xd3, 0x17, 0x05, 0x3a, 0x85, 0xc7,
-	0x09, 0xbc, 0x0f, 0x77, 0x37, 0xd0, 0xbe, 0x2a, 0xbe, 0x94, 0xba, 0x28, 0x8f, 0xdb, 0xf0, 0xe1,
-	0x06, 0xa8, 0x9f, 0x0c, 0x0d, 0x43, 0x56, 0x8e, 0xcd, 0x2e, 0x35, 0x50, 0xc0, 0x0f, 0xe1, 0x83,
-	0x0c, 0xf3, 0x91, 0x89, 0xe2, 0xee, 0x0f, 0x39, 0xc0, 0x9b, 0xff, 0xaf, 0x96, 0x5a, 0xaa, 0x46,
-	0x93, 0xba, 0xe1, 0x73, 0xec, 0xd5, 0x1a, 0x1c, 0xbb, 0x1c, 0x7f, 0x50, 0x02, 0xec, 0xca, 0xba,
-	0x70, 0xd4, 0x67, 0x3e, 0x67, 0xa8, 0x4a, 0x0a, 0x07, 0x0b, 0x59, 0xa0, 0x21, 0xe9, 0xf4, 0x73,
-	0x50, 0x71, 0xf7, 0x4f, 0xc9, 0x00, 0xaf, 0xfe, 0x98, 0x2d, 0x03, 0x3c, 0xd4, 0xe9, 0x33, 0xe0,
-	0xfa, 0x00, 0xaf, 0xe3, 0xb1, 0xb7, 0x51, 0xc6, 0xd7, 0x50, 0xb9, 0xdb, 0x97, 0x12, 0xae, 0x26,
-	0x21, 0x41, 0x34, 0xe4, 0x53, 0xba, 0x3f, 0xb2, 0xf4, 0x8e, 0x86, 0xfa, 0x19, 0x2a, 0xee, 0xfe,
-	0x31, 0xf9, 0xeb, 0x6c, 0xf5, 0x7f, 0x6e, 0x55, 0x09, 0x7d, 0x81, 0x0c, 0xde, 0x55, 0x09, 0x6b,
-	0x78, 0xec, 0xe8, 0xc7, 0xf0, 0x30, 0x53, 0x9b, 0x98, 0x44, 0xd2, 0x04, 0x99, 0xa0, 0xfc, 0x2a,
-	0xd7, 0x09, 0x8a, 0x48, 0x64, 0x43, 0x16, 0x85, 0x3e, 0x2a, 0xc4, 0x85, 0xbf, 0x06, 0x0f, 0x84,
-	0xaf, 0x55, 0xba, 0xa1, 0x33, 0x31, 0x59, 0x51, 0x09, 0x2a, 0x65, 0xfa, 0xf5, 0x4a, 0x20, 0x0a,
-	0x4d, 0x4b, 0x79, 0x55, 0x84, 0x09, 0x54, 0x56, 0xba, 0x92, 0x21, 0x91, 0x81, 0xac, 0x08, 0x86,
-	0x84, 0x2a, 0xbb, 0x7f, 0xcb, 0xc1, 0xed, 0xcc, 0x9f, 0x8e, 0xf8, 0x11, 0x3c, 0x60, 0xda, 0xba,
-	0x21, 0x28, 0xdd, 0xa3, 0xb3, 0x8c, 0xa8, 0xc4, 0x51, 0x4b, 0x33, 0x52, 0x2d, 0x2e, 0x85, 0x9f,
-	0xa8, 0x46, 0x22, 0x83, 0xeb, 0x98, 0xa8, 0xf6, 0x69, 0xb1, 0x3d, 0x81, 0xc7, 0x19, 0xa0, 0x46,
-	0xd4, 0x53, 0xb9, 0x4b, 0x37, 0x90, 0x2e, 0x91, 0x53, 0x59, 0x94, 0x50, 0x71, 0xf7, 0x0f, 0x05,
-	0x68, 0xae, 0xfd, 0xcd, 0xc4, 0x2d, 0xb8, 0x75, 0x2a, 0xf4, 0x87, 0xd2, 0x66, 0x37, 0xbe, 0x05,
-	0x28, 0x81, 0xf0, 0x27, 0x44, 0x8e, 0xf6, 0xa9, 0x35, 0x3e, 0x77, 0x3e, 0x4f, 0x1b, 0x5b, 0x42,
-	0x4e, 0x9f, 0xb2, 0xba, 0x29, 0x88, 0xa8, 0x90, 0x09, 0x74, 0x45, 0x54, 0x4c, 0x59, 0x12, 0x06,
-	0x9a, 0x44, 0x24, 0xfa, 0xbc, 0x59, 0x5f, 0xf7, 0x95, 0x60, 0x18, 0x3a, 0x2a, 0xa7, 0xa4, 0x27,
-	0x12, 0x31, 0xbe, 0x45, 0x95, 0x94, 0x0d, 0x51, 0xea, 0xeb, 0xf2, 0x50, 0x47, 0x55, 0x5a, 0xd3,
-	0x09, 0xb9, 0x26, 0x11, 0x91, 0xf6, 0x3a, 0x72, 0x82, 0x6a, 0x18, 0xc3, 0x56, 0x02, 0x22, 0xda,
-	0x00, 0x41, 0x4a, 0x26, 0x0e, 0x06, 0xbc, 0xb9, 0x26, 0x64, 0x06, 0x19, 0x1a, 0x27, 0x26, 0x13,
-	0xa0, 0x46, 0x6a, 0xd9, 0xc8, 0x3c, 0x6a, 0xe2, 0xdb, 0xb0, 0x93, 0x90, 0x0f, 0x68, 0xe5, 0xe8,
-	0x68, 0x2b, 0xe5, 0xfb, 0xd1, 0x99, 0x21, 0xe9, 0x68, 0x7b, 0xf7, 0xfb, 0x02, 0xc0, 0xea, 0x29,
-	0xb9, 0x72, 0x59, 0x17, 0x85, 0xfe, 0x7a, 0x26, 0x96, 0x66, 0x39, 0x74, 0xa6, 0x8a, 0x86, 0x8a,
-	0x72, 0x69, 0xf1, 0xb7, 0x92, 0x66, 0xa8, 0x28, 0xbf, 0x5a, 0x8d, 0x8b, 0x05, 0xc3, 0x50, 0x51,
-	0x21, 0x4d, 0xee, 0x49, 0x03, 0x43, 0x45, 0xc5, 0x34, 0x59, 0x93, 0x45, 0x35, 0x99, 0x02, 0x2e,
-	0x55, 0x04, 0x45, 0x45, 0xe5, 0xb4, 0x89, 0x81, 0x2c, 0x12, 0x15, 0x55, 0x36, 0xc5, 0xfd, 0xbe,
-	0x8c, 0xaa, 0x69, 0xf1, 0x50, 0x91, 0x0d, 0x1d, 0xd5, 0xd2, 0xa6, 0x5f, 0xca, 0x7d, 0x15, 0x41,
-	0x5a, 0x3a, 0x90, 0x8e, 0x05, 0x54, 0x4f, 0x4b, 0x8f, 0xe5, 0x63, 0x01, 0x35, 0xd2, 0x52, 0x43,
-	0x22, 0x02, 0x6a, 0x6e, 0x7c, 0x88, 0x64, 0x08, 0x68, 0x0b, 0xdf, 0x84, 0xed, 0xa4, 0x54, 0x7a,
-	0x2d, 0xa0, 0xed, 0xcd, 0xb8, 0x19, 0x86, 0x80, 0xd0, 0x66, 0x94, 0xa9, 0x78, 0x67, 0xf7, 0x77,
-	0x39, 0x68, 0x24, 0xff, 0xc8, 0xd3, 0xad, 0xc8, 0x4f, 0x7a, 0xb6, 0xcf, 0x86, 0x7a, 0x7a, 0xd3,
-	0xac, 0x83, 0xea, 0x4b, 0x94, 0xa3, 0xed, 0x2c, 0xad, 0x22, 0x9c, 0x0a, 0x72, 0x9f, 0x9e, 0x16,
-	0x28, 0x4f, 0x5b, 0xc7, 0x3a, 0xac, 0xa8, 0x0a, 0x3d, 0x38, 0x04, 0x43, 0x56, 0x15, 0xda, 0xf0,
-	0x76, 0xbf, 0xcf, 0xc1, 0x76, 0xea, 0xef, 0x0a, 0x2d, 0xda, 0x8d, 0x3d, 0xfb, 0x33, 0xff, 0x49,
-	0xb2, 0x9f, 0x05, 0xaa, 0x82, 0x4a, 0xb8, 0x0e, 0x15, 0xe5, 0xd8, 0xd4, 0x54, 0xa5, 0xb3, 0xf6,
-	0x4f, 0xf2, 0x36, 0xec, 0x88, 0xea, 0xe0, 0x48, 0x35, 0xa9, 0xb2, 0x19, 0xe9, 0x55, 0xf1, 0x1d,
-	0xd8, 0x61, 0x4b, 0x2b, 0xaa, 0x61, 0xd2, 0xfe, 0x28, 0x1a, 0x52, 0x17, 0xfd, 0x27, 0x77, 0xf4,
-	0xe5, 0xb7, 0x5f, 0x4c, 0x9c, 0xf0, 0x72, 0x71, 0xbe, 0x37, 0xf2, 0x66, 0xfb, 0xde, 0xdc, 0x76,
-	0x47, 0x9e, 0x3f, 0xde, 0x1f, 0xdb, 0x57, 0xce, 0xc8, 0xfe, 0x7c, 0x66, 0xb9, 0xd6, 0xc4, 0x9e,
-	0xd9, 0x6e, 0xf8, 0xb9, 0xe3, 0x86, 0xb6, 0x7f, 0x61, 0x8d, 0xec, 0xfd, 0xab, 0x67, 0xfb, 0x13,
-	0x6f, 0x7f, 0x3c, 0x73, 0xce, 0xcb, 0xec, 0x41, 0xf0, 0xec, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff,
-	0x27, 0xda, 0x52, 0xa5, 0xcd, 0x1b, 0x00, 0x00,
+	// 2926 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x59, 0xcd, 0x92, 0xdb, 0xc6,
+	0x11, 0x16, 0xff, 0xc9, 0x26, 0xb9, 0x3b, 0x3b, 0xfa, 0xa3, 0xfe, 0x6c, 0x99, 0x91, 0x5d, 0xf2,
+	0xc6, 0xde, 0x5d, 0xad, 0xa4, 0x94, 0x6c, 0x97, 0x2b, 0x85, 0x05, 0xc1, 0x5d, 0x58, 0x24, 0x00,
+	0x0f, 0xc0, 0x95, 0xd6, 0x39, 0xa0, 0xb0, 0x24, 0x48, 0xa1, 0x8a, 0x24, 0x58, 0x00, 0xb8, 0x5a,
+	0x55, 0xe5, 0x94, 0xe4, 0x9e, 0x27, 0xc8, 0xcd, 0x95, 0xf2, 0x29, 0x87, 0x24, 0xc7, 0x1c, 0x72,
+	0xc9, 0x31, 0x0f, 0x90, 0x67, 0xc8, 0x21, 0x8f, 0x90, 0xd4, 0xcc, 0x00, 0x20, 0x08, 0x42, 0xb2,
+	0x5c, 0x95, 0xdb, 0x4c, 0xf7, 0xd7, 0x3d, 0x3d, 0xdd, 0x3d, 0x3d, 0xd3, 0x00, 0x34, 0x46, 0x33,
+	0x67, 0xff, 0xd5, 0xeb, 0xbd, 0x85, 0xe7, 0x06, 0x2e, 0x2e, 0x8c, 0x66, 0xce, 0xed, 0x0f, 0x27,
+	0xae, 0x3b, 0x99, 0xda, 0xfb, 0x8c, 0x74, 0xbe, 0x1c, 0xef, 0x07, 0xce, 0xcc, 0xf6, 0x03, 0x6b,
+	0xb6, 0xe0, 0xa8, 0xf6, 0x6d, 0x28, 0x0e, 0x96, 0xce, 0x08, 0x63, 0x28, 0x2e, 0x97, 0xce, 0xa8,
+	0x95, 0xbb, 0x9f, 0x7b, 0x58, 0x23, 0x6c, 0xdc, 0xfe, 0x39, 0xc0, 0x89, 0xe5, 0x8d, 0x5e, 0x5b,
+	0x9e, 0x2d, 0x77, 0xf0, 0xbd, 0x04, 0xa2, 0x7e, 0x58, 0xdb, 0x1b, 0xcd, 0x9c, 0x3d, 0x2a, 0x1a,
+	0x82, 0x6f, 0x42, 0x61, 0xe0, 0x39, 0x18, 0x41, 0x61, 0xe9, 0x39, 0xa1, 0x1a, 0x3a, 0x6c, 0xff,
+	0xae, 0x00, 0x5b, 0xa2, 0x3b, 0x5b, 0xb8, 0x73, 0x7b, 0x1e, 0xe8, 0x81, 0x15, 0xd8, 0xf8, 0x04,
+	0xb0, 0x4f, 0x07, 0xe6, 0xd4, 0xf2, 0x03, 0x73, 0xf8, 0xca, 0x9a, 0x4f, 0xec, 0x48, 0xf1, 0xed,
+	0x3d, 0x6e, 0xf2, 0x5e, 0x64, 0xf2, 0x9e, 0x11, 0x99, 0x4c, 0x10, 0x93, 0xea, 0x59, 0x7e, 0x20,
+	0x72, 0x19, 0xfc, 0x05, 0xd4, 0xad, 0xd1, 0xcc, 0x99, 0x9b, 0x8c, 0xd3, 0xca, 0xdf, 0xcf, 0x3d,
+	0xdc, 0x3a, 0x6c, 0x31, 0xdb, 0xe2, 0x35, 0x05, 0x0a, 0x60, 0x0b, 0x13, 0xb0, 0xe2, 0x31, 0xfe,
+	0x05, 0x80, 0xbb, 0xb0, 0xbd, 0x50, 0xb2, 0xc0, 0x24, 0x6f, 0xae, 0x4b, 0xaa, 0x0b, 0xdb, 0xe3,
+	0x82, 0x35, 0x37, 0x1a, 0xd2, 0x25, 0x97, 0xbe, 0x35, 0xb1, 0x43, 0xc1, 0x62, 0xd6, 0x92, 0x03,
+	0x0a, 0x08, 0x97, 0x5c, 0xc6, 0x63, 0x66, 0xed, 0xd4, 0xf2, 0x66, 0xa1, 0x68, 0x29, 0xd3, 0x5a,
+	0x0a, 0x88, 0xac, 0x8d, 0xc7, 0xf8, 0x97, 0xd0, 0xf4, 0x03, 0x6b, 0x3e, 0x3a, 0x7f, 0x13, 0x0a,
+	0x97, 0x99, 0xf0, 0xed, 0x75, 0x61, 0x9d, 0x43, 0xb8, 0x78, 0xc3, 0x4f, 0xcc, 0xda, 0xff, 0xce,
+	0xc3, 0xd5, 0x15, 0xce, 0x9e, 0xfb, 0xae, 0xd7, 0xb1, 0x02, 0x0b, 0x5f, 0x83, 0xd2, 0x85, 0x35,
+	0x5d, 0xda, 0xcc, 0xfd, 0x25, 0xc2, 0x27, 0xf8, 0x13, 0x28, 0x06, 0x6f, 0x16, 0x91, 0x43, 0x31,
+	0x5b, 0x85, 0xc2, 0x4f, 0x29, 0xd7, 0x78, 0xb3, 0xb0, 0x09, 0xe3, 0xe3, 0x8f, 0xa1, 0xe4, 0x0f,
+	0xad, 0x69, 0xe4, 0xbf, 0x6d, 0x06, 0x64, 0x20, 0x9d, 0x92, 0x09, 0xe7, 0xe2, 0xbb, 0x50, 0x5b,
+	0x78, 0xf6, 0xd0, 0xf1, 0x1d, 0x77, 0xce, 0x3c, 0x56, 0x22, 0x2b, 0x02, 0xfe, 0x14, 0xca, 0x74,
+	0x4f, 0x4b, 0x3f, 0xf4, 0xc8, 0x0e, 0xd3, 0xc2, 0x6d, 0xd4, 0x19, 0x83, 0x84, 0x00, 0xfc, 0x33,
+	0x68, 0x2e, 0xe7, 0x4e, 0xe0, 0x9b, 0x23, 0xc7, 0x5f, 0x4c, 0xad, 0x37, 0xcc, 0x0d, 0x35, 0xd2,
+	0x60, 0xc4, 0x0e, 0xa7, 0xe1, 0x67, 0x50, 0x8b, 0xd3, 0xbc, 0x55, 0xf9, 0xd1, 0xac, 0x5a, 0x81,
+	0xf1, 0x2e, 0xec, 0xb0, 0xfd, 0x9b, 0xcb, 0xc5, 0x88, 0xe6, 0xa7, 0x47, 0x3d, 0x5d, 0xbd, 0x9f,
+	0x7b, 0xd8, 0x24, 0xdb, 0x8c, 0x31, 0x60, 0x74, 0x42, 0x23, 0x72, 0x07, 0x6a, 0x23, 0x2b, 0xb0,
+	0x4c, 0xe6, 0xa7, 0x1a, 0x33, 0xa3, 0x4a, 0x09, 0xd4, 0x3b, 0xed, 0xff, 0x94, 0xe1, 0xa6, 0xe6,
+	0x7a, 0xc1, 0x2a, 0xac, 0x41, 0xe0, 0x39, 0xe7, 0xcb, 0xc0, 0xf6, 0xf1, 0xb7, 0xb0, 0x35, 0x74,
+	0xe7, 0x73, 0x7b, 0x18, 0xb8, 0x1e, 0x97, 0xce, 0xb1, 0x6d, 0xef, 0xb2, 0x6d, 0xbf, 0x45, 0x6a,
+	0x4f, 0x8c, 0x44, 0x98, 0xf7, 0x9b, 0xc3, 0xe4, 0x14, 0x3f, 0x83, 0x92, 0xbf, 0xb0, 0xed, 0x51,
+	0x18, 0xaf, 0xf6, 0x3b, 0x35, 0xe9, 0x14, 0x49, 0xb8, 0x00, 0x16, 0xa0, 0xca, 0x5c, 0x32, 0x74,
+	0xa7, 0x61, 0x0c, 0x3f, 0x7e, 0xa7, 0xb0, 0x16, 0x82, 0x49, 0x2c, 0x86, 0x3f, 0x86, 0xad, 0xc5,
+	0xab, 0x37, 0xbe, 0x33, 0xb4, 0xa6, 0xe6, 0xd4, 0x3a, 0xb7, 0xa7, 0x2c, 0xc2, 0x35, 0xd2, 0x8c,
+	0xa8, 0x3d, 0x4a, 0xa4, 0xa1, 0x9b, 0x59, 0x8b, 0x85, 0x33, 0x9f, 0x84, 0xa8, 0x12, 0x0f, 0x5d,
+	0x48, 0xe4, 0xa0, 0x27, 0xd0, 0x5c, 0xb8, 0x73, 0xd3, 0x19, 0x99, 0x43, 0x77, 0x3e, 0x76, 0x26,
+	0x2c, 0xbe, 0xf5, 0x43, 0x14, 0xda, 0x34, 0x97, 0x47, 0x22, 0xa3, 0x93, 0xfa, 0x62, 0x35, 0xc1,
+	0x8f, 0xe1, 0x3a, 0xdb, 0x8d, 0x69, 0x2d, 0x03, 0x77, 0x6e, 0x4f, 0xdc, 0xc0, 0xb1, 0x02, 0x9a,
+	0x6a, 0x34, 0xf8, 0x55, 0x72, 0x8d, 0x31, 0x85, 0x75, 0x1e, 0xfe, 0x0c, 0xaa, 0x23, 0x87, 0x1e,
+	0x91, 0x21, 0x0f, 0x71, 0x62, 0x95, 0x4e, 0x48, 0x27, 0x31, 0xa2, 0xbd, 0x80, 0xe6, 0x5a, 0x04,
+	0xf0, 0x5d, 0x68, 0x89, 0xaa, 0xa2, 0x48, 0xa2, 0xa1, 0x12, 0xd3, 0x38, 0xd3, 0x24, 0x73, 0xa0,
+	0x74, 0xa4, 0xae, 0xac, 0x48, 0x1d, 0x74, 0x05, 0x57, 0xa1, 0x48, 0xbe, 0x79, 0xf2, 0x14, 0xe5,
+	0x70, 0x03, 0xaa, 0x5d, 0xf9, 0x48, 0x22, 0x66, 0x4f, 0x44, 0x79, 0xbc, 0x0d, 0x75, 0x3e, 0xd3,
+	0x45, 0x53, 0x13, 0x51, 0x01, 0x37, 0xa1, 0xc6, 0x09, 0x7d, 0x4d, 0x45, 0x45, 0x5c, 0x83, 0x12,
+	0xd1, 0x0f, 0x1f, 0x1f, 0xa2, 0x52, 0xfb, 0x4f, 0x39, 0x28, 0xb1, 0x50, 0xe1, 0xab, 0xb0, 0xad,
+	0x6b, 0x92, 0xd4, 0x59, 0x5b, 0xa1, 0x0e, 0x95, 0xce, 0x99, 0x22, 0xf4, 0x65, 0x11, 0xe5, 0xa8,
+	0x96, 0x63, 0xf9, 0x58, 0x38, 0x92, 0x0d, 0xf3, 0x11, 0xca, 0xe3, 0x2d, 0x80, 0x78, 0x7a, 0x80,
+	0x0a, 0xc9, 0xf9, 0xe1, 0x53, 0x54, 0x4c, 0xce, 0x9f, 0x1c, 0xa0, 0x12, 0xb5, 0x6a, 0x85, 0x3f,
+	0x40, 0xe5, 0x24, 0xe1, 0xc9, 0xc1, 0x01, 0xaa, 0x60, 0x04, 0x8d, 0xbe, 0x14, 0x69, 0x38, 0x38,
+	0x40, 0xd5, 0x24, 0xe5, 0xd1, 0xe1, 0xd3, 0x03, 0x54, 0x6b, 0xff, 0x1a, 0xaa, 0x51, 0x76, 0xe0,
+	0x1b, 0x80, 0x35, 0xa2, 0x1a, 0xaa, 0xa8, 0xf6, 0xd6, 0xac, 0x6e, 0x40, 0x55, 0x32, 0x4e, 0x24,
+	0xa2, 0x48, 0x06, 0xca, 0x51, 0x2f, 0x1d, 0x6b, 0xaa, 0x82, 0xf2, 0x74, 0xdf, 0x2f, 0xd9, 0xb0,
+	0x80, 0x01, 0xca, 0x2f, 0x8f, 0x75, 0x3a, 0x66, 0xee, 0x38, 0xee, 0x0a, 0xba, 0x81, 0x4a, 0x94,
+	0xac, 0x4b, 0x44, 0x16, 0x7a, 0xa8, 0x4c, 0xe5, 0x24, 0x0a, 0xa8, 0xd0, 0xd1, 0x91, 0x6c, 0xe8,
+	0xa8, 0xda, 0x9e, 0x42, 0x3d, 0x11, 0x39, 0xfc, 0x11, 0x34, 0x66, 0xd6, 0xa5, 0x19, 0x47, 0x38,
+	0xc7, 0x0e, 0x71, 0x7d, 0x66, 0x5d, 0xc6, 0x90, 0x2f, 0xe1, 0x16, 0x87, 0x8c, 0xc7, 0xb6, 0x67,
+	0xcf, 0x03, 0xc7, 0x9a, 0xae, 0xf0, 0x79, 0x86, 0xbf, 0xc9, 0xf0, 0x2b, 0x7e, 0x24, 0xdb, 0xfe,
+	0x6d, 0x0e, 0xee, 0xad, 0x1d, 0x11, 0x7e, 0x21, 0x25, 0x4e, 0xf9, 0x46, 0x26, 0xe7, 0xde, 0x27,
+	0x93, 0x93, 0x49, 0x99, 0xff, 0xd1, 0xa4, 0xfc, 0x15, 0x3c, 0x30, 0x3c, 0x6b, 0xee, 0x0f, 0x6d,
+	0xe7, 0xc2, 0xf6, 0xde, 0x6e, 0xcb, 0x63, 0x80, 0x80, 0xe2, 0x92, 0xd5, 0xe6, 0x1a, 0xd3, 0x9b,
+	0x10, 0x67, 0x75, 0xa5, 0xc6, 0x70, 0xac, 0x84, 0x0d, 0x99, 0x43, 0x63, 0xcb, 0xae, 0x43, 0x99,
+	0xef, 0x87, 0xc9, 0x37, 0x48, 0x89, 0x99, 0x8d, 0xbf, 0x86, 0x3b, 0xe1, 0x36, 0x99, 0xe4, 0xcc,
+	0x09, 0xcc, 0x85, 0xed, 0x39, 0xee, 0xc8, 0x19, 0x3a, 0xc1, 0x9b, 0xd0, 0x8d, 0x2d, 0x86, 0x35,
+	0x42, 0x80, 0xb6, 0xe2, 0xb7, 0x25, 0xb8, 0x2b, 0xba, 0xf3, 0xc0, 0x72, 0xe6, 0x09, 0xfb, 0x13,
+	0x96, 0x6f, 0xd6, 0x96, 0x5c, 0x46, 0x6d, 0x69, 0xff, 0x23, 0x07, 0x37, 0x34, 0x7f, 0x99, 0xa5,
+	0xe1, 0x0c, 0x76, 0xfc, 0xe5, 0x62, 0xe1, 0x7a, 0x81, 0x3d, 0x32, 0x2f, 0xdc, 0x69, 0x60, 0x4d,
+	0x22, 0x17, 0x7c, 0xc6, 0x5d, 0x9b, 0x29, 0xb7, 0xa7, 0x47, 0x42, 0xa7, 0x5c, 0x86, 0x20, 0x3f,
+	0x45, 0x69, 0x6b, 0x80, 0xd2, 0x28, 0xfc, 0x21, 0xdc, 0xd1, 0x07, 0x9a, 0xa6, 0x12, 0x43, 0xea,
+	0x98, 0xa7, 0x6a, 0xcf, 0x10, 0x8e, 0xd7, 0x2b, 0x43, 0x05, 0x0a, 0xa7, 0x4f, 0x9e, 0xf1, 0xe4,
+	0x3f, 0x3d, 0x7c, 0x7c, 0x80, 0xf2, 0x6c, 0xf4, 0xe8, 0xd1, 0x53, 0x54, 0x68, 0xff, 0xb9, 0x04,
+	0x1f, 0x66, 0x45, 0xd4, 0x4f, 0x6c, 0x48, 0x83, 0xfa, 0xd8, 0xf5, 0x66, 0xe6, 0xd8, 0xa2, 0xb5,
+	0x28, 0xdc, 0xca, 0x7e, 0x3a, 0x9a, 0x59, 0xa2, 0x7b, 0x5d, 0xd7, 0x9b, 0x75, 0x99, 0x18, 0x81,
+	0x71, 0x3c, 0x4e, 0xa5, 0x47, 0xfe, 0xbd, 0xd2, 0x63, 0xe3, 0x80, 0x15, 0x36, 0x0f, 0xd8, 0xd7,
+	0x80, 0x93, 0x10, 0x93, 0xbf, 0x14, 0x8a, 0xd9, 0x2f, 0x05, 0x94, 0x90, 0x64, 0x14, 0x7a, 0x61,
+	0x78, 0x97, 0xe6, 0x6b, 0xeb, 0xc2, 0x9e, 0xda, 0xf3, 0x49, 0xf0, 0xaa, 0x55, 0xba, 0x5f, 0x78,
+	0xd8, 0x24, 0x0d, 0xef, 0xf2, 0x45, 0x4c, 0xa3, 0xa0, 0x60, 0x0d, 0x54, 0xe6, 0xa0, 0x20, 0x09,
+	0xfa, 0x12, 0xd0, 0x0a, 0x11, 0x9a, 0x51, 0xc9, 0x36, 0x63, 0x7b, 0x05, 0xe4, 0x56, 0xdc, 0x82,
+	0x6a, 0x70, 0x69, 0x2e, 0xdc, 0xd7, 0xb6, 0xd7, 0xaa, 0xde, 0x2f, 0x3c, 0x2c, 0x91, 0x4a, 0x70,
+	0xa9, 0xd1, 0x29, 0x7e, 0x0a, 0x5b, 0x11, 0x2b, 0x54, 0x5a, 0xcb, 0x56, 0xda, 0x08, 0x25, 0xd8,
+	0xac, 0xfd, 0xcf, 0x1c, 0xc0, 0x2a, 0x12, 0xf8, 0x26, 0x5c, 0xed, 0xaa, 0xa4, 0x6f, 0x76, 0x05,
+	0x76, 0x95, 0x0c, 0x94, 0xe7, 0x8a, 0xfa, 0x42, 0xe1, 0x77, 0xc8, 0xb7, 0x7a, 0x57, 0xe3, 0xe5,
+	0x9d, 0x8e, 0x4c, 0xad, 0x37, 0xd0, 0x51, 0x9e, 0x96, 0x42, 0x3a, 0x3d, 0x7c, 0x86, 0x0a, 0x34,
+	0x9d, 0x28, 0xa6, 0x48, 0x2b, 0x6b, 0x0c, 0x29, 0x51, 0xf2, 0xcb, 0xae, 0xc6, 0x4b, 0xa5, 0xd8,
+	0xd5, 0x9e, 0xf0, 0x52, 0x29, 0x76, 0xb5, 0x43, 0x54, 0x65, 0x23, 0x4d, 0x78, 0x8e, 0x6a, 0xb8,
+	0x0c, 0xf9, 0x97, 0x87, 0x08, 0x68, 0x9d, 0x55, 0x69, 0x59, 0x46, 0x75, 0x2a, 0x29, 0x76, 0x35,
+	0xd4, 0xa0, 0x0a, 0x29, 0xde, 0x14, 0x44, 0x15, 0x35, 0xe3, 0x59, 0x47, 0x54, 0xd1, 0x16, 0xbd,
+	0x7c, 0x98, 0x41, 0x9d, 0x0e, 0xda, 0x6e, 0xff, 0xab, 0x02, 0xb5, 0x38, 0xdd, 0x68, 0x23, 0x31,
+	0xb7, 0x66, 0x76, 0xd4, 0x48, 0xd0, 0x31, 0x7e, 0x08, 0xa5, 0xe1, 0xd4, 0xf2, 0xfd, 0xb5, 0xe7,
+	0x64, 0x2c, 0xc2, 0x32, 0x8b, 0x03, 0xf0, 0x7d, 0xa8, 0x8f, 0x6c, 0x7f, 0xe8, 0x39, 0x0b, 0x76,
+	0x7f, 0x17, 0x98, 0x92, 0x24, 0x09, 0xdf, 0x80, 0xf2, 0xc2, 0xa2, 0xe5, 0x38, 0x7c, 0x65, 0x84,
+	0x33, 0xfc, 0x00, 0xb6, 0xf8, 0xc8, 0xf4, 0xec, 0xa9, 0xb9, 0x70, 0xf9, 0x63, 0xb2, 0x44, 0x1a,
+	0x9c, 0x4a, 0xec, 0xa9, 0xe6, 0xfa, 0x78, 0x17, 0xaa, 0xc3, 0x57, 0xce, 0x74, 0xe4, 0xd9, 0x73,
+	0x96, 0x29, 0xf5, 0xc3, 0xad, 0x75, 0x63, 0x48, 0xcc, 0xa7, 0x19, 0xfe, 0x2a, 0x6c, 0x7f, 0x4c,
+	0xcf, 0xbe, 0x60, 0x19, 0x53, 0x23, 0xf5, 0x88, 0x46, 0xec, 0x0b, 0x0a, 0x19, 0x3b, 0xde, 0x2c,
+	0x86, 0x54, 0x39, 0x24, 0xa2, 0x85, 0x10, 0xdf, 0x1d, 0x07, 0x31, 0x84, 0xbf, 0x14, 0xeb, 0x11,
+	0x8d, 0x42, 0xee, 0x01, 0xf8, 0xb6, 0x47, 0xaf, 0x9f, 0xf9, 0x72, 0xd6, 0x02, 0x06, 0xa8, 0x71,
+	0x8a, 0xb2, 0x9c, 0xd1, 0x0c, 0x9c, 0x8d, 0x27, 0x26, 0xf3, 0x6a, 0x9d, 0x31, 0x2b, 0xb3, 0xf1,
+	0x44, 0xa1, 0x8e, 0xbd, 0x07, 0x30, 0x73, 0x47, 0xf6, 0x94, 0x33, 0x1b, 0x5c, 0x92, 0x51, 0x18,
+	0xfb, 0x1a, 0x94, 0xac, 0xa9, 0x63, 0xf9, 0xad, 0x26, 0xe3, 0xf0, 0x09, 0xd5, 0x67, 0xf9, 0xbe,
+	0x1d, 0xd0, 0x5a, 0xbe, 0xc5, 0xf5, 0xb1, 0xb9, 0x3c, 0xa2, 0x45, 0xde, 0xf1, 0xcd, 0xb1, 0xb7,
+	0x6c, 0x6d, 0xb3, 0x97, 0x53, 0xc9, 0xf1, 0xbb, 0xde, 0x12, 0x3f, 0xe5, 0x16, 0xd0, 0xa7, 0x6f,
+	0x0b, 0xfd, 0xe8, 0x7b, 0x9a, 0x5a, 0xd7, 0xa1, 0x2f, 0xe4, 0xdb, 0xbc, 0x17, 0xdc, 0x61, 0x12,
+	0x55, 0xde, 0x30, 0x7a, 0x0e, 0xeb, 0x0a, 0xe3, 0x6e, 0x12, 0x67, 0x76, 0x93, 0xf8, 0x53, 0x28,
+	0xf1, 0x36, 0xe7, 0x2a, 0xe3, 0x5f, 0xdd, 0x68, 0x73, 0x02, 0xda, 0x5b, 0x44, 0x4d, 0x95, 0xcf,
+	0x5a, 0x05, 0x6a, 0x9f, 0xd5, 0xba, 0xc6, 0xa2, 0x9a, 0x6a, 0xaa, 0x56, 0xfd, 0x0e, 0x01, 0x7f,
+	0xd5, 0xfb, 0x7c, 0x05, 0x35, 0x5a, 0xbd, 0x4d, 0x2b, 0x08, 0xbc, 0xd6, 0x21, 0x5b, 0xe9, 0xee,
+	0xbb, 0x5e, 0xbf, 0x27, 0x57, 0x48, 0x95, 0x0a, 0x50, 0x0a, 0xfe, 0x86, 0x3d, 0xe3, 0xf9, 0xd5,
+	0xc5, 0x35, 0x3c, 0x66, 0x1a, 0x3e, 0x0a, 0x97, 0x7e, 0xfb, 0xad, 0x76, 0x72, 0x85, 0xbd, 0xdf,
+	0x39, 0x9f, 0xe9, 0x7a, 0x06, 0xd5, 0x85, 0xbf, 0xe4, 0x5a, 0x9e, 0x30, 0x2d, 0x77, 0xde, 0x71,
+	0x37, 0x9d, 0x5c, 0x21, 0x95, 0x85, 0xbf, 0x64, 0x92, 0xdf, 0x02, 0x0a, 0x56, 0x45, 0x9a, 0x6b,
+	0x78, 0xca, 0x34, 0x3c, 0x78, 0x9f, 0x2b, 0xe1, 0xe4, 0x0a, 0xd9, 0x4e, 0xc8, 0x53, 0xc6, 0x11,
+	0x40, 0xd5, 0x5f, 0xd8, 0x43, 0x67, 0xec, 0x0c, 0xdb, 0x3f, 0xe4, 0xa0, 0x1a, 0x7d, 0x03, 0xc0,
+	0x5f, 0x41, 0x3d, 0xd1, 0xb0, 0xbf, 0x47, 0xbf, 0x0e, 0xd3, 0xb8, 0x55, 0xc7, 0x6d, 0x28, 0x7a,
+	0xae, 0x1b, 0x84, 0xaf, 0x9a, 0xf4, 0xa9, 0x63, 0xbc, 0x78, 0x81, 0x73, 0xd7, 0x0d, 0xec, 0x11,
+	0x3b, 0xfd, 0xef, 0xb1, 0xc0, 0x11, 0x43, 0xb7, 0xff, 0x5e, 0x80, 0xab, 0x7d, 0x77, 0xe4, 0x8c,
+	0x1d, 0xeb, 0x7c, 0x6a, 0xff, 0xbf, 0x0a, 0xd2, 0x27, 0x71, 0xb9, 0x29, 0x64, 0x1a, 0xfe, 0xf6,
+	0xf2, 0x53, 0xcc, 0x28, 0x3f, 0xf1, 0x81, 0x2c, 0xbd, 0xed, 0x40, 0x96, 0xd7, 0x0f, 0x64, 0x78,
+	0x84, 0x2a, 0x59, 0x47, 0x28, 0xf5, 0xed, 0xa3, 0xfa, 0x13, 0xbe, 0x7d, 0x08, 0x9b, 0x89, 0x9f,
+	0xd1, 0x33, 0xa6, 0xdf, 0x91, 0x6b, 0xe9, 0xdf, 0x85, 0x6a, 0xe0, 0x5d, 0x26, 0x13, 0xff, 0xd3,
+	0xb7, 0x26, 0x5c, 0x86, 0xa2, 0x4a, 0xe0, 0x5d, 0xa6, 0xb3, 0x6d, 0xf7, 0xaf, 0x05, 0xda, 0x65,
+	0x25, 0xa2, 0xc0, 0xbb, 0xac, 0xbe, 0xa6, 0x2a, 0x92, 0x62, 0x6c, 0x76, 0x59, 0xb7, 0xe1, 0xc6,
+	0x06, 0x97, 0xdf, 0x9e, 0xb9, 0x0c, 0x9e, 0x78, 0x22, 0xe8, 0xba, 0x4c, 0x2f, 0xd0, 0x4d, 0xad,
+	0x47, 0x82, 0xf8, 0x5c, 0xeb, 0x09, 0x8a, 0x84, 0x0a, 0x19, 0x5c, 0x51, 0x55, 0x0c, 0x41, 0x56,
+	0x24, 0x82, 0x8a, 0xf4, 0x81, 0x97, 0xe2, 0x6a, 0xea, 0x0b, 0xda, 0xd0, 0x0d, 0x34, 0xad, 0x77,
+	0x86, 0x4a, 0xb4, 0xf5, 0x49, 0x01, 0xba, 0x82, 0x82, 0xca, 0xf8, 0x16, 0x5c, 0x4f, 0xd1, 0x75,
+	0x49, 0xd1, 0x55, 0x82, 0x2a, 0x19, 0xac, 0xbe, 0xda, 0x19, 0xf4, 0x24, 0x54, 0xa5, 0xaf, 0x83,
+	0x8d, 0xe5, 0x88, 0x81, 0x6a, 0x19, 0xcb, 0x88, 0xda, 0x00, 0x41, 0xc6, 0xbe, 0x8f, 0x04, 0xc3,
+	0x90, 0xc8, 0x19, 0xaa, 0x67, 0xf0, 0x74, 0x43, 0x25, 0xc2, 0xb1, 0x84, 0x1a, 0x59, 0x36, 0x48,
+	0x7d, 0x95, 0x9c, 0xa1, 0x26, 0xfe, 0x00, 0x6e, 0xa7, 0x58, 0x06, 0x11, 0x14, 0x5d, 0x94, 0xe4,
+	0x53, 0x89, 0xa0, 0xad, 0xdd, 0xbf, 0xe4, 0x12, 0x9f, 0x96, 0x56, 0x19, 0x17, 0xc9, 0x99, 0x42,
+	0xa7, 0x2f, 0x2b, 0xa6, 0x6e, 0x08, 0xc6, 0x7a, 0xf8, 0x42, 0x47, 0xa7, 0xf8, 0x51, 0x00, 0xef,
+	0xc0, 0xcd, 0x0d, 0x6e, 0x4f, 0x15, 0x9f, 0x4b, 0x1d, 0x94, 0xc7, 0x6d, 0xf8, 0x60, 0x83, 0xa9,
+	0x9f, 0x0c, 0x0c, 0x43, 0x56, 0x8e, 0xcd, 0x0e, 0x55, 0x50, 0xc0, 0xf7, 0xe0, 0x56, 0x86, 0xfa,
+	0x50, 0x45, 0x71, 0xf7, 0x87, 0x1c, 0xe0, 0xcd, 0x2f, 0x7d, 0xb1, 0x94, 0xaa, 0xd1, 0xa0, 0x6e,
+	0xd8, 0x1c, 0x59, 0xb5, 0xc6, 0x8e, 0x4c, 0x8e, 0x36, 0x94, 0x60, 0x76, 0x64, 0x5d, 0x38, 0xea,
+	0x31, 0x9b, 0x33, 0x44, 0x25, 0x85, 0x33, 0x0b, 0x59, 0x4c, 0x43, 0xd2, 0xe9, 0x76, 0x50, 0x71,
+	0xf7, 0x8f, 0x49, 0x07, 0xaf, 0xbe, 0x2d, 0xc6, 0x0e, 0x1e, 0xe8, 0xb4, 0xcb, 0x78, 0xbb, 0x83,
+	0xd7, 0xf9, 0x91, 0xb5, 0x61, 0xc4, 0xd7, 0xb8, 0x72, 0xa7, 0x27, 0x25, 0x4c, 0x4d, 0xb2, 0x04,
+	0xd1, 0x90, 0x4f, 0xe9, 0xf9, 0xc8, 0x92, 0x3b, 0x1a, 0xe8, 0x67, 0xa8, 0xb8, 0xfb, 0xfb, 0xe4,
+	0x47, 0xc6, 0xd5, 0x97, 0xcc, 0x55, 0x26, 0xf4, 0x04, 0xd2, 0x7f, 0x57, 0x26, 0xac, 0xf1, 0x23,
+	0x43, 0x3f, 0x82, 0x7b, 0x99, 0xd2, 0xc4, 0x24, 0x92, 0x26, 0xc8, 0x04, 0xe5, 0x57, 0xb1, 0x4e,
+	0x40, 0x44, 0x22, 0x1b, 0xb2, 0x28, 0xf4, 0x50, 0x21, 0x4a, 0xfc, 0x35, 0x76, 0x5f, 0xf8, 0x46,
+	0xa5, 0x07, 0x3a, 0x93, 0x27, 0x2b, 0x2a, 0x41, 0xa5, 0x4c, 0xbb, 0x5e, 0x08, 0x44, 0xa1, 0x61,
+	0x29, 0xaf, 0x92, 0x30, 0xc1, 0x95, 0x95, 0x8e, 0x64, 0x48, 0xa4, 0x2f, 0x2b, 0x82, 0x21, 0xa1,
+	0xca, 0xee, 0xdf, 0x72, 0x70, 0x3d, 0xf3, 0xf3, 0x2c, 0xbe, 0x0f, 0x77, 0x99, 0xb4, 0x6e, 0x08,
+	0x4a, 0xe7, 0xe8, 0x2c, 0xc3, 0x2b, 0x91, 0xd7, 0xd2, 0x88, 0x54, 0x89, 0x4b, 0xf1, 0x4f, 0x54,
+	0x23, 0x11, 0xc1, 0x75, 0x9e, 0xa8, 0xf6, 0x68, 0xb2, 0x3d, 0x84, 0x07, 0x19, 0x4c, 0x8d, 0xa8,
+	0xa7, 0x72, 0x87, 0x1e, 0x20, 0x5d, 0x22, 0xa7, 0xb2, 0x28, 0xa1, 0xe2, 0xee, 0x1f, 0x0a, 0xd0,
+	0x5c, 0xfb, 0xee, 0x8b, 0x5b, 0x70, 0xed, 0x54, 0xe8, 0x0d, 0xa4, 0xcd, 0x6a, 0x7c, 0x0d, 0x50,
+	0x82, 0xc3, 0xfb, 0x89, 0x1c, 0xad, 0x53, 0x6b, 0x78, 0x6e, 0x7c, 0x9e, 0x16, 0xb6, 0x04, 0x9d,
+	0x76, 0xca, 0xba, 0x29, 0x88, 0xa8, 0x90, 0xc9, 0xe8, 0x88, 0xa8, 0x98, 0xd2, 0x24, 0xf4, 0x35,
+	0x89, 0x48, 0xb4, 0xd7, 0x59, 0x5f, 0xf7, 0x85, 0x60, 0x18, 0x3a, 0x2a, 0xa7, 0xa8, 0x27, 0x12,
+	0x31, 0xbe, 0x43, 0x95, 0x94, 0x0e, 0x51, 0xea, 0xe9, 0xf2, 0x40, 0x47, 0x55, 0x9a, 0xd3, 0x09,
+	0xba, 0x26, 0x11, 0x91, 0xd6, 0x3a, 0x72, 0x82, 0x6a, 0x18, 0xc3, 0x56, 0x82, 0x45, 0xb4, 0x3e,
+	0x82, 0x14, 0x4d, 0xec, 0xf7, 0x79, 0x71, 0x4d, 0xd0, 0x0c, 0x32, 0x30, 0x4e, 0x4c, 0x46, 0x40,
+	0x8d, 0xd4, 0xb2, 0xa1, 0x7a, 0xd4, 0xc4, 0xd7, 0x61, 0x27, 0x41, 0xef, 0xd3, 0xcc, 0xd1, 0xd1,
+	0x56, 0xca, 0xf6, 0xa3, 0x33, 0x43, 0xd2, 0xd1, 0x76, 0x6a, 0xd1, 0xce, 0x51, 0x1f, 0xa1, 0xdd,
+	0xef, 0x0b, 0x00, 0xab, 0x46, 0x73, 0xb5, 0x0d, 0x5d, 0x14, 0x7a, 0xeb, 0xd1, 0x89, 0x97, 0xe2,
+	0xac, 0x33, 0x55, 0x34, 0x54, 0x94, 0x4b, 0x93, 0xbf, 0x93, 0x34, 0x43, 0x45, 0xf9, 0x95, 0x05,
+	0x9c, 0x2c, 0x18, 0x86, 0x8a, 0x0a, 0x69, 0x70, 0x57, 0xea, 0x1b, 0x2a, 0x2a, 0xa6, 0xc1, 0x9a,
+	0x2c, 0xaa, 0xc9, 0xb0, 0x70, 0xaa, 0x22, 0x28, 0x2a, 0x2a, 0xa7, 0x55, 0xf4, 0x65, 0x91, 0xa8,
+	0xa8, 0xb2, 0x49, 0xee, 0xf5, 0x64, 0x54, 0x4d, 0x93, 0x07, 0x8a, 0x6c, 0xe8, 0xa8, 0x96, 0x56,
+	0xfd, 0x5c, 0xee, 0xa9, 0x08, 0xd2, 0xd4, 0xbe, 0x74, 0x2c, 0xa0, 0x7a, 0x9a, 0x7a, 0x2c, 0x1f,
+	0x0b, 0xa8, 0x91, 0xa6, 0x1a, 0x12, 0x11, 0x50, 0x73, 0x63, 0x23, 0x92, 0x21, 0xa0, 0x2d, 0x7c,
+	0x15, 0xb6, 0x93, 0x54, 0xe9, 0xa5, 0x80, 0xb6, 0x37, 0xfd, 0x66, 0x18, 0x02, 0x42, 0x9b, 0x5e,
+	0xa6, 0xe4, 0x9d, 0xdd, 0xdf, 0xe4, 0xa0, 0x91, 0xfc, 0x9f, 0x41, 0x8f, 0x27, 0xbf, 0xfd, 0xd9,
+	0xd9, 0x1b, 0xe8, 0xe9, 0x83, 0xb4, 0xce, 0x54, 0x9f, 0xa3, 0x1c, 0x2d, 0x71, 0x69, 0x11, 0xe1,
+	0x54, 0x90, 0x7b, 0xf4, 0x06, 0x41, 0x79, 0x5a, 0x4e, 0xd6, 0xd9, 0x8a, 0xaa, 0xd0, 0xcb, 0x44,
+	0x30, 0x64, 0x55, 0xa1, 0x45, 0x70, 0xf7, 0xfb, 0x1c, 0x6c, 0xa7, 0x3e, 0xe8, 0xd0, 0x9c, 0xda,
+	0x38, 0xc7, 0x3f, 0xf1, 0x1b, 0x2d, 0xfb, 0x9a, 0xa0, 0x2a, 0xa8, 0x84, 0xeb, 0x50, 0x51, 0x8e,
+	0x4d, 0x4d, 0x55, 0x0e, 0xd7, 0xbe, 0xd1, 0x5e, 0x87, 0x1d, 0x51, 0xed, 0x1f, 0xa9, 0x26, 0x15,
+	0x36, 0x43, 0xb9, 0x2a, 0xbe, 0x01, 0x3b, 0x6c, 0x69, 0x45, 0x35, 0x4c, 0x5a, 0x33, 0x45, 0x43,
+	0xea, 0xa0, 0xff, 0xe6, 0x8e, 0xbe, 0xfa, 0xee, 0x8b, 0x89, 0x13, 0xbc, 0x5a, 0x9e, 0xef, 0x0d,
+	0xdd, 0xd9, 0xbe, 0xbb, 0xb0, 0xe7, 0x43, 0xd7, 0x1b, 0xed, 0x8f, 0xec, 0x0b, 0x67, 0x68, 0x7f,
+	0x3e, 0xb3, 0xe6, 0xd6, 0xc4, 0x9e, 0xd9, 0xf3, 0xe0, 0x73, 0x67, 0x1e, 0xd8, 0xde, 0xd8, 0x1a,
+	0xda, 0xfb, 0x17, 0x8f, 0xf7, 0x27, 0xee, 0xfe, 0x68, 0xe6, 0x9c, 0x97, 0x59, 0x93, 0xf0, 0xf8,
+	0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x35, 0x9b, 0x5d, 0x4d, 0x0b, 0x1d, 0x00, 0x00,
 }
diff --git a/vendor/github.com/opencord/device-management-interface/go/dmi/hw_events_mgmt_service.pb.go b/vendor/github.com/opencord/device-management-interface/go/dmi/hw_events_mgmt_service.pb.go
index c1d19c3..cfca737 100644
--- a/vendor/github.com/opencord/device-management-interface/go/dmi/hw_events_mgmt_service.pb.go
+++ b/vendor/github.com/opencord/device-management-interface/go/dmi/hw_events_mgmt_service.pb.go
@@ -31,8 +31,14 @@
 const (
 	EventIds_EVENT_NAME_UNDEFINED EventIds = 0
 	// Events from the Transceivers
-	EventIds_EVENT_TRANSCEIVER_PLUG_OUT                              EventIds = 100
-	EventIds_EVENT_TRANSCEIVER_PLUG_IN                               EventIds = 101
+	EventIds_EVENT_TRANSCEIVER_PLUG_OUT EventIds = 100
+	EventIds_EVENT_TRANSCEIVER_PLUG_IN  EventIds = 101
+	// The threshold based events on the transceivers should be configured on
+	// the port components of that transceiver and not on the transceiver
+	// component itself. This is because there could be different thresholds
+	// on the different ports of a transceiver (for example for a transceiver of
+	// type COMBO_GPON_XGSPON the power thresholds could be different for the
+	// GPON and XGSPON ports)
 	EventIds_EVENT_TRANSCEIVER_VOLTAGE_ABOVE_THRESHOLD               EventIds = 102
 	EventIds_EVENT_TRANSCEIVER_VOLTAGE_BELOW_THRESHOLD               EventIds = 103
 	EventIds_EVENT_TRANSCEIVER_TEMPERATURE_ABOVE_THRESHOLD           EventIds = 104
@@ -70,6 +76,8 @@
 	EventIds_EVENT_CPU_TEMPERATURE_ABOVE_FATAL              EventIds = 401
 	EventIds_EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL_RECOVERED EventIds = 402
 	EventIds_EVENT_CPU_TEMPERATURE_ABOVE_FATAL_RECOVERED    EventIds = 403
+	EventIds_EVENT_CPU_USAGE_ABOVE_THRESHOLD                EventIds = 404
+	EventIds_EVENT_CPU_USAGE_ABOVE_THRESHOLD_RECOVERED      EventIds = 405
 	// Events for the complete HW Device
 	EventIds_EVENT_HW_DEVICE_RESET                                EventIds = 500
 	EventIds_EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL           EventIds = 501
@@ -79,6 +87,12 @@
 	EventIds_EVENT_HW_DEVICE_REBOOT                               EventIds = 505
 	EventIds_EVENT_HW_TEMPERATURE_SENSOR_FAILED                   EventIds = 506
 	EventIds_EVENT_HW_ALL_TEMPERATURE_SENSORS_FAILED              EventIds = 507
+	EventIds_EVENT_HW_DISK_USAGE_ABOVE_THRESHOLD                  EventIds = 508
+	EventIds_EVENT_HW_DISK_USAGE_ABOVE_THRESHOLD_RECOVERED        EventIds = 509
+	EventIds_EVENT_HW_MEMORY_USAGE_ABOVE_THRESHOLD                EventIds = 510
+	EventIds_EVENT_HW_MEMORY_USAGE_ABOVE_THRESHOLD_RECOVERED      EventIds = 511
+	EventIds_EVENT_HW_NTP_SYNC_FAILURE                            EventIds = 512
+	EventIds_EVENT_HW_NTP_SYNC_FAILURE_RECOVERED                  EventIds = 513
 	// Events for the line cards on the HW Device
 	EventIds_EVENT_LINE_CARD_PLUG_OUT EventIds = 600
 	EventIds_EVENT_LINE_CARD_PLUG_IN  EventIds = 601
@@ -122,6 +136,8 @@
 	401: "EVENT_CPU_TEMPERATURE_ABOVE_FATAL",
 	402: "EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL_RECOVERED",
 	403: "EVENT_CPU_TEMPERATURE_ABOVE_FATAL_RECOVERED",
+	404: "EVENT_CPU_USAGE_ABOVE_THRESHOLD",
+	405: "EVENT_CPU_USAGE_ABOVE_THRESHOLD_RECOVERED",
 	500: "EVENT_HW_DEVICE_RESET",
 	501: "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL",
 	502: "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL",
@@ -130,6 +146,12 @@
 	505: "EVENT_HW_DEVICE_REBOOT",
 	506: "EVENT_HW_TEMPERATURE_SENSOR_FAILED",
 	507: "EVENT_HW_ALL_TEMPERATURE_SENSORS_FAILED",
+	508: "EVENT_HW_DISK_USAGE_ABOVE_THRESHOLD",
+	509: "EVENT_HW_DISK_USAGE_ABOVE_THRESHOLD_RECOVERED",
+	510: "EVENT_HW_MEMORY_USAGE_ABOVE_THRESHOLD",
+	511: "EVENT_HW_MEMORY_USAGE_ABOVE_THRESHOLD_RECOVERED",
+	512: "EVENT_HW_NTP_SYNC_FAILURE",
+	513: "EVENT_HW_NTP_SYNC_FAILURE_RECOVERED",
 	600: "EVENT_LINE_CARD_PLUG_OUT",
 	601: "EVENT_LINE_CARD_PLUG_IN",
 }
@@ -172,6 +194,8 @@
 	"EVENT_CPU_TEMPERATURE_ABOVE_FATAL":                       401,
 	"EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL_RECOVERED":          402,
 	"EVENT_CPU_TEMPERATURE_ABOVE_FATAL_RECOVERED":             403,
+	"EVENT_CPU_USAGE_ABOVE_THRESHOLD":                         404,
+	"EVENT_CPU_USAGE_ABOVE_THRESHOLD_RECOVERED":               405,
 	"EVENT_HW_DEVICE_RESET":                                   500,
 	"EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL":              501,
 	"EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL":                 502,
@@ -180,6 +204,12 @@
 	"EVENT_HW_DEVICE_REBOOT":                                  505,
 	"EVENT_HW_TEMPERATURE_SENSOR_FAILED":                      506,
 	"EVENT_HW_ALL_TEMPERATURE_SENSORS_FAILED":                 507,
+	"EVENT_HW_DISK_USAGE_ABOVE_THRESHOLD":                     508,
+	"EVENT_HW_DISK_USAGE_ABOVE_THRESHOLD_RECOVERED":           509,
+	"EVENT_HW_MEMORY_USAGE_ABOVE_THRESHOLD":                   510,
+	"EVENT_HW_MEMORY_USAGE_ABOVE_THRESHOLD_RECOVERED":         511,
+	"EVENT_HW_NTP_SYNC_FAILURE":                               512,
+	"EVENT_HW_NTP_SYNC_FAILURE_RECOVERED":                     513,
 	"EVENT_LINE_CARD_PLUG_OUT":                                600,
 	"EVENT_LINE_CARD_PLUG_IN":                                 601,
 }
@@ -258,11 +288,16 @@
 }
 
 type ValueType struct {
+	// For val no multiples of units shall be used.
+	// For example, for memory val should be in bytes and not in kilobytes or any
+	// other multiple of the unit byte.
+	//
 	// Types that are valid to be assigned to Val:
 	//	*ValueType_IntVal
 	//	*ValueType_UintVal
 	//	*ValueType_FloatVal
 	Val                  isValueType_Val `protobuf_oneof:"val"`
+	TypeOfVal            DataValueType   `protobuf:"varint,4,opt,name=typeOfVal,proto3,enum=dmi.DataValueType" json:"typeOfVal,omitempty"`
 	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
 	XXX_unrecognized     []byte          `json:"-"`
 	XXX_sizecache        int32           `json:"-"`
@@ -343,6 +378,13 @@
 	return 0
 }
 
+func (m *ValueType) GetTypeOfVal() DataValueType {
+	if m != nil {
+		return m.TypeOfVal
+	}
+	return DataValueType_VALUE_TYPE_UNDEFINED
+}
+
 // XXX_OneofWrappers is for the internal use of the proto package.
 func (*ValueType) XXX_OneofWrappers() []interface{} {
 	return []interface{}{
@@ -530,10 +572,16 @@
 	EventId      EventIds `protobuf:"varint,1,opt,name=event_id,json=eventId,proto3,enum=dmi.EventIds" json:"event_id,omitempty"`
 	IsConfigured bool     `protobuf:"varint,2,opt,name=is_configured,json=isConfigured,proto3" json:"is_configured,omitempty"`
 	// Optional threshold values, applicable only for some specific events
-	Thresholds           *Thresholds `protobuf:"bytes,3,opt,name=thresholds,proto3" json:"thresholds,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
-	XXX_unrecognized     []byte      `json:"-"`
-	XXX_sizecache        int32       `json:"-"`
+	// If an event needs thresholds but the user does not pass the thresholds here, the Device Manager implementations
+	// could choose to use defaults applicable for the specific component (recommended) or return an error for such
+	// an EventConfigurationRequest with reason as INVALID_CONFIG
+	Thresholds *Thresholds `protobuf:"bytes,3,opt,name=thresholds,proto3" json:"thresholds,omitempty"`
+	// For events which can be configured on a particular component this id can be used to identify the component
+	// For e.g. for events of the transceivers
+	ComponentUuid        *Uuid    `protobuf:"bytes,4,opt,name=component_uuid,json=componentUuid,proto3" json:"component_uuid,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
 }
 
 func (m *EventCfg) Reset()         { *m = EventCfg{} }
@@ -582,6 +630,13 @@
 	return nil
 }
 
+func (m *EventCfg) GetComponentUuid() *Uuid {
+	if m != nil {
+		return m.ComponentUuid
+	}
+	return nil
+}
+
 type EventsCfg struct {
 	Items                []*EventCfg `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
 	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
@@ -976,104 +1031,113 @@
 func init() { proto.RegisterFile("dmi/hw_events_mgmt_service.proto", fileDescriptor_8962d785556e9979) }
 
 var fileDescriptor_8962d785556e9979 = []byte{
-	// 1549 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0xcb, 0x72, 0xdb, 0xc8,
-	0x15, 0x15, 0x09, 0x3d, 0xa8, 0x2b, 0x89, 0x81, 0xbb, 0x1c, 0x59, 0xa2, 0x22, 0x9b, 0xa1, 0x12,
-	0x4b, 0x56, 0x22, 0x52, 0x96, 0x1c, 0x3b, 0x2e, 0x2f, 0x12, 0x88, 0x84, 0x4c, 0x54, 0x28, 0x50,
-	0xd5, 0x04, 0xa9, 0x54, 0x16, 0x46, 0xb5, 0x88, 0x26, 0x89, 0x98, 0x00, 0x68, 0xa0, 0x29, 0xc5,
-	0x49, 0x55, 0x16, 0x5e, 0x66, 0x95, 0xd7, 0x32, 0x95, 0x2f, 0x18, 0xcf, 0xfc, 0xc6, 0x3c, 0x7e,
-	0x60, 0xe6, 0x23, 0x66, 0x37, 0xef, 0xd9, 0x4c, 0xa1, 0x01, 0x92, 0x10, 0x1f, 0xa2, 0x5c, 0x35,
-	0x3b, 0xf2, 0x9e, 0x73, 0xee, 0x3d, 0x8d, 0x7b, 0xbb, 0xd1, 0x80, 0xb4, 0x61, 0x99, 0xb9, 0xd6,
-	0xa5, 0x4e, 0x2f, 0xa8, 0xcd, 0x3c, 0xdd, 0x6a, 0x5a, 0x4c, 0xf7, 0xa8, 0x7b, 0x61, 0xd6, 0x69,
-	0xb6, 0xe3, 0x3a, 0xcc, 0x41, 0x82, 0x61, 0x99, 0xa9, 0x5b, 0x3e, 0xad, 0xee, 0x58, 0x96, 0x63,
-	0x7b, 0x41, 0x3c, 0xb5, 0x1c, 0x28, 0xc3, 0x7f, 0xf7, 0x9a, 0x8e, 0xd3, 0x6c, 0xd3, 0x1c, 0xff,
-	0x77, 0xde, 0x6d, 0xe4, 0x98, 0x69, 0x51, 0x8f, 0x11, 0xab, 0x13, 0x12, 0x36, 0x86, 0x09, 0xd4,
-	0xea, 0xb0, 0xd7, 0x01, 0x98, 0x31, 0x61, 0xb1, 0x46, 0xda, 0x5d, 0xaa, 0xbd, 0xee, 0x50, 0xb4,
-	0x0e, 0x0b, 0xa6, 0xcd, 0xf4, 0x0b, 0xd2, 0x5e, 0x8b, 0xa5, 0x63, 0x3b, 0x42, 0x71, 0x06, 0xcf,
-	0x9b, 0x36, 0xab, 0x91, 0x36, 0xda, 0x80, 0x44, 0xb7, 0x87, 0xc5, 0xd3, 0xb1, 0x9d, 0xd9, 0xe2,
-	0x0c, 0x5e, 0xe8, 0x86, 0xe0, 0x26, 0x2c, 0x36, 0xda, 0x0e, 0x09, 0x50, 0x21, 0x1d, 0xdb, 0x89,
-	0x17, 0x67, 0x70, 0x82, 0x87, 0x6a, 0xa4, 0x7d, 0x34, 0x07, 0xc2, 0x05, 0x69, 0x67, 0x30, 0xc0,
-	0x19, 0x61, 0xd4, 0x3d, 0x21, 0xee, 0x4b, 0x0f, 0x65, 0x60, 0xb6, 0x65, 0x36, 0x5b, 0xbc, 0xd0,
-	0xd2, 0x41, 0x32, 0x6b, 0x58, 0x66, 0xb6, 0xef, 0x04, 0x73, 0x0c, 0xa5, 0x41, 0x68, 0x3b, 0x97,
-	0xbc, 0xde, 0x28, 0xc5, 0x87, 0x32, 0x2f, 0x01, 0xb4, 0x96, 0x4b, 0xbd, 0x96, 0xd3, 0x36, 0x3c,
-	0xb4, 0x0d, 0x73, 0xdd, 0x4e, 0x87, 0xba, 0x61, 0xd2, 0x9f, 0x70, 0xc5, 0xa0, 0x66, 0x71, 0x06,
-	0x07, 0xb8, 0x4f, 0x6c, 0x3b, 0x97, 0xd4, 0x0d, 0x53, 0x8f, 0x23, 0x72, 0xfc, 0x68, 0x09, 0x16,
-	0x59, 0x2f, 0x7f, 0xe6, 0xef, 0x70, 0xbb, 0x5f, 0x4c, 0xb1, 0x1b, 0x8e, 0x6b, 0x11, 0x66, 0x3a,
-	0x36, 0xfa, 0x0d, 0x24, 0x9d, 0x73, 0xbf, 0x75, 0xd4, 0xf0, 0x9f, 0x40, 0x97, 0x4e, 0x58, 0xd4,
-	0x4a, 0x8f, 0xc5, 0x43, 0x28, 0x07, 0xd0, 0xcf, 0xed, 0x5d, 0x71, 0x32, 0x58, 0x12, 0x8e, 0x50,
-	0x32, 0xff, 0x88, 0x41, 0x42, 0xf6, 0xa7, 0x25, 0xdf, 0x68, 0xa2, 0x1d, 0x48, 0xf0, 0xc9, 0xd1,
-	0x4d, 0x83, 0x97, 0x4b, 0x1e, 0xac, 0x70, 0x2d, 0x27, 0x28, 0x86, 0x87, 0x17, 0x68, 0xf0, 0x0b,
-	0x6d, 0xc1, 0x8a, 0xe9, 0xe9, 0x75, 0xc7, 0x6e, 0x98, 0xcd, 0xae, 0x4b, 0x0d, 0x5e, 0x2a, 0x81,
-	0x97, 0x4d, 0x2f, 0xdf, 0x8f, 0x0d, 0x99, 0x11, 0xa6, 0x9b, 0xd9, 0x87, 0x45, 0x5e, 0xca, 0xf3,
-	0xcd, 0x6c, 0xc1, 0x9c, 0xc9, 0xa8, 0xe5, 0xad, 0xc5, 0xd2, 0xc2, 0xce, 0x52, 0xd4, 0x49, 0xbe,
-	0xd1, 0xc4, 0x01, 0x96, 0xf9, 0x7f, 0x1c, 0x50, 0xc9, 0xf4, 0x58, 0x20, 0xc3, 0xd4, 0xeb, 0x38,
-	0xb6, 0x47, 0xd1, 0x16, 0xcc, 0x7b, 0x8c, 0xb0, 0xae, 0x17, 0x2e, 0x63, 0x89, 0x8b, 0x2b, 0x3c,
-	0x84, 0x43, 0x08, 0x3d, 0x86, 0x79, 0x97, 0x12, 0xcf, 0xb1, 0xb9, 0xf9, 0xe4, 0xc1, 0x5d, 0x4e,
-	0x1a, 0xcd, 0x96, 0xc5, 0x9c, 0x85, 0x43, 0x36, 0xba, 0x0f, 0xf3, 0xc1, 0xfe, 0x0a, 0x97, 0x94,
-	0x1c, 0x38, 0xf3, 0x8d, 0xe3, 0x10, 0xf5, 0x9f, 0x51, 0xa0, 0xd0, 0x0d, 0xca, 0x88, 0xd9, 0x5e,
-	0x9b, 0x4d, 0xc7, 0x76, 0x16, 0xf1, 0x72, 0x10, 0x2c, 0xf0, 0x58, 0xe6, 0x05, 0xcc, 0x07, 0xe9,
-	0xd1, 0x6d, 0x10, 0xab, 0x6a, 0x41, 0x3e, 0x56, 0x54, 0xb9, 0xa0, 0x63, 0x59, 0xaa, 0x94, 0x55,
-	0x71, 0x06, 0x21, 0x48, 0x56, 0xd5, 0x3f, 0xa8, 0xe5, 0x33, 0x55, 0x2f, 0xc8, 0x35, 0x25, 0x2f,
-	0x8b, 0x31, 0x3f, 0xa6, 0xa8, 0x9a, 0x8c, 0x55, 0xa9, 0xa4, 0xcb, 0x18, 0x97, 0xb1, 0x18, 0x47,
-	0xab, 0x80, 0x02, 0x5c, 0xaf, 0xaa, 0x58, 0x96, 0xf2, 0x45, 0xe9, 0xa8, 0x24, 0x8b, 0x42, 0xe6,
-	0x6d, 0x0c, 0x52, 0xa1, 0xb5, 0xb0, 0x31, 0x7c, 0xbe, 0x30, 0x7d, 0xd5, 0xa5, 0x1e, 0x43, 0xbb,
-	0xb0, 0x64, 0x50, 0xff, 0x78, 0xd0, 0xbb, 0xdd, 0xb0, 0xe9, 0x4b, 0x07, 0x8b, 0x7c, 0x41, 0xd5,
-	0xae, 0x69, 0x60, 0x08, 0x50, 0xff, 0x37, 0xda, 0x85, 0x85, 0x7a, 0x8b, 0xd8, 0x4d, 0xea, 0x5d,
-	0xd9, 0x3d, 0xfd, 0x85, 0xfb, 0xbb, 0x37, 0x24, 0xa0, 0x5d, 0x10, 0x5d, 0xea, 0x51, 0xa6, 0x33,
-	0x47, 0x37, 0x68, 0x83, 0x74, 0xdb, 0x8c, 0x3f, 0xad, 0x44, 0x71, 0x06, 0x27, 0x39, 0xa2, 0x39,
-	0x85, 0x20, 0xee, 0xef, 0x07, 0xa7, 0x43, 0x03, 0x5f, 0x99, 0xff, 0xc5, 0x61, 0x63, 0xac, 0xdf,
-	0x77, 0xe9, 0xec, 0xef, 0x86, 0x3a, 0xbb, 0x1d, 0x35, 0x3a, 0x2e, 0xed, 0x70, 0x8b, 0x47, 0x5a,
-	0x27, 0x8c, 0x69, 0x9d, 0xfb, 0x23, 0xb5, 0x8e, 0xc7, 0x6a, 0x52, 0x49, 0x29, 0xe8, 0xf9, 0xb2,
-	0x7a, 0xac, 0x3c, 0x17, 0x85, 0x09, 0xed, 0x9c, 0xcd, 0xfc, 0x37, 0x06, 0x2b, 0x7c, 0x1d, 0x27,
-	0x94, 0x91, 0x02, 0x61, 0xe4, 0x9d, 0x3a, 0xb8, 0x0f, 0xc9, 0xba, 0x63, 0x75, 0x1c, 0xdb, 0xdf,
-	0xe3, 0x9c, 0x1e, 0x1f, 0xa6, 0xaf, 0xf4, 0x09, 0x5c, 0xf1, 0xcb, 0xa8, 0xc2, 0x26, 0x16, 0x0d,
-	0x9f, 0xc4, 0x80, 0xa6, 0x12, 0x8b, 0x66, 0xde, 0xc4, 0x61, 0x8e, 0xdb, 0x42, 0x4f, 0x21, 0x19,
-	0x1c, 0x21, 0x16, 0x65, 0xc4, 0x20, 0x8c, 0x84, 0x8e, 0xd0, 0xa0, 0x05, 0x3d, 0xeb, 0x78, 0x85,
-	0xf6, 0xfe, 0xfa, 0xc4, 0x2b, 0xa7, 0x4f, 0xfc, 0xda, 0xd3, 0xe7, 0x09, 0x2c, 0xba, 0xc4, 0xf4,
-	0xa8, 0xa1, 0xf7, 0x37, 0x61, 0x2a, 0x1b, 0xbc, 0x91, 0xb2, 0xbd, 0x37, 0x52, 0x56, 0xeb, 0xbd,
-	0xb2, 0x70, 0x22, 0x20, 0x6b, 0x1e, 0xfa, 0x3d, 0x24, 0xfb, 0xc7, 0x8d, 0x6e, 0xda, 0x0d, 0x87,
-	0xef, 0xc9, 0xa5, 0x83, 0xf5, 0xab, 0xa7, 0x52, 0xe4, 0x20, 0xc6, 0x2b, 0x2c, 0x1a, 0x45, 0xeb,
-	0x90, 0x20, 0x46, 0xa8, 0x9d, 0xe3, 0x8f, 0x62, 0x81, 0x18, 0x1c, 0xda, 0x7d, 0x23, 0x86, 0x47,
-	0xa9, 0x62, 0x78, 0x68, 0x0d, 0x6e, 0xcb, 0x35, 0x59, 0xd5, 0x74, 0x55, 0x3a, 0xf1, 0x9b, 0x18,
-	0x4e, 0x87, 0x38, 0x83, 0xee, 0x42, 0x2a, 0x40, 0x34, 0x2c, 0xa9, 0x95, 0xbc, 0xac, 0xd4, 0x64,
-	0xac, 0x9f, 0x96, 0xaa, 0xcf, 0xf5, 0x72, 0x55, 0x13, 0x0d, 0xb4, 0x09, 0xeb, 0x13, 0x70, 0x45,
-	0x15, 0x29, 0xda, 0x83, 0x07, 0xa3, 0x70, 0xad, 0x5c, 0xd2, 0xa4, 0xe7, 0xb2, 0x2e, 0x1d, 0x95,
-	0x6b, 0xb2, 0xae, 0x15, 0xb1, 0x5c, 0x29, 0x96, 0x4b, 0x05, 0xb1, 0x71, 0x3d, 0xfd, 0x48, 0x2e,
-	0x95, 0xcf, 0x22, 0xf4, 0x26, 0x7a, 0x08, 0x7b, 0xa3, 0x74, 0x4d, 0x3e, 0x39, 0x95, 0xb1, 0xa4,
-	0x55, 0xf1, 0x68, 0x85, 0xd6, 0x74, 0xc9, 0x70, 0x15, 0x73, 0xbc, 0xa9, 0x7c, 0x15, 0x63, 0x3f,
-	0x36, 0x5c, 0xe1, 0xcf, 0xd7, 0xd3, 0x87, 0xb3, 0xbf, 0x44, 0x59, 0xd8, 0x1d, 0xa5, 0xe3, 0x3f,
-	0xea, 0xa7, 0xe5, 0x33, 0x19, 0x8f, 0xa4, 0x6f, 0x4f, 0xe1, 0x0f, 0xe7, 0xb7, 0xc6, 0xf3, 0xb5,
-	0x49, 0xf9, 0xed, 0x29, 0xfc, 0xe1, 0xfc, 0xce, 0xf8, 0x01, 0x38, 0x96, 0x94, 0x52, 0x15, 0xcb,
-	0x62, 0x07, 0x3d, 0x81, 0xc3, 0x1b, 0x0f, 0x80, 0x8e, 0xe5, 0x7c, 0xb9, 0x26, 0x63, 0xb9, 0x20,
-	0xbe, 0xba, 0x5e, 0x38, 0x64, 0x23, 0x22, 0x74, 0xd1, 0x33, 0x78, 0xf2, 0x4e, 0x43, 0x11, 0x11,
-	0x7b, 0xd3, 0xc5, 0x93, 0x2b, 0xb3, 0xf1, 0x96, 0x27, 0x0c, 0x4a, 0x44, 0xd8, 0xbd, 0x5e, 0x38,
-	0xb9, 0xe2, 0x05, 0xfa, 0x2d, 0x3c, 0xba, 0xf9, 0xf0, 0x44, 0x94, 0x97, 0x53, 0x94, 0x93, 0x6b,
-	0xfe, 0x65, 0xbc, 0x52, 0x9b, 0x5e, 0xf3, 0xf5, 0x14, 0xe5, 0xe4, 0x9a, 0x7f, 0x45, 0xdb, 0xb0,
-	0x35, 0x71, 0xc8, 0x22, 0xc4, 0xbf, 0xa1, 0x3b, 0x80, 0x02, 0xe2, 0x69, 0xa5, 0x3a, 0x38, 0xa6,
-	0x3e, 0x8c, 0xa1, 0x55, 0xb8, 0x35, 0x04, 0x28, 0xaa, 0xf8, 0xd1, 0x50, 0xbc, 0x37, 0xb6, 0x1f,
-	0xc7, 0x50, 0x1a, 0x36, 0x46, 0xe2, 0x91, 0x4a, 0x9f, 0x44, 0x94, 0xc7, 0x92, 0xda, 0x57, 0xbe,
-	0x17, 0x1f, 0x58, 0xf0, 0xe3, 0x7d, 0x0b, 0x6f, 0xe3, 0x57, 0x05, 0x3d, 0x0b, 0xef, 0xc7, 0x07,
-	0xa5, 0x22, 0x89, 0x22, 0xa5, 0x3e, 0x88, 0xa3, 0x07, 0xf0, 0x8b, 0x80, 0x91, 0x3f, 0xad, 0x8e,
-	0x19, 0xe5, 0x3c, 0x56, 0x34, 0x25, 0x2f, 0x95, 0xc4, 0x7f, 0x0a, 0xe8, 0x3e, 0xfc, 0xfc, 0x3a,
-	0xea, 0xb1, 0xa4, 0x49, 0x25, 0xf1, 0x5f, 0x02, 0x3a, 0x84, 0xec, 0x4d, 0x52, 0x46, 0x7c, 0xfc,
-	0x5b, 0x40, 0xfb, 0xf0, 0xab, 0xa9, 0xc9, 0x23, 0x8a, 0xff, 0x08, 0x28, 0x05, 0x3f, 0x0d, 0x14,
-	0xc5, 0xb3, 0xf0, 0x5a, 0xa1, 0x63, 0xb9, 0x22, 0x6b, 0xe2, 0x17, 0x02, 0xca, 0xf5, 0x4e, 0x9a,
-	0x01, 0x76, 0xcd, 0xda, 0xbe, 0x14, 0xd0, 0xaf, 0x61, 0x7b, 0xba, 0x20, 0x58, 0xe1, 0x57, 0x02,
-	0x7a, 0xda, 0x9b, 0xb6, 0x9b, 0xa4, 0x8f, 0xb8, 0xfe, 0x5a, 0x40, 0x8f, 0xe1, 0xe1, 0x0d, 0x0b,
-	0x45, 0x74, 0xdf, 0x08, 0x68, 0x03, 0x56, 0x47, 0x57, 0x7b, 0x54, 0x2e, 0x6b, 0xe2, 0xb7, 0x02,
-	0xda, 0x86, 0x4c, 0x1f, 0x8c, 0x66, 0xab, 0xc8, 0x6a, 0xa5, 0x1c, 0x4c, 0xb3, 0x5c, 0x10, 0xbf,
-	0xbb, 0xba, 0x4c, 0xa9, 0x54, 0x1a, 0x43, 0xae, 0xf4, 0xd8, 0xdf, 0x0b, 0x68, 0x13, 0xd6, 0x02,
-	0x76, 0x49, 0x51, 0x65, 0x3d, 0x2f, 0xe1, 0xc2, 0x60, 0xe8, 0x3e, 0x9d, 0x45, 0x3f, 0x83, 0x3b,
-	0x63, 0x61, 0x45, 0x15, 0x3f, 0x9b, 0x3d, 0xf8, 0x3c, 0x06, 0x9b, 0x2a, 0x61, 0xe6, 0x05, 0x0d,
-	0xae, 0x9b, 0x27, 0xc4, 0x26, 0x4d, 0x6a, 0x51, 0x9b, 0x55, 0x82, 0xef, 0x70, 0xf4, 0x18, 0x60,
-	0xf0, 0x8d, 0x81, 0x82, 0xef, 0xa1, 0x22, 0x71, 0x8d, 0x4b, 0xe2, 0x52, 0xa5, 0x90, 0xba, 0x33,
-	0xe1, 0x2b, 0x04, 0xbd, 0x80, 0xf5, 0x6a, 0xc7, 0x20, 0x8c, 0x8e, 0xb9, 0xc7, 0xa2, 0x7b, 0x93,
-	0x6f, 0xb8, 0xfc, 0xa2, 0x9f, 0x4a, 0x4f, 0xbb, 0x02, 0xa3, 0x47, 0xb0, 0x5c, 0x61, 0x2e, 0x25,
-	0x56, 0xe8, 0x6c, 0x75, 0xe4, 0x46, 0x25, 0xfb, 0xdf, 0xf8, 0x29, 0x18, 0x64, 0xda, 0x8f, 0x1d,
-	0x3d, 0xfb, 0xd3, 0xd3, 0xa6, 0xc9, 0x5a, 0xdd, 0xf3, 0x6c, 0xdd, 0xb1, 0x72, 0x4e, 0x87, 0xda,
-	0x75, 0xc7, 0x35, 0x72, 0xc1, 0xa5, 0x73, 0xcf, 0xea, 0xaf, 0x7e, 0xcf, 0xb4, 0x19, 0x75, 0x1b,
-	0xa4, 0x4e, 0x73, 0x17, 0x87, 0xb9, 0xa6, 0x93, 0x33, 0x2c, 0xf3, 0x7c, 0x9e, 0xa7, 0x3e, 0xfc,
-	0x21, 0x00, 0x00, 0xff, 0xff, 0xd2, 0x94, 0x3d, 0x88, 0xb7, 0x10, 0x00, 0x00,
+	// 1682 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0x5b, 0x73, 0xe3, 0x48,
+	0x15, 0x8e, 0xad, 0x5c, 0x4f, 0x26, 0x46, 0x7b, 0x6a, 0x98, 0x49, 0x1c, 0x66, 0xc6, 0x78, 0x76,
+	0x37, 0xd9, 0xc0, 0xd8, 0xd9, 0xcc, 0x30, 0xc3, 0xd4, 0x3e, 0x80, 0x62, 0x2b, 0x63, 0xd5, 0x3a,
+	0x72, 0xaa, 0x2d, 0x3b, 0x2c, 0x0f, 0xab, 0xea, 0x89, 0xda, 0x8e, 0x18, 0x4b, 0xf2, 0x4a, 0xed,
+	0x84, 0x40, 0x15, 0x05, 0xfc, 0x02, 0x2e, 0xcb, 0x13, 0x14, 0xbf, 0x80, 0x85, 0x3f, 0xc0, 0x0f,
+	0xe0, 0xf2, 0x07, 0xe0, 0x95, 0x77, 0xde, 0xb8, 0xdf, 0x4b, 0x2d, 0xd9, 0x56, 0x7c, 0xcd, 0x54,
+	0xf1, 0x66, 0x9d, 0xf3, 0x7d, 0xe7, 0x7c, 0xdd, 0xe7, 0xf4, 0x91, 0xda, 0x90, 0xb3, 0x1c, 0xbb,
+	0x78, 0x7e, 0x69, 0xb2, 0x0b, 0xe6, 0xf2, 0xc0, 0x74, 0xda, 0x0e, 0x37, 0x03, 0xe6, 0x5f, 0xd8,
+	0x67, 0xac, 0xd0, 0xf5, 0x3d, 0xee, 0xa1, 0x64, 0x39, 0x76, 0xf6, 0x8d, 0x10, 0x76, 0xe6, 0x39,
+	0x8e, 0xe7, 0x06, 0x91, 0x3d, 0x7b, 0x2b, 0x62, 0xc6, 0x4f, 0x0f, 0xda, 0x9e, 0xd7, 0xee, 0xb0,
+	0xa2, 0x78, 0x7a, 0xd9, 0x6b, 0x15, 0xb9, 0xed, 0xb0, 0x80, 0x53, 0xa7, 0x1b, 0x03, 0xb6, 0x47,
+	0x01, 0xcc, 0xe9, 0xf2, 0xab, 0xc8, 0x99, 0xff, 0x71, 0x0a, 0xd6, 0x9a, 0xb4, 0xd3, 0x63, 0xc6,
+	0x55, 0x97, 0xe1, 0x16, 0xac, 0xd8, 0x2e, 0x37, 0x2f, 0x68, 0x67, 0x33, 0x95, 0x4b, 0xed, 0x4a,
+	0x95, 0x05, 0xb2, 0x6c, 0xbb, 0xbc, 0x49, 0x3b, 0xb8, 0x0d, 0xab, 0xbd, 0xbe, 0x2f, 0x9d, 0x4b,
+	0xed, 0x2e, 0x56, 0x16, 0xc8, 0x4a, 0x2f, 0x76, 0xde, 0x83, 0xb5, 0x56, 0xc7, 0xa3, 0x91, 0x57,
+	0xca, 0xa5, 0x76, 0xd3, 0x95, 0x05, 0xb2, 0x2a, 0x4c, 0xa1, 0x7b, 0x1f, 0xd6, 0xf8, 0x55, 0x97,
+	0xd5, 0x5a, 0x4d, 0xda, 0xd9, 0x5c, 0xcc, 0xa5, 0x76, 0x33, 0x07, 0x58, 0xb0, 0x1c, 0xbb, 0x50,
+	0xa6, 0x9c, 0x0e, 0xb2, 0x93, 0x21, 0xe8, 0x70, 0x09, 0xa4, 0x0b, 0xda, 0xc9, 0x13, 0x80, 0x53,
+	0xca, 0x99, 0x7f, 0x4c, 0xfd, 0x57, 0x01, 0xe6, 0x61, 0xf1, 0xdc, 0x6e, 0x9f, 0x0b, 0x69, 0xeb,
+	0x07, 0x19, 0x11, 0x61, 0xc8, 0x16, 0x3e, 0xcc, 0x81, 0xd4, 0xf1, 0x2e, 0x85, 0xc2, 0x71, 0x48,
+	0xe8, 0xca, 0xbf, 0x02, 0x30, 0xce, 0x7d, 0x16, 0x9c, 0x7b, 0x1d, 0x2b, 0xc0, 0x1d, 0x58, 0xea,
+	0x75, 0xbb, 0xcc, 0x8f, 0x83, 0x7e, 0x4a, 0x30, 0x86, 0x39, 0x2b, 0x0b, 0x24, 0xf2, 0x87, 0xc0,
+	0x8e, 0x77, 0xc9, 0xfc, 0x38, 0xf4, 0x24, 0xa0, 0xf0, 0x1f, 0xae, 0xc3, 0x1a, 0xef, 0xc7, 0xcf,
+	0x7f, 0x0b, 0x6e, 0x0f, 0x92, 0x69, 0x6e, 0xcb, 0xf3, 0x1d, 0xca, 0x6d, 0xcf, 0xc5, 0x2f, 0x40,
+	0xc6, 0x7b, 0x19, 0x56, 0x9b, 0x59, 0xe1, 0x9e, 0xf5, 0xd8, 0x94, 0x45, 0x6d, 0xf4, 0x51, 0xc2,
+	0x84, 0x45, 0x80, 0x41, 0xec, 0xe0, 0x9a, 0x92, 0xe1, 0x92, 0x48, 0x02, 0x92, 0xff, 0x65, 0x0a,
+	0x56, 0xd5, 0xb0, 0xc1, 0x4a, 0xad, 0x36, 0xee, 0xc2, 0xaa, 0x68, 0x36, 0xd3, 0xb6, 0x44, 0xba,
+	0xcc, 0xc1, 0x86, 0xe0, 0x0a, 0x80, 0x66, 0x05, 0x64, 0x85, 0x45, 0xbf, 0xf0, 0x21, 0x6c, 0xd8,
+	0x81, 0x79, 0xe6, 0xb9, 0x2d, 0xbb, 0xdd, 0xf3, 0x99, 0x25, 0x52, 0xad, 0x92, 0x5b, 0x76, 0x50,
+	0x1a, 0xd8, 0x46, 0xc4, 0x48, 0x73, 0xc5, 0xe0, 0x3e, 0x64, 0xce, 0x3c, 0xa7, 0xeb, 0xb9, 0xa1,
+	0x86, 0x5e, 0xcf, 0xb6, 0x44, 0x2f, 0xac, 0x1f, 0xac, 0x09, 0x52, 0xa3, 0x67, 0x5b, 0x64, 0x63,
+	0x00, 0x08, 0x1f, 0xf3, 0xfb, 0xb0, 0x26, 0xc4, 0x05, 0xa1, 0xfc, 0x87, 0xb0, 0x64, 0x73, 0xe6,
+	0x04, 0x9b, 0xa9, 0x9c, 0xb4, 0xbb, 0x9e, 0xd4, 0x5e, 0x6a, 0xb5, 0x49, 0xe4, 0xcb, 0xff, 0x34,
+	0x0d, 0x58, 0xb5, 0x03, 0x1e, 0xd1, 0x08, 0x0b, 0xba, 0x9e, 0x1b, 0x30, 0x7c, 0x08, 0xcb, 0x01,
+	0xa7, 0xbc, 0x17, 0xc4, 0x0b, 0x5f, 0x17, 0xe4, 0xba, 0x30, 0x91, 0xd8, 0x85, 0x4f, 0x61, 0xd9,
+	0x67, 0x34, 0xf0, 0x5c, 0xb1, 0xdc, 0xcc, 0xc1, 0x7d, 0x01, 0x1a, 0x8f, 0x56, 0x20, 0x02, 0x45,
+	0x62, 0x34, 0xbe, 0x0d, 0xcb, 0xd1, 0x21, 0x8e, 0x37, 0x21, 0x33, 0x54, 0x16, 0x0a, 0x27, 0xb1,
+	0x37, 0xdc, 0xd5, 0x88, 0x61, 0x5a, 0x8c, 0x53, 0x3b, 0x3a, 0x0a, 0x6b, 0xe4, 0x56, 0x64, 0x2c,
+	0x0b, 0x5b, 0xfe, 0x43, 0x58, 0x8e, 0xc2, 0xe3, 0x6d, 0x90, 0x1b, 0x7a, 0x59, 0x3d, 0xd2, 0x74,
+	0xb5, 0x6c, 0x12, 0x55, 0xa9, 0xd7, 0x74, 0x79, 0x01, 0x11, 0x32, 0x0d, 0xfd, 0x7d, 0xbd, 0x76,
+	0xaa, 0x9b, 0x65, 0xb5, 0xa9, 0x95, 0x54, 0x39, 0x15, 0xda, 0x34, 0xdd, 0x50, 0x89, 0xae, 0x54,
+	0x4d, 0x95, 0x90, 0x1a, 0x91, 0xd3, 0x78, 0x07, 0x30, 0xf2, 0x9b, 0x0d, 0x9d, 0xa8, 0x4a, 0xa9,
+	0xa2, 0x1c, 0x56, 0x55, 0x59, 0xca, 0x7f, 0x92, 0x82, 0x6c, 0x2c, 0x2d, 0x2e, 0xa5, 0xe8, 0x48,
+	0xc2, 0x3e, 0xea, 0xb1, 0x80, 0xe3, 0x1e, 0xac, 0x5b, 0x2c, 0x9c, 0x41, 0x51, 0x81, 0x52, 0xa3,
+	0x05, 0x82, 0xc8, 0x1b, 0xfe, 0xc6, 0x3d, 0x58, 0x39, 0x3b, 0xa7, 0x6e, 0x9b, 0x05, 0xd7, 0xce,
+	0xdb, 0x60, 0xe1, 0xe1, 0x84, 0x88, 0x01, 0xb8, 0x07, 0xb2, 0xcf, 0x02, 0xc6, 0x4d, 0xee, 0x99,
+	0x16, 0x6b, 0xd1, 0x5e, 0x87, 0x8b, 0xdd, 0x5a, 0xad, 0x2c, 0x90, 0x8c, 0xf0, 0x18, 0x5e, 0x39,
+	0xb2, 0x87, 0x27, 0xc8, 0xeb, 0xb2, 0x48, 0x57, 0xfe, 0x27, 0x69, 0xd8, 0x9e, 0xa8, 0xf7, 0x75,
+	0x2a, 0xfb, 0xa5, 0x91, 0xca, 0xee, 0x24, 0x85, 0x4e, 0x0a, 0x3b, 0x5a, 0xe2, 0xb1, 0xd2, 0x49,
+	0x13, 0x4a, 0xe7, 0xff, 0x9f, 0x4a, 0x27, 0x6c, 0x4d, 0xa5, 0xaa, 0x95, 0xcd, 0x52, 0x4d, 0x3f,
+	0xd2, 0x5e, 0xc8, 0xd2, 0x94, 0x72, 0x2e, 0xe6, 0x3f, 0x4e, 0xc1, 0x86, 0x58, 0xc7, 0x31, 0xe3,
+	0x34, 0x1c, 0xa7, 0xaf, 0x55, 0xc1, 0xf1, 0x13, 0x99, 0x9e, 0x7d, 0x22, 0xf1, 0xad, 0x24, 0xc3,
+	0xa5, 0x0e, 0x8b, 0x77, 0x62, 0x08, 0xd3, 0xa9, 0xc3, 0xf2, 0xdf, 0x4d, 0xc3, 0x92, 0x90, 0x85,
+	0xcf, 0x21, 0x13, 0x0d, 0x1d, 0x87, 0x71, 0x6a, 0x51, 0x4e, 0x63, 0x45, 0x38, 0x2c, 0x41, 0x5f,
+	0x3a, 0xd9, 0x60, 0xfd, 0xc7, 0x10, 0x78, 0x6d, 0x5e, 0xa5, 0x67, 0xce, 0xab, 0x67, 0xb0, 0xe6,
+	0x53, 0x3b, 0x60, 0x96, 0x39, 0x38, 0x84, 0xd9, 0x42, 0xf4, 0xda, 0x2b, 0xf4, 0x5f, 0x7b, 0x05,
+	0xa3, 0xff, 0x5e, 0x24, 0xab, 0x11, 0xd8, 0x08, 0xf0, 0xcb, 0x90, 0x19, 0x0c, 0x28, 0xd3, 0x76,
+	0x5b, 0x5e, 0x3c, 0x92, 0xb6, 0xae, 0xcf, 0xb1, 0xc4, 0xe8, 0x26, 0x1b, 0x3c, 0x69, 0xc5, 0x2d,
+	0x58, 0xa5, 0x56, 0xcc, 0x5d, 0x12, 0x5b, 0xb1, 0x42, 0x2d, 0xe1, 0xda, 0xfb, 0x03, 0xc6, 0xc3,
+	0x57, 0xb3, 0x02, 0xdc, 0x84, 0xdb, 0x6a, 0x53, 0xd5, 0x0d, 0x53, 0x57, 0x8e, 0xc3, 0x22, 0xc6,
+	0xdd, 0x21, 0x2f, 0xe0, 0x7d, 0xc8, 0x46, 0x1e, 0x83, 0x28, 0x7a, 0xbd, 0xa4, 0x6a, 0x4d, 0x95,
+	0x98, 0x27, 0xd5, 0xc6, 0x0b, 0xb3, 0xd6, 0x30, 0x64, 0x0b, 0xef, 0xc1, 0xd6, 0x14, 0xbf, 0xa6,
+	0xcb, 0x0c, 0x1f, 0xc1, 0x3b, 0xe3, 0xee, 0x66, 0xad, 0x6a, 0x28, 0x2f, 0x54, 0x53, 0x39, 0xac,
+	0x35, 0x55, 0xd3, 0xa8, 0x10, 0xb5, 0x5e, 0xa9, 0x55, 0xcb, 0x72, 0x6b, 0x36, 0xfc, 0x50, 0xad,
+	0xd6, 0x4e, 0x13, 0xf0, 0x36, 0xbe, 0x0b, 0x8f, 0xc6, 0xe1, 0x86, 0x7a, 0x7c, 0xa2, 0x12, 0xc5,
+	0x68, 0x90, 0xf1, 0x0c, 0xe7, 0xf3, 0x29, 0xa3, 0x59, 0xec, 0xc9, 0xa2, 0x4a, 0x0d, 0x42, 0x42,
+	0xdb, 0x68, 0x86, 0xaf, 0xcd, 0x86, 0x8f, 0x46, 0x7f, 0x85, 0x05, 0xd8, 0x1b, 0x87, 0x93, 0xaf,
+	0x98, 0x27, 0xb5, 0x53, 0x95, 0x8c, 0x85, 0xef, 0xcc, 0xc1, 0x8f, 0xc6, 0x77, 0x26, 0xe3, 0x8d,
+	0x69, 0xf1, 0xdd, 0x39, 0xf8, 0xd1, 0xf8, 0xde, 0xe4, 0x06, 0x38, 0x52, 0xb4, 0x6a, 0x83, 0xa8,
+	0x72, 0x17, 0x9f, 0xc1, 0xe3, 0x1b, 0x37, 0x80, 0x49, 0xd4, 0x52, 0xad, 0xa9, 0x12, 0xb5, 0x2c,
+	0x7f, 0x34, 0x9b, 0x38, 0x22, 0x23, 0x41, 0xf4, 0xf1, 0x3d, 0x78, 0xf6, 0x5a, 0x4d, 0x91, 0x20,
+	0x07, 0xf3, 0xc9, 0xd3, 0x33, 0xf3, 0xc9, 0x92, 0xa7, 0x34, 0x4a, 0x82, 0xd8, 0x9b, 0x4d, 0x9c,
+	0x9e, 0xf1, 0x02, 0xbf, 0x08, 0x4f, 0x6e, 0xde, 0x3c, 0x09, 0xe6, 0xe5, 0x1c, 0xe6, 0xf4, 0x9c,
+	0x5f, 0x9f, 0xcc, 0x34, 0xe6, 0xe7, 0xbc, 0x9a, 0xc3, 0x9c, 0x9e, 0xf3, 0x1b, 0xb8, 0x03, 0x0f,
+	0xa7, 0x36, 0x59, 0x02, 0xf8, 0x4d, 0xbc, 0x0b, 0x18, 0x01, 0x4f, 0xea, 0x8d, 0xe1, 0x98, 0xfa,
+	0x55, 0x0a, 0xef, 0xc0, 0x1b, 0x23, 0x0e, 0x4d, 0x97, 0x7f, 0x3d, 0x62, 0xef, 0xb7, 0xed, 0x6f,
+	0x52, 0x98, 0x83, 0xed, 0x31, 0x7b, 0x22, 0xd3, 0x6f, 0x13, 0xcc, 0x23, 0x45, 0x1f, 0x30, 0x7f,
+	0x96, 0x1e, 0x4a, 0x08, 0xed, 0x03, 0x09, 0x9f, 0xa4, 0xaf, 0x13, 0xfa, 0x12, 0x7e, 0x9e, 0x1e,
+	0xa6, 0x4a, 0x04, 0x4a, 0xa4, 0xfa, 0x45, 0x1a, 0xdf, 0x81, 0x37, 0x23, 0x44, 0xe9, 0xa4, 0x31,
+	0xa1, 0x95, 0x4b, 0x44, 0x33, 0xb4, 0x92, 0x52, 0x95, 0xbf, 0x27, 0xe1, 0xdb, 0xf0, 0xd9, 0x59,
+	0xd0, 0x23, 0xc5, 0x50, 0xaa, 0xf2, 0xf7, 0x25, 0x7c, 0x0c, 0x85, 0x9b, 0x84, 0x4c, 0xe8, 0xf8,
+	0x81, 0x84, 0xfb, 0xf0, 0xb9, 0xb9, 0xc1, 0x13, 0x8c, 0x1f, 0x4a, 0xf8, 0x26, 0x3c, 0x18, 0x32,
+	0x1a, 0xf5, 0x49, 0x53, 0xff, 0x63, 0x09, 0x0b, 0xfd, 0x91, 0x39, 0x15, 0x95, 0x88, 0xfa, 0x23,
+	0x09, 0xb3, 0xf0, 0xe9, 0x08, 0x5f, 0x39, 0x8d, 0x3f, 0x56, 0x4c, 0xa2, 0xd6, 0x55, 0x43, 0xfe,
+	0x93, 0x84, 0xc5, 0xfe, 0xfc, 0x1a, 0xfa, 0x66, 0xec, 0xd8, 0x9f, 0x25, 0xfc, 0x3c, 0xec, 0xcc,
+	0x27, 0x44, 0xfb, 0xf6, 0x17, 0x09, 0x9f, 0xf7, 0x7b, 0xf8, 0x26, 0xe1, 0x13, 0xaa, 0xff, 0x2a,
+	0xe1, 0x53, 0x78, 0xf7, 0x86, 0x89, 0x12, 0xbc, 0xbf, 0x49, 0xb8, 0x0d, 0x77, 0xc6, 0x57, 0x7b,
+	0x58, 0xab, 0x19, 0xf2, 0xdf, 0x25, 0xdc, 0x81, 0xfc, 0xc0, 0x99, 0x8c, 0x56, 0x57, 0xf5, 0x7a,
+	0x2d, 0x3a, 0x23, 0x6a, 0x59, 0xfe, 0xc7, 0xf5, 0x65, 0x2a, 0xd5, 0xea, 0x04, 0x70, 0xbd, 0x8f,
+	0xfe, 0xa7, 0x84, 0xbb, 0xfd, 0x03, 0x17, 0xe6, 0xd4, 0xea, 0xef, 0x4f, 0xa9, 0xdd, 0xbf, 0x24,
+	0x3c, 0xe8, 0xbf, 0x50, 0x67, 0x22, 0x13, 0x2b, 0xfa, 0xb7, 0x84, 0x7b, 0xf0, 0xd6, 0x80, 0x73,
+	0xac, 0x1e, 0xd7, 0xc8, 0x07, 0x53, 0xe2, 0xff, 0x47, 0xc2, 0x27, 0x50, 0xbc, 0x11, 0x36, 0x91,
+	0xe1, 0xbf, 0x12, 0xde, 0xef, 0xbf, 0x95, 0x2a, 0xa7, 0xa6, 0x6e, 0x9c, 0x98, 0xf5, 0x0f, 0xf4,
+	0xd2, 0xe0, 0x90, 0x7e, 0x7b, 0xf1, 0xda, 0xfa, 0x46, 0xfd, 0x89, 0x48, 0xdf, 0x59, 0xc4, 0x7b,
+	0xb0, 0x19, 0x21, 0xab, 0x9a, 0xae, 0x9a, 0x25, 0x85, 0x94, 0x87, 0x87, 0xfa, 0x77, 0x8b, 0xf8,
+	0x19, 0xb8, 0x3b, 0xd1, 0xad, 0xe9, 0xf2, 0xef, 0x17, 0x0f, 0xfe, 0x98, 0x82, 0x7b, 0x3a, 0xe5,
+	0xf6, 0x05, 0x8b, 0x3e, 0xe7, 0x8f, 0xa9, 0x4b, 0xdb, 0xcc, 0x61, 0x2e, 0xaf, 0x47, 0x7f, 0xa6,
+	0xe0, 0x53, 0x80, 0xe1, 0x1d, 0x0e, 0xa3, 0x1b, 0x6a, 0x85, 0xfa, 0xd6, 0x25, 0xf5, 0x99, 0x56,
+	0xce, 0xde, 0x9d, 0x72, 0xcb, 0xc3, 0x0f, 0x61, 0xab, 0xd1, 0xb5, 0x28, 0x67, 0x13, 0xee, 0x09,
+	0xf8, 0x60, 0xfa, 0x0d, 0x42, 0x5c, 0xa4, 0xb2, 0xb9, 0x79, 0x57, 0x0c, 0x7c, 0x02, 0xb7, 0xea,
+	0xdc, 0x67, 0xd4, 0x89, 0x95, 0xdd, 0x19, 0xfb, 0x62, 0x55, 0x9d, 0x2e, 0xbf, 0xca, 0xc2, 0x30,
+	0xd2, 0x7e, 0xea, 0xf0, 0xbd, 0xaf, 0x3e, 0x6f, 0xdb, 0xfc, 0xbc, 0xf7, 0xb2, 0x70, 0xe6, 0x39,
+	0x45, 0xaf, 0xcb, 0xdc, 0x33, 0xcf, 0xb7, 0x8a, 0xd1, 0x47, 0xfd, 0x23, 0x67, 0xb0, 0xfa, 0x47,
+	0xb6, 0xcb, 0x99, 0xdf, 0xa2, 0x67, 0xac, 0x78, 0xf1, 0xb8, 0xd8, 0xf6, 0x8a, 0x96, 0x63, 0xbf,
+	0x5c, 0x16, 0xa1, 0x1f, 0xff, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x76, 0x35, 0xd3, 0x5d, 0x7c, 0x12,
+	0x00, 0x00,
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
diff --git a/vendor/github.com/opencord/device-management-interface/go/dmi/hw_management_service.pb.go b/vendor/github.com/opencord/device-management-interface/go/dmi/hw_management_service.pb.go
index 50bd972..783cbac 100644
--- a/vendor/github.com/opencord/device-management-interface/go/dmi/hw_management_service.pb.go
+++ b/vendor/github.com/opencord/device-management-interface/go/dmi/hw_management_service.pb.go
@@ -185,16 +185,20 @@
 const (
 	StopManagingDeviceResponse_UNDEFINED_REASON StopManagingDeviceResponse_Reason = 0
 	StopManagingDeviceResponse_UNKNOWN_DEVICE   StopManagingDeviceResponse_Reason = 1
+	// DEVICE_UNREACHABLE is to be returned when the device manager cannot reach the device and stop managing it
+	StopManagingDeviceResponse_DEVICE_UNREACHABLE StopManagingDeviceResponse_Reason = 2
 )
 
 var StopManagingDeviceResponse_Reason_name = map[int32]string{
 	0: "UNDEFINED_REASON",
 	1: "UNKNOWN_DEVICE",
+	2: "DEVICE_UNREACHABLE",
 }
 
 var StopManagingDeviceResponse_Reason_value = map[string]int32{
-	"UNDEFINED_REASON": 0,
-	"UNKNOWN_DEVICE":   1,
+	"UNDEFINED_REASON":   0,
+	"UNKNOWN_DEVICE":     1,
+	"DEVICE_UNREACHABLE": 2,
 }
 
 func (x StopManagingDeviceResponse_Reason) String() string {
@@ -397,13 +401,67 @@
 	return fileDescriptor_eae902e73066286d, []int{20, 0}
 }
 
+type SetDmLogLevelResponse_Reason int32
+
+const (
+	SetDmLogLevelResponse_UNDEFINED_REASON  SetDmLogLevelResponse_Reason = 0
+	SetDmLogLevelResponse_INTERNAL_ERROR    SetDmLogLevelResponse_Reason = 1
+	SetDmLogLevelResponse_UNKNOWN_LOG_LEVEL SetDmLogLevelResponse_Reason = 2
+)
+
+var SetDmLogLevelResponse_Reason_name = map[int32]string{
+	0: "UNDEFINED_REASON",
+	1: "INTERNAL_ERROR",
+	2: "UNKNOWN_LOG_LEVEL",
+}
+
+var SetDmLogLevelResponse_Reason_value = map[string]int32{
+	"UNDEFINED_REASON":  0,
+	"INTERNAL_ERROR":    1,
+	"UNKNOWN_LOG_LEVEL": 2,
+}
+
+func (x SetDmLogLevelResponse_Reason) String() string {
+	return proto.EnumName(SetDmLogLevelResponse_Reason_name, int32(x))
+}
+
+func (SetDmLogLevelResponse_Reason) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_eae902e73066286d, []int{23, 0}
+}
+
+type GetDmLogLevelResponse_Reason int32
+
+const (
+	GetDmLogLevelResponse_UNDEFINED_REASON GetDmLogLevelResponse_Reason = 0
+	GetDmLogLevelResponse_INTERNAL_ERROR   GetDmLogLevelResponse_Reason = 1
+)
+
+var GetDmLogLevelResponse_Reason_name = map[int32]string{
+	0: "UNDEFINED_REASON",
+	1: "INTERNAL_ERROR",
+}
+
+var GetDmLogLevelResponse_Reason_value = map[string]int32{
+	"UNDEFINED_REASON": 0,
+	"INTERNAL_ERROR":   1,
+}
+
+func (x GetDmLogLevelResponse_Reason) String() string {
+	return proto.EnumName(GetDmLogLevelResponse_Reason_name, int32(x))
+}
+
+func (GetDmLogLevelResponse_Reason) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_eae902e73066286d, []int{25, 0}
+}
+
 type RebootDeviceResponse_Reason int32
 
 const (
-	RebootDeviceResponse_UNDEFINED_REASON   RebootDeviceResponse_Reason = 0
-	RebootDeviceResponse_UNKNOWN_DEVICE     RebootDeviceResponse_Reason = 1
-	RebootDeviceResponse_INTERNAL_ERROR     RebootDeviceResponse_Reason = 2
-	RebootDeviceResponse_DEVICE_UNREACHABLE RebootDeviceResponse_Reason = 3
+	RebootDeviceResponse_UNDEFINED_REASON      RebootDeviceResponse_Reason = 0
+	RebootDeviceResponse_UNKNOWN_DEVICE        RebootDeviceResponse_Reason = 1
+	RebootDeviceResponse_INTERNAL_ERROR        RebootDeviceResponse_Reason = 2
+	RebootDeviceResponse_DEVICE_UNREACHABLE    RebootDeviceResponse_Reason = 3
+	RebootDeviceResponse_DEVICE_IN_WRONG_STATE RebootDeviceResponse_Reason = 4
 )
 
 var RebootDeviceResponse_Reason_name = map[int32]string{
@@ -411,13 +469,15 @@
 	1: "UNKNOWN_DEVICE",
 	2: "INTERNAL_ERROR",
 	3: "DEVICE_UNREACHABLE",
+	4: "DEVICE_IN_WRONG_STATE",
 }
 
 var RebootDeviceResponse_Reason_value = map[string]int32{
-	"UNDEFINED_REASON":   0,
-	"UNKNOWN_DEVICE":     1,
-	"INTERNAL_ERROR":     2,
-	"DEVICE_UNREACHABLE": 3,
+	"UNDEFINED_REASON":      0,
+	"UNKNOWN_DEVICE":        1,
+	"INTERNAL_ERROR":        2,
+	"DEVICE_UNREACHABLE":    3,
+	"DEVICE_IN_WRONG_STATE": 4,
 }
 
 func (x RebootDeviceResponse_Reason) String() string {
@@ -425,7 +485,7 @@
 }
 
 func (RebootDeviceResponse_Reason) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_eae902e73066286d, []int{24, 0}
+	return fileDescriptor_eae902e73066286d, []int{28, 0}
 }
 
 type PhysicalInventoryRequest struct {
@@ -1625,6 +1685,194 @@
 	return nil
 }
 
+type SetDmLogLevelRequest struct {
+	Level                LogLevel `protobuf:"varint,1,opt,name=level,proto3,enum=dmi.LogLevel" json:"level,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *SetDmLogLevelRequest) Reset()         { *m = SetDmLogLevelRequest{} }
+func (m *SetDmLogLevelRequest) String() string { return proto.CompactTextString(m) }
+func (*SetDmLogLevelRequest) ProtoMessage()    {}
+func (*SetDmLogLevelRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_eae902e73066286d, []int{22}
+}
+
+func (m *SetDmLogLevelRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_SetDmLogLevelRequest.Unmarshal(m, b)
+}
+func (m *SetDmLogLevelRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_SetDmLogLevelRequest.Marshal(b, m, deterministic)
+}
+func (m *SetDmLogLevelRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_SetDmLogLevelRequest.Merge(m, src)
+}
+func (m *SetDmLogLevelRequest) XXX_Size() int {
+	return xxx_messageInfo_SetDmLogLevelRequest.Size(m)
+}
+func (m *SetDmLogLevelRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_SetDmLogLevelRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_SetDmLogLevelRequest proto.InternalMessageInfo
+
+func (m *SetDmLogLevelRequest) GetLevel() LogLevel {
+	if m != nil {
+		return m.Level
+	}
+	return LogLevel_TRACE
+}
+
+type SetDmLogLevelResponse struct {
+	Status               Status                       `protobuf:"varint,1,opt,name=status,proto3,enum=dmi.Status" json:"status,omitempty"`
+	Reason               SetDmLogLevelResponse_Reason `protobuf:"varint,2,opt,name=reason,proto3,enum=dmi.SetDmLogLevelResponse_Reason" json:"reason,omitempty"`
+	ReasonDetail         string                       `protobuf:"bytes,3,opt,name=reason_detail,json=reasonDetail,proto3" json:"reason_detail,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}                     `json:"-"`
+	XXX_unrecognized     []byte                       `json:"-"`
+	XXX_sizecache        int32                        `json:"-"`
+}
+
+func (m *SetDmLogLevelResponse) Reset()         { *m = SetDmLogLevelResponse{} }
+func (m *SetDmLogLevelResponse) String() string { return proto.CompactTextString(m) }
+func (*SetDmLogLevelResponse) ProtoMessage()    {}
+func (*SetDmLogLevelResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_eae902e73066286d, []int{23}
+}
+
+func (m *SetDmLogLevelResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_SetDmLogLevelResponse.Unmarshal(m, b)
+}
+func (m *SetDmLogLevelResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_SetDmLogLevelResponse.Marshal(b, m, deterministic)
+}
+func (m *SetDmLogLevelResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_SetDmLogLevelResponse.Merge(m, src)
+}
+func (m *SetDmLogLevelResponse) XXX_Size() int {
+	return xxx_messageInfo_SetDmLogLevelResponse.Size(m)
+}
+func (m *SetDmLogLevelResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_SetDmLogLevelResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_SetDmLogLevelResponse proto.InternalMessageInfo
+
+func (m *SetDmLogLevelResponse) GetStatus() Status {
+	if m != nil {
+		return m.Status
+	}
+	return Status_UNDEFINED_STATUS
+}
+
+func (m *SetDmLogLevelResponse) GetReason() SetDmLogLevelResponse_Reason {
+	if m != nil {
+		return m.Reason
+	}
+	return SetDmLogLevelResponse_UNDEFINED_REASON
+}
+
+func (m *SetDmLogLevelResponse) GetReasonDetail() string {
+	if m != nil {
+		return m.ReasonDetail
+	}
+	return ""
+}
+
+type GetDmLogLevelRequest struct {
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *GetDmLogLevelRequest) Reset()         { *m = GetDmLogLevelRequest{} }
+func (m *GetDmLogLevelRequest) String() string { return proto.CompactTextString(m) }
+func (*GetDmLogLevelRequest) ProtoMessage()    {}
+func (*GetDmLogLevelRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_eae902e73066286d, []int{24}
+}
+
+func (m *GetDmLogLevelRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_GetDmLogLevelRequest.Unmarshal(m, b)
+}
+func (m *GetDmLogLevelRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_GetDmLogLevelRequest.Marshal(b, m, deterministic)
+}
+func (m *GetDmLogLevelRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_GetDmLogLevelRequest.Merge(m, src)
+}
+func (m *GetDmLogLevelRequest) XXX_Size() int {
+	return xxx_messageInfo_GetDmLogLevelRequest.Size(m)
+}
+func (m *GetDmLogLevelRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_GetDmLogLevelRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GetDmLogLevelRequest proto.InternalMessageInfo
+
+type GetDmLogLevelResponse struct {
+	Level                LogLevel                     `protobuf:"varint,1,opt,name=level,proto3,enum=dmi.LogLevel" json:"level,omitempty"`
+	Status               Status                       `protobuf:"varint,2,opt,name=status,proto3,enum=dmi.Status" json:"status,omitempty"`
+	Reason               GetDmLogLevelResponse_Reason `protobuf:"varint,3,opt,name=reason,proto3,enum=dmi.GetDmLogLevelResponse_Reason" json:"reason,omitempty"`
+	ReasonDetail         string                       `protobuf:"bytes,4,opt,name=reason_detail,json=reasonDetail,proto3" json:"reason_detail,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}                     `json:"-"`
+	XXX_unrecognized     []byte                       `json:"-"`
+	XXX_sizecache        int32                        `json:"-"`
+}
+
+func (m *GetDmLogLevelResponse) Reset()         { *m = GetDmLogLevelResponse{} }
+func (m *GetDmLogLevelResponse) String() string { return proto.CompactTextString(m) }
+func (*GetDmLogLevelResponse) ProtoMessage()    {}
+func (*GetDmLogLevelResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_eae902e73066286d, []int{25}
+}
+
+func (m *GetDmLogLevelResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_GetDmLogLevelResponse.Unmarshal(m, b)
+}
+func (m *GetDmLogLevelResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_GetDmLogLevelResponse.Marshal(b, m, deterministic)
+}
+func (m *GetDmLogLevelResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_GetDmLogLevelResponse.Merge(m, src)
+}
+func (m *GetDmLogLevelResponse) XXX_Size() int {
+	return xxx_messageInfo_GetDmLogLevelResponse.Size(m)
+}
+func (m *GetDmLogLevelResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_GetDmLogLevelResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GetDmLogLevelResponse proto.InternalMessageInfo
+
+func (m *GetDmLogLevelResponse) GetLevel() LogLevel {
+	if m != nil {
+		return m.Level
+	}
+	return LogLevel_TRACE
+}
+
+func (m *GetDmLogLevelResponse) GetStatus() Status {
+	if m != nil {
+		return m.Status
+	}
+	return Status_UNDEFINED_STATUS
+}
+
+func (m *GetDmLogLevelResponse) GetReason() GetDmLogLevelResponse_Reason {
+	if m != nil {
+		return m.Reason
+	}
+	return GetDmLogLevelResponse_UNDEFINED_REASON
+}
+
+func (m *GetDmLogLevelResponse) GetReasonDetail() string {
+	if m != nil {
+		return m.ReasonDetail
+	}
+	return ""
+}
+
 type Heartbeat struct {
 	HeartbeatSignature   uint32   `protobuf:"fixed32,1,opt,name=heartbeat_signature,json=heartbeatSignature,proto3" json:"heartbeat_signature,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
@@ -1636,7 +1884,7 @@
 func (m *Heartbeat) String() string { return proto.CompactTextString(m) }
 func (*Heartbeat) ProtoMessage()    {}
 func (*Heartbeat) Descriptor() ([]byte, []int) {
-	return fileDescriptor_eae902e73066286d, []int{22}
+	return fileDescriptor_eae902e73066286d, []int{26}
 }
 
 func (m *Heartbeat) XXX_Unmarshal(b []byte) error {
@@ -1675,7 +1923,7 @@
 func (m *RebootDeviceRequest) String() string { return proto.CompactTextString(m) }
 func (*RebootDeviceRequest) ProtoMessage()    {}
 func (*RebootDeviceRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_eae902e73066286d, []int{23}
+	return fileDescriptor_eae902e73066286d, []int{27}
 }
 
 func (m *RebootDeviceRequest) XXX_Unmarshal(b []byte) error {
@@ -1716,7 +1964,7 @@
 func (m *RebootDeviceResponse) String() string { return proto.CompactTextString(m) }
 func (*RebootDeviceResponse) ProtoMessage()    {}
 func (*RebootDeviceResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_eae902e73066286d, []int{24}
+	return fileDescriptor_eae902e73066286d, []int{28}
 }
 
 func (m *RebootDeviceResponse) XXX_Unmarshal(b []byte) error {
@@ -1770,6 +2018,8 @@
 	proto.RegisterEnum("dmi.GetMsgBusEndpointResponse_Reason", GetMsgBusEndpointResponse_Reason_name, GetMsgBusEndpointResponse_Reason_value)
 	proto.RegisterEnum("dmi.SetLogLevelResponse_Reason", SetLogLevelResponse_Reason_name, SetLogLevelResponse_Reason_value)
 	proto.RegisterEnum("dmi.GetLogLevelResponse_Reason", GetLogLevelResponse_Reason_name, GetLogLevelResponse_Reason_value)
+	proto.RegisterEnum("dmi.SetDmLogLevelResponse_Reason", SetDmLogLevelResponse_Reason_name, SetDmLogLevelResponse_Reason_value)
+	proto.RegisterEnum("dmi.GetDmLogLevelResponse_Reason", GetDmLogLevelResponse_Reason_name, GetDmLogLevelResponse_Reason_value)
 	proto.RegisterEnum("dmi.RebootDeviceResponse_Reason", RebootDeviceResponse_Reason_name, RebootDeviceResponse_Reason_value)
 	proto.RegisterType((*PhysicalInventoryRequest)(nil), "dmi.PhysicalInventoryRequest")
 	proto.RegisterType((*PhysicalInventoryResponse)(nil), "dmi.PhysicalInventoryResponse")
@@ -1793,6 +2043,10 @@
 	proto.RegisterType((*GetLogLevelRequest)(nil), "dmi.GetLogLevelRequest")
 	proto.RegisterType((*GetLogLevelResponse)(nil), "dmi.GetLogLevelResponse")
 	proto.RegisterType((*GetLoggableEntitiesRequest)(nil), "dmi.GetLoggableEntitiesRequest")
+	proto.RegisterType((*SetDmLogLevelRequest)(nil), "dmi.SetDmLogLevelRequest")
+	proto.RegisterType((*SetDmLogLevelResponse)(nil), "dmi.SetDmLogLevelResponse")
+	proto.RegisterType((*GetDmLogLevelRequest)(nil), "dmi.GetDmLogLevelRequest")
+	proto.RegisterType((*GetDmLogLevelResponse)(nil), "dmi.GetDmLogLevelResponse")
 	proto.RegisterType((*Heartbeat)(nil), "dmi.Heartbeat")
 	proto.RegisterType((*RebootDeviceRequest)(nil), "dmi.RebootDeviceRequest")
 	proto.RegisterType((*RebootDeviceResponse)(nil), "dmi.RebootDeviceResponse")
@@ -1801,107 +2055,115 @@
 func init() { proto.RegisterFile("dmi/hw_management_service.proto", fileDescriptor_eae902e73066286d) }
 
 var fileDescriptor_eae902e73066286d = []byte{
-	// 1585 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0x4d, 0x6f, 0xdb, 0x46,
-	0x13, 0x7e, 0x29, 0xd9, 0x4e, 0x34, 0x4e, 0x6c, 0x79, 0x9d, 0x38, 0x12, 0x83, 0xd8, 0x7e, 0x19,
-	0xa4, 0x71, 0xda, 0x44, 0x32, 0x94, 0x43, 0xd3, 0xef, 0xd2, 0x12, 0x2d, 0xb1, 0x91, 0x28, 0x61,
-	0x29, 0xc5, 0x48, 0x51, 0x54, 0xa0, 0xa5, 0xb5, 0x4c, 0x54, 0x24, 0x55, 0x91, 0x72, 0xe0, 0x9f,
-	0xd1, 0x63, 0x0f, 0x2d, 0xfa, 0x0b, 0x0a, 0xf4, 0x1a, 0xf4, 0xde, 0x43, 0xaf, 0x3d, 0x15, 0x05,
-	0x8a, 0xfe, 0x84, 0x5e, 0x7b, 0x2a, 0xb4, 0x4b, 0xea, 0x83, 0x22, 0x65, 0x49, 0x4e, 0xd0, 0xdc,
-	0xc4, 0xdd, 0xd9, 0x67, 0x67, 0xe7, 0x99, 0x9d, 0x99, 0x1d, 0xc1, 0x4e, 0xd3, 0xd0, 0xd3, 0xa7,
-	0x2f, 0xea, 0x86, 0x66, 0x6a, 0x2d, 0x62, 0x10, 0xd3, 0xa9, 0xdb, 0xa4, 0x7b, 0xa6, 0x37, 0x48,
-	0xaa, 0xd3, 0xb5, 0x1c, 0x0b, 0x45, 0x9b, 0x86, 0xce, 0x6f, 0xf4, 0xa5, 0x1a, 0x96, 0x61, 0x58,
-	0xa6, 0xcd, 0xc6, 0xf9, 0x6b, 0x6c, 0xa1, 0xfb, 0x75, 0xbb, 0x65, 0x59, 0xad, 0x36, 0x49, 0xd3,
-	0xaf, 0xe3, 0xde, 0x49, 0x9a, 0x18, 0x1d, 0xe7, 0x9c, 0x4d, 0x0a, 0x87, 0x90, 0xa8, 0x9c, 0x9e,
-	0xdb, 0x7a, 0x43, 0x6b, 0xcb, 0xe6, 0x19, 0x31, 0x1d, 0xab, 0x7b, 0x8e, 0xc9, 0xd7, 0x3d, 0x62,
-	0x3b, 0xe8, 0x6d, 0x58, 0x6d, 0x92, 0xfe, 0x76, 0xf5, 0x5e, 0x4f, 0x6f, 0x26, 0xb8, 0x5d, 0x6e,
-	0x6f, 0x35, 0x13, 0x4b, 0x35, 0x0d, 0x3d, 0x55, 0xeb, 0xe9, 0x4d, 0x0c, 0x6c, 0xb6, 0xff, 0x5b,
-	0xf8, 0x29, 0x02, 0xc9, 0x00, 0x20, 0xbb, 0x63, 0x99, 0x36, 0x41, 0x77, 0x61, 0xc5, 0x76, 0x34,
-	0xa7, 0x67, 0x53, 0x90, 0xb5, 0xcc, 0x2a, 0x05, 0x51, 0xe9, 0x10, 0x76, 0xa7, 0xd0, 0x47, 0xb0,
-	0xd2, 0x25, 0x9a, 0x6d, 0x99, 0x89, 0x08, 0x15, 0xba, 0x47, 0x85, 0x42, 0x41, 0x53, 0x98, 0x0a,
-	0x63, 0x77, 0x11, 0x7a, 0x07, 0x62, 0xba, 0x27, 0x93, 0x88, 0x52, 0x5d, 0xaf, 0x53, 0x84, 0x82,
-	0xd6, 0x6d, 0xbe, 0xd0, 0xba, 0x04, 0x0f, 0xe7, 0xd1, 0x5d, 0xb8, 0xce, 0x96, 0xd5, 0x9b, 0xc4,
-	0xd1, 0xf4, 0x76, 0x62, 0x69, 0x97, 0xdb, 0x8b, 0xe1, 0x6b, 0x6c, 0x30, 0x47, 0xc7, 0x84, 0x2f,
-	0x61, 0x85, 0xed, 0x81, 0x6e, 0x40, 0xbc, 0xa6, 0xe4, 0xa4, 0x43, 0x59, 0x91, 0x72, 0x75, 0x2c,
-	0x89, 0x6a, 0x59, 0x89, 0xff, 0x0f, 0x21, 0x58, 0xab, 0x29, 0x4f, 0x95, 0xf2, 0x91, 0x52, 0xcf,
-	0x49, 0xcf, 0xe4, 0xac, 0x14, 0xe7, 0xfa, 0x63, 0xb2, 0x52, 0x95, 0xb0, 0x22, 0x16, 0xeb, 0x12,
-	0xc6, 0x65, 0x1c, 0x8f, 0xa0, 0x2d, 0x40, 0x6c, 0xbe, 0x5e, 0x53, 0xb0, 0x24, 0x66, 0x0b, 0xe2,
-	0x41, 0x51, 0x8a, 0x47, 0x85, 0x1f, 0x38, 0x48, 0x16, 0x8e, 0xb2, 0x96, 0xd1, 0xb1, 0x4c, 0x62,
-	0x3a, 0xb2, 0x79, 0x62, 0xe5, 0x89, 0xb3, 0x80, 0xf5, 0xd1, 0x3e, 0xac, 0x35, 0x3c, 0x18, 0x26,
-	0x1e, 0xf1, 0x8b, 0x5f, 0x1f, 0x08, 0xd0, 0x15, 0xf7, 0x46, 0x57, 0x98, 0x9a, 0x41, 0xa8, 0xc9,
-	0x62, 0x23, 0x62, 0x8a, 0x66, 0x10, 0xe1, 0xd7, 0x08, 0xf0, 0x41, 0x2a, 0xce, 0xc3, 0xeb, 0xc7,
-	0x3e, 0x5e, 0xdf, 0x62, 0xac, 0x84, 0xa2, 0xfa, 0x89, 0x7d, 0x08, 0xb1, 0x81, 0x52, 0x2e, 0xb1,
-	0x6b, 0x14, 0x62, 0x00, 0x80, 0x87, 0x02, 0xb3, 0x31, 0xdb, 0x5b, 0x80, 0xd9, 0x9b, 0xb0, 0xe1,
-	0x8d, 0x65, 0xcb, 0xa5, 0x4a, 0x59, 0x91, 0x94, 0x6a, 0x3c, 0x12, 0x40, 0x78, 0x34, 0x84, 0xf0,
-	0x25, 0xe1, 0xb7, 0x49, 0xc2, 0xd5, 0x37, 0x8b, 0x70, 0x94, 0x81, 0x2b, 0x8d, 0x53, 0xcd, 0x6c,
-	0x11, 0x9b, 0x1a, 0x6e, 0x35, 0x93, 0xa0, 0x88, 0x25, 0xab, 0xa9, 0x9f, 0xe8, 0xda, 0x71, 0x9b,
-	0x0c, 0x8d, 0xee, 0x09, 0x0a, 0xbf, 0x4c, 0x3a, 0x89, 0xfa, 0x5a, 0x9c, 0x44, 0x0d, 0x77, 0x92,
-	0x09, 0xda, 0xa3, 0x01, 0xb4, 0x7f, 0xcf, 0xbd, 0x62, 0xde, 0x9f, 0x89, 0x45, 0x39, 0x57, 0xaf,
-	0x88, 0x58, 0x2c, 0xa9, 0xf1, 0x68, 0x80, 0x2f, 0x2c, 0x85, 0xf8, 0xc2, 0x32, 0xda, 0x84, 0x75,
-	0x55, 0xaa, 0xd6, 0x6b, 0x8a, 0x5a, 0xab, 0x54, 0xca, 0xb8, 0x2a, 0xe5, 0xe2, 0x2b, 0xc2, 0x37,
-	0x51, 0xb8, 0xad, 0x3a, 0x5a, 0xd7, 0x29, 0xf5, 0x43, 0xbe, 0x6e, 0xb6, 0x72, 0x94, 0xf2, 0xf9,
-	0x4c, 0xf9, 0x89, 0xcf, 0x94, 0xf7, 0x3d, 0xa1, 0x30, 0x58, 0xbf, 0x2d, 0x7d, 0x8e, 0x18, 0x9d,
-	0xe6, 0x88, 0x33, 0x5d, 0xb7, 0x97, 0x17, 0xd9, 0x9d, 0x87, 0x2d, 0xd7, 0x48, 0x62, 0x11, 0x4b,
-	0x62, 0xee, 0x79, 0xbd, 0x24, 0x2a, 0x62, 0x5e, 0xca, 0xc5, 0x39, 0xf4, 0x7f, 0xb8, 0x53, 0xae,
-	0x48, 0x58, 0xac, 0xca, 0x65, 0x65, 0x30, 0x2d, 0x2b, 0xf5, 0x0a, 0x2e, 0xe7, 0xb1, 0xa4, 0xaa,
-	0x73, 0x70, 0xc1, 0xc3, 0x96, 0x58, 0xab, 0x16, 0x24, 0xa5, 0x2a, 0x67, 0x19, 0xde, 0xa1, 0x28,
-	0x17, 0x6b, 0xb8, 0xcf, 0xc7, 0x2d, 0xd8, 0x94, 0x95, 0x3e, 0xc1, 0x62, 0x55, 0x3e, 0x28, 0x4a,
-	0x1e, 0xff, 0x2b, 0x42, 0x1a, 0x92, 0xaa, 0x63, 0x75, 0xfc, 0xa6, 0x63, 0x77, 0x16, 0xc1, 0x12,
-	0xbd, 0x4b, 0x1c, 0x3d, 0x35, 0xfd, 0x2d, 0xfc, 0xce, 0x01, 0x1f, 0xb4, 0xe2, 0xf2, 0xd7, 0x21,
-	0x1c, 0x75, 0xa1, 0xeb, 0x90, 0x99, 0xff, 0x36, 0x08, 0x06, 0x6c, 0x50, 0x0d, 0x48, 0x93, 0x29,
-	0xd0, 0xbf, 0x96, 0xe8, 0x21, 0x2c, 0xe9, 0xe6, 0x89, 0xe5, 0x86, 0xac, 0xf0, 0x88, 0x41, 0xa5,
-	0xfc, 0xee, 0x15, 0x99, 0x56, 0x56, 0xfc, 0xc9, 0xc1, 0xd6, 0xd8, 0x7e, 0xf6, 0x7c, 0x76, 0x7c,
-	0xdf, 0x67, 0x47, 0x81, 0xe9, 0x16, 0x88, 0xe8, 0xb7, 0xe1, 0x3e, 0x5c, 0x61, 0x9a, 0xd8, 0x89,
-	0xe8, 0x6e, 0x74, 0x6f, 0x35, 0xb3, 0x35, 0xb9, 0xb8, 0x7f, 0x7c, 0xec, 0x89, 0xcd, 0x62, 0x50,
-	0x9f, 0x4f, 0x72, 0xc2, 0x77, 0x1c, 0x24, 0x55, 0xe2, 0x14, 0xad, 0x56, 0x9f, 0x55, 0xc9, 0x6c,
-	0x76, 0x2c, 0xdd, 0x5c, 0x28, 0x27, 0x3c, 0x80, 0x78, 0x9b, 0xa1, 0xd4, 0x89, 0x0b, 0x43, 0x4f,
-	0x1d, 0xc3, 0xeb, 0xed, 0x71, 0xf4, 0x51, 0x51, 0x5a, 0x06, 0x36, 0x2c, 0xcf, 0x43, 0x3c, 0xd1,
-	0x8a, 0x3b, 0x2c, 0xfc, 0x15, 0xa1, 0xfa, 0x61, 0x62, 0x58, 0x0e, 0x19, 0xaa, 0x77, 0xf9, 0xc2,
-	0x2e, 0x14, 0x74, 0x21, 0x5f, 0x7e, 0xc9, 0xbd, 0xa2, 0x62, 0x8d, 0x87, 0xad, 0x62, 0x39, 0x9f,
-	0x97, 0x95, 0x7c, 0x5d, 0x52, 0x72, 0x95, 0xb2, 0xac, 0x54, 0x07, 0x79, 0xfd, 0x2e, 0xec, 0x4c,
-	0xcc, 0x55, 0x70, 0xb9, 0x5a, 0xce, 0x96, 0x87, 0x41, 0x26, 0x09, 0x37, 0x4b, 0x6a, 0xfe, 0xa0,
-	0xa6, 0xfa, 0xd7, 0x2f, 0x87, 0xe4, 0x82, 0x15, 0xe1, 0x8f, 0x08, 0xf0, 0xf9, 0x00, 0x1f, 0xb8,
-	0x7c, 0xc4, 0x08, 0x47, 0xf5, 0x5b, 0x39, 0xc8, 0x7b, 0xa2, 0xb3, 0x7b, 0xcf, 0x52, 0xa0, 0xf7,
-	0x4c, 0x72, 0xb7, 0xfc, 0x1f, 0xd4, 0xd9, 0x59, 0x48, 0xa8, 0xc4, 0x29, 0xd9, 0xad, 0x83, 0x9e,
-	0xed, 0xbf, 0x60, 0xf7, 0x61, 0xdd, 0xb0, 0x5b, 0xc7, 0x3d, 0x7b, 0x78, 0x6a, 0x16, 0xcb, 0xd7,
-	0xd8, 0xb0, 0x27, 0x2f, 0x7c, 0x1b, 0x81, 0x64, 0x7e, 0x12, 0xe5, 0xf2, 0xf7, 0x20, 0x14, 0xd4,
-	0xcf, 0x50, 0x80, 0xaa, 0xd1, 0x20, 0x55, 0x67, 0xcb, 0xc9, 0x9f, 0xcd, 0x1f, 0xab, 0x42, 0x0c,
-	0x1c, 0x11, 0x9e, 0x43, 0x5c, 0x32, 0x1d, 0xdd, 0xd1, 0x89, 0x5d, 0xb4, 0x5a, 0x45, 0x72, 0x46,
-	0xda, 0xe8, 0x01, 0x5c, 0x6d, 0xbb, 0xbf, 0x5d, 0x9b, 0xb0, 0xd7, 0x98, 0x27, 0x80, 0x07, 0xd3,
-	0x88, 0x87, 0xab, 0xc4, 0x5d, 0x9e, 0x88, 0xec, 0x46, 0xf7, 0x62, 0x78, 0xf0, 0x2d, 0xf4, 0x00,
-	0xb1, 0xe8, 0xc8, 0x16, 0x2d, 0x10, 0x16, 0x1f, 0x43, 0xac, 0xdd, 0x7f, 0xff, 0x9e, 0x91, 0x36,
-	0x83, 0x5f, 0xcd, 0xdc, 0xa4, 0x92, 0x7e, 0x95, 0xf1, 0x50, 0x4e, 0xf8, 0x39, 0x02, 0x9b, 0x63,
-	0xfb, 0xba, 0x3c, 0xcf, 0xb3, 0xf1, 0xd0, 0x27, 0x22, 0xe1, 0x3e, 0xf1, 0xee, 0xc0, 0x27, 0xa2,
-	0x54, 0x68, 0xc7, 0x8b, 0x8d, 0xfe, 0xad, 0x2f, 0x8c, 0x8a, 0x41, 0x24, 0x9f, 0xbd, 0xba, 0x9b,
-	0xe5, 0xc9, 0x15, 0xcb, 0xfd, 0xe0, 0x57, 0x95, 0xab, 0xcf, 0xa7, 0x3c, 0x74, 0xbe, 0x00, 0x94,
-	0xbf, 0x1c, 0x6b, 0xd3, 0x7c, 0xe2, 0xef, 0x08, 0x6c, 0xe6, 0x2f, 0x49, 0x0e, 0xf3, 0x8a, 0xe2,
-	0x8c, 0x5e, 0xc1, 0xe4, 0x46, 0x18, 0x8d, 0xce, 0xc2, 0xe8, 0xd2, 0x08, 0xa3, 0xf9, 0x05, 0x18,
-	0x5d, 0x7e, 0x83, 0x18, 0x2d, 0x0c, 0x32, 0x54, 0xbf, 0xa4, 0xf3, 0x8c, 0xb4, 0x48, 0xa7, 0xe8,
-	0x43, 0x88, 0x15, 0x88, 0xd6, 0x75, 0x8e, 0x89, 0xe6, 0xa0, 0x34, 0x6c, 0x9e, 0x7a, 0x1f, 0x75,
-	0x5b, 0x6f, 0x99, 0x9a, 0xd3, 0xeb, 0xb2, 0x72, 0xfa, 0x0a, 0x46, 0x83, 0x29, 0xd5, 0x9b, 0x11,
-	0x44, 0xd8, 0xc4, 0xe4, 0xd8, 0xb2, 0x9c, 0xf1, 0x3a, 0x7c, 0x1e, 0x05, 0xfe, 0xe1, 0xe0, 0xc6,
-	0x38, 0xc6, 0x44, 0x10, 0x9f, 0x42, 0xef, 0x13, 0x1f, 0xbd, 0xbb, 0x54, 0x28, 0x08, 0x6f, 0x21,
-	0x7e, 0x5f, 0x73, 0x2e, 0xcc, 0xfc, 0x18, 0x83, 0xa4, 0xa2, 0x39, 0xfa, 0x19, 0x29, 0x1c, 0x95,
-	0x06, 0x7d, 0x45, 0x95, 0xb5, 0x15, 0x91, 0x0a, 0x9b, 0x01, 0xef, 0x44, 0x14, 0x5a, 0xd1, 0xf3,
-	0xbb, 0x17, 0xbd, 0x2d, 0xf7, 0x39, 0x54, 0x03, 0x34, 0xf9, 0x70, 0x41, 0xdb, 0xa1, 0x2f, 0x1a,
-	0xca, 0x28, 0xbf, 0x73, 0xc1, 0x8b, 0x07, 0x15, 0x60, 0xa3, 0x9f, 0x3a, 0xc7, 0x4a, 0x79, 0xb4,
-	0x95, 0x62, 0xcd, 0xce, 0x94, 0xd7, 0xec, 0x4c, 0x49, 0x46, 0xc7, 0x39, 0xe7, 0x6f, 0x4f, 0xa9,
-	0xfb, 0xd1, 0x11, 0xdc, 0xc8, 0x13, 0x67, 0xa2, 0xd1, 0x88, 0xee, 0x84, 0x35, 0x20, 0x99, 0x86,
-	0xdb, 0xd3, 0xfb, 0x93, 0xfb, 0x1c, 0x3a, 0xa2, 0x61, 0xd0, 0xd7, 0xc4, 0x70, 0x4f, 0x1e, 0xda,
-	0xf8, 0x73, 0x4f, 0x1e, 0xde, 0x1f, 0x73, 0x4d, 0x3a, 0x23, 0xb0, 0x7a, 0x01, 0xf0, 0x68, 0xa7,
-	0xa6, 0xea, 0x25, 0xdb, 0xb1, 0x72, 0x6f, 0x7b, 0x24, 0x25, 0x05, 0xbc, 0x51, 0xf8, 0xed, 0xe9,
-	0xe5, 0x3c, 0x3a, 0xf4, 0x92, 0xc1, 0x18, 0xea, 0xfa, 0x58, 0x6f, 0x56, 0xce, 0xf1, 0x3b, 0x17,
-	0x14, 0xac, 0x08, 0xc3, 0xc6, 0x44, 0x19, 0xe7, 0x72, 0x14, 0x56, 0xde, 0x5d, 0xa8, 0xdb, 0x53,
-	0xe6, 0x44, 0xe3, 0x98, 0x61, 0x4e, 0xb4, 0x3d, 0xbd, 0x5e, 0x43, 0x15, 0x2f, 0x2d, 0x8d, 0xc5,
-	0x48, 0x34, 0x76, 0xb0, 0x80, 0xe8, 0xc9, 0x27, 0xc2, 0x32, 0x04, 0xfa, 0x14, 0x56, 0x47, 0x4a,
-	0x01, 0x74, 0x6b, 0xb2, 0x38, 0x18, 0x45, 0x50, 0x83, 0x11, 0xf2, 0x13, 0x08, 0xf9, 0x30, 0x84,
-	0x20, 0x1d, 0x9e, 0xc0, 0xda, 0x20, 0x5e, 0x67, 0x4f, 0x49, 0xe3, 0xab, 0x50, 0xfb, 0xb0, 0xae,
-	0xec, 0x30, 0xb8, 0x67, 0xe1, 0xda, 0x68, 0x5c, 0x74, 0xc3, 0x48, 0x40, 0xf8, 0xe6, 0x93, 0xa1,
-	0x41, 0xf4, 0xe0, 0x83, 0xcf, 0xdf, 0x6b, 0xe9, 0xce, 0x69, 0xef, 0x38, 0xd5, 0xb0, 0x8c, 0xb4,
-	0xd5, 0x21, 0x66, 0xc3, 0xea, 0x36, 0xd3, 0x2c, 0x9e, 0x3f, 0x1a, 0xfe, 0x35, 0xf2, 0x48, 0x37,
-	0x1d, 0xd2, 0x3d, 0xd1, 0x1a, 0x24, 0x7d, 0xf6, 0x38, 0xdd, 0xb2, 0xd2, 0x4d, 0x43, 0x3f, 0x5e,
-	0xa1, 0x1a, 0x3e, 0xfe, 0x37, 0x00, 0x00, 0xff, 0xff, 0x4a, 0x85, 0x2d, 0x68, 0x4a, 0x19, 0x00,
-	0x00,
+	// 1726 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0xcd, 0x6f, 0xe3, 0xc6,
+	0x15, 0x2f, 0x29, 0xdb, 0x1b, 0x3d, 0xef, 0x7a, 0xe5, 0xf1, 0xda, 0x91, 0xb8, 0x88, 0xed, 0xe5,
+	0x22, 0xcd, 0xa6, 0x4d, 0x24, 0x43, 0x7b, 0x68, 0xb6, 0xe9, 0x17, 0x2d, 0xd1, 0x14, 0x13, 0x89,
+	0x14, 0x86, 0xd2, 0x1a, 0x5b, 0x14, 0x25, 0x68, 0x69, 0x2c, 0x13, 0x15, 0x49, 0x55, 0xa4, 0x1c,
+	0xf8, 0xcf, 0xe8, 0xa1, 0x87, 0x1e, 0x5a, 0xf4, 0x5f, 0xe8, 0x35, 0x28, 0x7a, 0xed, 0xa1, 0xd7,
+	0x1e, 0x0b, 0x14, 0x3d, 0xf5, 0xdc, 0x02, 0xbd, 0x17, 0xe4, 0x90, 0xfa, 0xa0, 0x48, 0x7d, 0x79,
+	0x83, 0xec, 0x4d, 0x9c, 0x79, 0xf3, 0xe3, 0xf0, 0xfd, 0xde, 0xfc, 0xe6, 0xbd, 0x27, 0x38, 0xe9,
+	0x5a, 0x66, 0xe9, 0xe6, 0x2b, 0xdd, 0x32, 0x6c, 0xa3, 0x47, 0x2c, 0x62, 0x7b, 0xba, 0x4b, 0x86,
+	0xb7, 0x66, 0x87, 0x14, 0x07, 0x43, 0xc7, 0x73, 0x50, 0xa6, 0x6b, 0x99, 0xdc, 0xbe, 0x6f, 0xd5,
+	0x71, 0x2c, 0xcb, 0xb1, 0x5d, 0x3a, 0xce, 0x3d, 0xa4, 0x0b, 0xc3, 0xa7, 0xa7, 0x3d, 0xc7, 0xe9,
+	0xf5, 0x49, 0x29, 0x78, 0xba, 0x1a, 0x5d, 0x97, 0x88, 0x35, 0xf0, 0xee, 0xe8, 0x24, 0x7f, 0x01,
+	0xf9, 0xe6, 0xcd, 0x9d, 0x6b, 0x76, 0x8c, 0xbe, 0x6c, 0xdf, 0x12, 0xdb, 0x73, 0x86, 0x77, 0x98,
+	0xfc, 0x7a, 0x44, 0x5c, 0x0f, 0x7d, 0x0f, 0x76, 0xbb, 0xc4, 0x7f, 0x9d, 0x3e, 0x1a, 0x99, 0xdd,
+	0x3c, 0x73, 0xca, 0xbc, 0xd8, 0x2d, 0x67, 0x8b, 0x5d, 0xcb, 0x2c, 0xb6, 0x47, 0x66, 0x17, 0x03,
+	0x9d, 0xf5, 0x7f, 0xf3, 0x7f, 0x62, 0xa1, 0x90, 0x00, 0xe4, 0x0e, 0x1c, 0xdb, 0x25, 0xe8, 0x39,
+	0xec, 0xb8, 0x9e, 0xe1, 0x8d, 0xdc, 0x00, 0x64, 0xaf, 0xbc, 0x1b, 0x80, 0x68, 0xc1, 0x10, 0x0e,
+	0xa7, 0xd0, 0x8f, 0x61, 0x67, 0x48, 0x0c, 0xd7, 0xb1, 0xf3, 0x6c, 0x60, 0xf4, 0x61, 0x60, 0x94,
+	0x0a, 0x5a, 0xc4, 0x81, 0x31, 0x0e, 0x17, 0xa1, 0xef, 0x43, 0xd6, 0x8c, 0x6c, 0xf2, 0x99, 0x60,
+	0xaf, 0x8f, 0x02, 0x84, 0x9a, 0x31, 0xec, 0x7e, 0x65, 0x0c, 0x09, 0x9e, 0xcc, 0xa3, 0xe7, 0xf0,
+	0x88, 0x2e, 0xd3, 0xbb, 0xc4, 0x33, 0xcc, 0x7e, 0x7e, 0xeb, 0x94, 0x79, 0x91, 0xc5, 0x0f, 0xe9,
+	0x60, 0x35, 0x18, 0xe3, 0x7f, 0x09, 0x3b, 0xf4, 0x1d, 0xe8, 0x09, 0xe4, 0xda, 0x4a, 0x55, 0xbc,
+	0x90, 0x15, 0xb1, 0xaa, 0x63, 0x51, 0xd0, 0x54, 0x25, 0xf7, 0x1d, 0x84, 0x60, 0xaf, 0xad, 0x7c,
+	0xa9, 0xa8, 0x97, 0x8a, 0x5e, 0x15, 0x5f, 0xcb, 0x15, 0x31, 0xc7, 0xf8, 0x63, 0xb2, 0xd2, 0x12,
+	0xb1, 0x22, 0xd4, 0x75, 0x11, 0x63, 0x15, 0xe7, 0x58, 0x74, 0x04, 0x88, 0xce, 0xeb, 0x6d, 0x05,
+	0x8b, 0x42, 0xa5, 0x26, 0x9c, 0xd7, 0xc5, 0x5c, 0x86, 0xff, 0x23, 0x03, 0x85, 0xda, 0x65, 0xc5,
+	0xb1, 0x06, 0x8e, 0x4d, 0x6c, 0x4f, 0xb6, 0xaf, 0x1d, 0x89, 0x78, 0x1b, 0x78, 0x1f, 0x9d, 0xc1,
+	0x5e, 0x27, 0x82, 0xa1, 0xe6, 0x6c, 0xdc, 0xfc, 0xd1, 0xd8, 0x20, 0x58, 0xf1, 0xe1, 0xf4, 0x0a,
+	0xdb, 0xb0, 0x48, 0xe0, 0xb2, 0xec, 0x94, 0x99, 0x62, 0x58, 0x84, 0xff, 0x1b, 0x0b, 0x5c, 0xd2,
+	0x16, 0xd7, 0xe1, 0xf5, 0x27, 0x31, 0x5e, 0xbf, 0x4b, 0x59, 0x49, 0x45, 0x8d, 0x13, 0xfb, 0x09,
+	0x64, 0xc7, 0x9b, 0x0a, 0x89, 0xdd, 0x0b, 0x20, 0xc6, 0x00, 0x78, 0x62, 0xb0, 0x1a, 0xb3, 0xa3,
+	0x0d, 0x98, 0x3d, 0x84, 0xfd, 0x68, 0xac, 0xa2, 0x36, 0x9a, 0xaa, 0x22, 0x2a, 0xad, 0x1c, 0x9b,
+	0x40, 0x78, 0x26, 0x85, 0xf0, 0x2d, 0xfe, 0xef, 0xf3, 0x84, 0x6b, 0xef, 0x16, 0xe1, 0xa8, 0x0c,
+	0x0f, 0x3a, 0x37, 0x86, 0xdd, 0x23, 0x6e, 0xe0, 0xb8, 0xdd, 0x72, 0x3e, 0x40, 0x6c, 0x38, 0x5d,
+	0xf3, 0xda, 0x34, 0xae, 0xfa, 0x64, 0xe2, 0xf4, 0xc8, 0x90, 0xff, 0xeb, 0x7c, 0x90, 0x68, 0xdf,
+	0x48, 0x90, 0x68, 0xe9, 0x41, 0x32, 0x47, 0x7b, 0x26, 0x81, 0xf6, 0x3f, 0x30, 0x6f, 0x99, 0xf7,
+	0xd7, 0x42, 0x5d, 0xae, 0xea, 0x4d, 0x01, 0x0b, 0x0d, 0x2d, 0x97, 0x49, 0x88, 0x85, 0xad, 0x94,
+	0x58, 0xd8, 0x46, 0x07, 0xf0, 0x58, 0x13, 0x5b, 0x7a, 0x5b, 0xd1, 0xda, 0xcd, 0xa6, 0x8a, 0x5b,
+	0x62, 0x35, 0xb7, 0xc3, 0xff, 0x26, 0x03, 0x4f, 0x35, 0xcf, 0x18, 0x7a, 0x0d, 0x5f, 0xf2, 0x4d,
+	0xbb, 0x57, 0x0d, 0x28, 0x5f, 0xcf, 0x95, 0x3f, 0x8d, 0xb9, 0xf2, 0xa3, 0xc8, 0x28, 0x0d, 0x36,
+	0xee, 0xcb, 0x58, 0x20, 0x66, 0x16, 0x05, 0xe2, 0x4a, 0xc7, 0xed, 0xeb, 0x65, 0x7e, 0xe7, 0xe0,
+	0x28, 0x74, 0x92, 0x50, 0xc7, 0xa2, 0x50, 0x7d, 0xa3, 0x37, 0x04, 0x45, 0x90, 0xc4, 0x6a, 0x8e,
+	0x41, 0xcf, 0xe0, 0x03, 0xb5, 0x29, 0x62, 0xa1, 0x25, 0xab, 0xca, 0x78, 0x5a, 0x56, 0xf4, 0x26,
+	0x56, 0x25, 0x2c, 0x6a, 0xda, 0x1a, 0x5c, 0x70, 0x70, 0x24, 0xb4, 0x5b, 0x35, 0x51, 0x69, 0xc9,
+	0x15, 0x8a, 0x77, 0x21, 0xc8, 0xf5, 0x36, 0xf6, 0xf9, 0x78, 0x1f, 0x0e, 0x64, 0xc5, 0x27, 0x58,
+	0x68, 0xc9, 0xe7, 0x75, 0x31, 0xe2, 0x7f, 0x87, 0x2f, 0x41, 0x41, 0xf3, 0x9c, 0x41, 0xdc, 0x75,
+	0xf4, 0xcc, 0x22, 0xd8, 0x0a, 0xce, 0x12, 0x13, 0x7c, 0x75, 0xf0, 0x9b, 0xff, 0x2f, 0x03, 0x5c,
+	0xd2, 0x8a, 0xfb, 0x1f, 0x87, 0x74, 0xd4, 0x8d, 0x8e, 0xc3, 0x17, 0x1b, 0x9c, 0x86, 0xe4, 0x70,
+	0x66, 0x79, 0x0b, 0xf6, 0x83, 0x9d, 0x91, 0x2e, 0xdd, 0x98, 0x7f, 0x5c, 0xd1, 0x27, 0xb0, 0x65,
+	0xda, 0xd7, 0x4e, 0x28, 0x65, 0xe9, 0x4a, 0x12, 0x58, 0xc5, 0xc3, 0x8e, 0x5d, 0x94, 0x6e, 0xfc,
+	0x93, 0x81, 0xa3, 0x99, 0xf7, 0xb9, 0xeb, 0xf9, 0xf7, 0x87, 0x31, 0xff, 0xf2, 0x74, 0x6f, 0x89,
+	0x88, 0x71, 0xdf, 0x9e, 0xc1, 0x03, 0xba, 0x13, 0x37, 0x9f, 0x39, 0xcd, 0xbc, 0xd8, 0x2d, 0x1f,
+	0xcd, 0x2f, 0xf6, 0x3f, 0x1f, 0x47, 0x66, 0x7c, 0x79, 0xb9, 0xa3, 0x63, 0xb1, 0xca, 0xf0, 0xbf,
+	0x67, 0xa0, 0xa0, 0x11, 0xaf, 0xee, 0xf4, 0x7c, 0xb6, 0x45, 0xbb, 0x3b, 0x70, 0x4c, 0x7b, 0xa3,
+	0xbb, 0xe2, 0x63, 0xc8, 0xf5, 0x29, 0x8a, 0x4e, 0x42, 0x98, 0xe0, 0xab, 0xb3, 0xf8, 0x71, 0x7f,
+	0x16, 0x7d, 0xda, 0x34, 0x48, 0x0f, 0x3b, 0x4e, 0x14, 0x39, 0x91, 0x69, 0x33, 0x1c, 0xe6, 0xff,
+	0xc5, 0x06, 0xfb, 0xc3, 0xc4, 0x72, 0x3c, 0x32, 0xd9, 0xde, 0xfd, 0x13, 0xbe, 0x54, 0xd0, 0x8d,
+	0x62, 0xfc, 0x6b, 0xe6, 0x2d, 0x25, 0x71, 0x1c, 0x1c, 0xd5, 0x55, 0x49, 0x92, 0x15, 0x49, 0x17,
+	0x95, 0x6a, 0x53, 0x95, 0x95, 0xd6, 0xf8, 0xbe, 0x7f, 0x0e, 0x27, 0x73, 0x73, 0x4d, 0xac, 0xb6,
+	0xd4, 0x8a, 0x3a, 0x11, 0x9f, 0x02, 0x1c, 0x36, 0x34, 0xe9, 0xbc, 0xad, 0xc5, 0xd7, 0x6f, 0xa7,
+	0x1c, 0xaa, 0x1d, 0xfe, 0x1f, 0x2c, 0x70, 0x52, 0x42, 0x0c, 0xdc, 0x5f, 0x49, 0xd2, 0x51, 0xe3,
+	0x5e, 0x4e, 0x8a, 0x9e, 0xcc, 0xea, 0xd1, 0xb3, 0x95, 0x18, 0x3d, 0xf3, 0xdc, 0x6d, 0x7f, 0x0b,
+	0xf9, 0x77, 0x05, 0xf2, 0x1a, 0xf1, 0x1a, 0x6e, 0xef, 0x7c, 0xe4, 0xc6, 0x0f, 0xd8, 0x47, 0xf0,
+	0xd8, 0x72, 0x7b, 0x57, 0x23, 0x77, 0xf2, 0xd5, 0x54, 0xe3, 0xf7, 0xe8, 0x70, 0x64, 0xcf, 0xff,
+	0x8e, 0x85, 0x82, 0x34, 0x8f, 0x72, 0xff, 0x73, 0x90, 0x0a, 0x1a, 0x67, 0x28, 0x61, 0xab, 0x99,
+	0xa4, 0xad, 0xae, 0x76, 0x57, 0x7f, 0xb1, 0xbe, 0x56, 0xa5, 0x5e, 0x0a, 0x6f, 0x20, 0x27, 0xda,
+	0x9e, 0xe9, 0x99, 0xc4, 0xad, 0x3b, 0xbd, 0x3a, 0xb9, 0x25, 0x7d, 0xf4, 0x31, 0xbc, 0xd7, 0x0f,
+	0x7f, 0x87, 0x3e, 0xa1, 0x55, 0x5a, 0x64, 0x80, 0xc7, 0xd3, 0x88, 0x83, 0xf7, 0x48, 0xb8, 0x3c,
+	0xcf, 0x9e, 0x66, 0x5e, 0x64, 0xf1, 0xf8, 0x99, 0x1f, 0x01, 0xa2, 0xea, 0x48, 0x17, 0x6d, 0x20,
+	0x8b, 0x2f, 0x21, 0xdb, 0xf7, 0xeb, 0xe2, 0x5b, 0xd2, 0xa7, 0xf0, 0xbb, 0xe5, 0xc3, 0xc0, 0x32,
+	0xbe, 0x65, 0x3c, 0xb1, 0xe3, 0xff, 0xcc, 0xc2, 0xc1, 0xcc, 0x7b, 0x43, 0x9e, 0xd7, 0x79, 0xf1,
+	0x24, 0x26, 0xd8, 0xf4, 0x98, 0xf8, 0xc1, 0x38, 0x26, 0x32, 0x81, 0xd1, 0x49, 0xa4, 0x8d, 0xf1,
+	0x57, 0x2f, 0x55, 0xc5, 0x24, 0x92, 0x6f, 0xdf, 0xde, 0xc9, 0x8a, 0xec, 0xea, 0xaa, 0x2f, 0x7e,
+	0x2d, 0xb9, 0xf5, 0x66, 0x41, 0x01, 0xf4, 0x0b, 0x40, 0xd2, 0xfd, 0x58, 0x5b, 0x14, 0x13, 0xff,
+	0x61, 0xe1, 0x40, 0xba, 0x27, 0x39, 0x34, 0x2a, 0xea, 0x2b, 0x46, 0x05, 0xb5, 0x9b, 0x62, 0x34,
+	0xb3, 0x0a, 0xa3, 0x5b, 0x53, 0x8c, 0x4a, 0x1b, 0x30, 0xba, 0xfd, 0x0e, 0x31, 0x5a, 0x1b, 0xdf,
+	0x50, 0x7e, 0x4a, 0x17, 0x39, 0x69, 0x93, 0x0e, 0xd2, 0xe7, 0xf0, 0x44, 0x23, 0x5e, 0xd5, 0x8a,
+	0x47, 0xc7, 0x73, 0xd8, 0xee, 0xa7, 0xab, 0x05, 0x9d, 0xe3, 0xff, 0xcd, 0xc0, 0x61, 0x6c, 0xf5,
+	0x3a, 0x0a, 0xfc, 0x2a, 0xa6, 0xc0, 0xcf, 0xa2, 0xd3, 0x36, 0x0f, 0xb8, 0x51, 0x16, 0x22, 0x6f,
+	0x20, 0xaa, 0x53, 0x75, 0xa7, 0xcf, 0x44, 0x5d, 0x7c, 0x2d, 0xd6, 0x73, 0x2c, 0x7f, 0x04, 0x4f,
+	0xa4, 0x04, 0x37, 0xf1, 0xff, 0x63, 0xe0, 0x50, 0x4a, 0xf1, 0xc0, 0x72, 0x07, 0xae, 0x26, 0x4a,
+	0xaf, 0x62, 0xa2, 0xf4, 0x2c, 0x0a, 0xe1, 0x0d, 0xdc, 0x94, 0x24, 0x4b, 0x9b, 0xe4, 0xc9, 0x3f,
+	0x82, 0x6c, 0x8d, 0x18, 0x43, 0xef, 0x8a, 0x18, 0x1e, 0x2a, 0xc1, 0xc1, 0x4d, 0xf4, 0xa0, 0xbb,
+	0x66, 0xcf, 0x36, 0xbc, 0xd1, 0x90, 0x56, 0x67, 0x0f, 0x30, 0x1a, 0x4f, 0x69, 0xd1, 0x0c, 0x2f,
+	0xc0, 0x01, 0x26, 0x57, 0x8e, 0xe3, 0xcd, 0x96, 0x75, 0xeb, 0xc4, 0xed, 0x6f, 0x59, 0x78, 0x32,
+	0x8b, 0x31, 0x17, 0x79, 0x0b, 0x54, 0xe1, 0xb3, 0x98, 0x2a, 0x9c, 0x06, 0x46, 0x49, 0x78, 0x1b,
+	0xc9, 0xc2, 0xdd, 0x37, 0x9b, 0x42, 0xf9, 0x49, 0x6d, 0x38, 0x2e, 0x2b, 0xfa, 0x25, 0x56, 0x15,
+	0x49, 0xd7, 0x5a, 0x42, 0x4b, 0xcc, 0x6d, 0x95, 0xff, 0x02, 0x50, 0x50, 0x0c, 0xcf, 0xbc, 0x25,
+	0xb5, 0xcb, 0xc6, 0xb8, 0x83, 0xad, 0xd1, 0x06, 0x36, 0xd2, 0xe0, 0x20, 0xa1, 0x23, 0x81, 0x52,
+	0x6b, 0x44, 0xee, 0x74, 0x59, 0x17, 0xe3, 0x8c, 0x41, 0x6d, 0x40, 0xf3, 0x25, 0x32, 0x3a, 0x4e,
+	0xad, 0x9d, 0x03, 0xb2, 0xb9, 0x93, 0x25, 0xb5, 0x35, 0xaa, 0xc1, 0xbe, 0x9f, 0x8c, 0xcd, 0x14,
+	0x87, 0xe8, 0xa8, 0x48, 0xdb, 0xea, 0xc5, 0xa8, 0xad, 0x5e, 0x14, 0xad, 0x81, 0x77, 0xc7, 0x3d,
+	0x5d, 0x50, 0x49, 0xa2, 0xcb, 0xe0, 0xf0, 0xce, 0xb5, 0xb4, 0xd1, 0x07, 0x69, 0xad, 0x6e, 0xba,
+	0xc3, 0xe3, 0xc5, 0x9d, 0xf0, 0x33, 0x06, 0x5d, 0x06, 0x17, 0x6b, 0xac, 0x5d, 0x16, 0x7e, 0x79,
+	0x6a, 0x8b, 0x39, 0xfc, 0xf2, 0xf4, 0x4e, 0x6c, 0xe8, 0xd2, 0x15, 0x81, 0xb5, 0x25, 0xc0, 0xd3,
+	0x3d, 0xc1, 0x56, 0x94, 0xbe, 0xcd, 0x14, 0x10, 0xc7, 0x53, 0x49, 0x4e, 0x42, 0xd5, 0xcb, 0x1d,
+	0x2f, 0x2e, 0x10, 0xd1, 0x45, 0x94, 0x5e, 0xcc, 0xa0, 0x3e, 0x9e, 0xf9, 0x17, 0x40, 0xae, 0x72,
+	0x27, 0x4b, 0x4a, 0x20, 0x84, 0x61, 0x7f, 0xae, 0x30, 0x08, 0x39, 0x4a, 0x2b, 0x18, 0x96, 0xee,
+	0xed, 0x4b, 0x1a, 0x44, 0xb3, 0x98, 0x69, 0x41, 0x74, 0xbc, 0xb8, 0x02, 0x40, 0xcd, 0x28, 0xd1,
+	0x99, 0xb9, 0x75, 0xd1, 0xcc, 0x87, 0x25, 0xdc, 0xc7, 0x5c, 0x3e, 0x2d, 0xe7, 0x40, 0x3f, 0x83,
+	0xdd, 0xa9, 0xe4, 0x12, 0xbd, 0x3f, 0x9f, 0x6e, 0x4e, 0x23, 0x68, 0xc9, 0x08, 0xd2, 0x1c, 0x82,
+	0x94, 0x86, 0x90, 0xb4, 0x87, 0xcf, 0x60, 0x6f, 0x2c, 0xe5, 0x95, 0x1b, 0xd2, 0xf9, 0x55, 0xaa,
+	0x7f, 0x68, 0xff, 0x7f, 0xa2, 0xfb, 0x15, 0x78, 0x38, 0x2d, 0x99, 0xa1, 0x8c, 0x24, 0x28, 0x3b,
+	0x57, 0x48, 0xd5, 0x57, 0x74, 0x01, 0x8f, 0x66, 0x6e, 0x7c, 0x54, 0x48, 0xca, 0x02, 0x28, 0x0c,
+	0x97, 0x9e, 0x20, 0xf8, 0x38, 0x52, 0x02, 0x8e, 0x94, 0x8e, 0x93, 0x78, 0x83, 0x9e, 0x7f, 0xfe,
+	0xf3, 0x57, 0x3d, 0xd3, 0xbb, 0x19, 0x5d, 0x15, 0x3b, 0x8e, 0x55, 0x72, 0x06, 0xc4, 0xee, 0x38,
+	0xc3, 0x6e, 0x89, 0x5e, 0x3d, 0x9f, 0x4e, 0xfe, 0x14, 0xfc, 0xd4, 0xb4, 0x3d, 0x32, 0xbc, 0x36,
+	0x3a, 0xa4, 0x74, 0xfb, 0xb2, 0xd4, 0x73, 0x4a, 0x5d, 0xcb, 0xbc, 0xda, 0x09, 0x3c, 0xf6, 0xf2,
+	0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0xe8, 0x0a, 0x35, 0x98, 0x44, 0x1c, 0x00, 0x00,
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -1961,6 +2223,10 @@
 	HeartbeatCheck(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*Heartbeat, error)
 	// Performs the reboot of the device
 	RebootDevice(ctx context.Context, in *RebootDeviceRequest, opts ...grpc.CallOption) (*RebootDeviceResponse, error)
+	// Sets the log level of the Device Manager itself
+	SetDmLogLevel(ctx context.Context, in *SetDmLogLevelRequest, opts ...grpc.CallOption) (*SetDmLogLevelResponse, error)
+	// Gets the log level at which the Device Manager is running
+	GetDmLogLevel(ctx context.Context, in *GetDmLogLevelRequest, opts ...grpc.CallOption) (*GetDmLogLevelResponse, error)
 }
 
 type nativeHWManagementServiceClient struct {
@@ -2175,6 +2441,24 @@
 	return out, nil
 }
 
+func (c *nativeHWManagementServiceClient) SetDmLogLevel(ctx context.Context, in *SetDmLogLevelRequest, opts ...grpc.CallOption) (*SetDmLogLevelResponse, error) {
+	out := new(SetDmLogLevelResponse)
+	err := c.cc.Invoke(ctx, "/dmi.NativeHWManagementService/SetDmLogLevel", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *nativeHWManagementServiceClient) GetDmLogLevel(ctx context.Context, in *GetDmLogLevelRequest, opts ...grpc.CallOption) (*GetDmLogLevelResponse, error) {
+	out := new(GetDmLogLevelResponse)
+	err := c.cc.Invoke(ctx, "/dmi.NativeHWManagementService/GetDmLogLevel", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
 // NativeHWManagementServiceServer is the server API for NativeHWManagementService service.
 type NativeHWManagementServiceServer interface {
 	// Initializes context for a device and sets up required states
@@ -2222,6 +2506,10 @@
 	HeartbeatCheck(context.Context, *empty.Empty) (*Heartbeat, error)
 	// Performs the reboot of the device
 	RebootDevice(context.Context, *RebootDeviceRequest) (*RebootDeviceResponse, error)
+	// Sets the log level of the Device Manager itself
+	SetDmLogLevel(context.Context, *SetDmLogLevelRequest) (*SetDmLogLevelResponse, error)
+	// Gets the log level at which the Device Manager is running
+	GetDmLogLevel(context.Context, *GetDmLogLevelRequest) (*GetDmLogLevelResponse, error)
 }
 
 // UnimplementedNativeHWManagementServiceServer can be embedded to have forward compatible implementations.
@@ -2273,6 +2561,12 @@
 func (*UnimplementedNativeHWManagementServiceServer) RebootDevice(ctx context.Context, req *RebootDeviceRequest) (*RebootDeviceResponse, error) {
 	return nil, status.Errorf(codes.Unimplemented, "method RebootDevice not implemented")
 }
+func (*UnimplementedNativeHWManagementServiceServer) SetDmLogLevel(ctx context.Context, req *SetDmLogLevelRequest) (*SetDmLogLevelResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method SetDmLogLevel not implemented")
+}
+func (*UnimplementedNativeHWManagementServiceServer) GetDmLogLevel(ctx context.Context, req *GetDmLogLevelRequest) (*GetDmLogLevelResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetDmLogLevel not implemented")
+}
 
 func RegisterNativeHWManagementServiceServer(s *grpc.Server, srv NativeHWManagementServiceServer) {
 	s.RegisterService(&_NativeHWManagementService_serviceDesc, srv)
@@ -2557,6 +2851,42 @@
 	return interceptor(ctx, in, info, handler)
 }
 
+func _NativeHWManagementService_SetDmLogLevel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(SetDmLogLevelRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(NativeHWManagementServiceServer).SetDmLogLevel(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/dmi.NativeHWManagementService/SetDmLogLevel",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(NativeHWManagementServiceServer).SetDmLogLevel(ctx, req.(*SetDmLogLevelRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _NativeHWManagementService_GetDmLogLevel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(GetDmLogLevelRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(NativeHWManagementServiceServer).GetDmLogLevel(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/dmi.NativeHWManagementService/GetDmLogLevel",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(NativeHWManagementServiceServer).GetDmLogLevel(ctx, req.(*GetDmLogLevelRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
 var _NativeHWManagementService_serviceDesc = grpc.ServiceDesc{
 	ServiceName: "dmi.NativeHWManagementService",
 	HandlerType: (*NativeHWManagementServiceServer)(nil),
@@ -2609,6 +2939,14 @@
 			MethodName: "RebootDevice",
 			Handler:    _NativeHWManagementService_RebootDevice_Handler,
 		},
+		{
+			MethodName: "SetDmLogLevel",
+			Handler:    _NativeHWManagementService_SetDmLogLevel_Handler,
+		},
+		{
+			MethodName: "GetDmLogLevel",
+			Handler:    _NativeHWManagementService_GetDmLogLevel_Handler,
+		},
 	},
 	Streams: []grpc.StreamDesc{
 		{
diff --git a/vendor/github.com/opencord/device-management-interface/go/dmi/sw_management_service.pb.go b/vendor/github.com/opencord/device-management-interface/go/dmi/sw_management_service.pb.go
index db176be..74be5d0 100644
--- a/vendor/github.com/opencord/device-management-interface/go/dmi/sw_management_service.pb.go
+++ b/vendor/github.com/opencord/device-management-interface/go/dmi/sw_management_service.pb.go
@@ -126,6 +126,92 @@
 	return fileDescriptor_000929e4bec891d7, []int{6, 0}
 }
 
+type UploadDebugInfoStatus_UploadStatus int32
+
+const (
+	UploadDebugInfoStatus_UNDEFINED_UPLOAD_STATUS UploadDebugInfoStatus_UploadStatus = 0
+	UploadDebugInfoStatus_COMPLETE                UploadDebugInfoStatus_UploadStatus = 1
+	UploadDebugInfoStatus_IN_PROGRESS             UploadDebugInfoStatus_UploadStatus = 2
+	UploadDebugInfoStatus_ERROR                   UploadDebugInfoStatus_UploadStatus = 3
+)
+
+var UploadDebugInfoStatus_UploadStatus_name = map[int32]string{
+	0: "UNDEFINED_UPLOAD_STATUS",
+	1: "COMPLETE",
+	2: "IN_PROGRESS",
+	3: "ERROR",
+}
+
+var UploadDebugInfoStatus_UploadStatus_value = map[string]int32{
+	"UNDEFINED_UPLOAD_STATUS": 0,
+	"COMPLETE":                1,
+	"IN_PROGRESS":             2,
+	"ERROR":                   3,
+}
+
+func (x UploadDebugInfoStatus_UploadStatus) String() string {
+	return proto.EnumName(UploadDebugInfoStatus_UploadStatus_name, int32(x))
+}
+
+func (UploadDebugInfoStatus_UploadStatus) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_000929e4bec891d7, []int{8, 0}
+}
+
+type UploadDebugInfoStatus_Reason int32
+
+const (
+	UploadDebugInfoStatus_UNDEFINED_REASON UploadDebugInfoStatus_Reason = 0
+	UploadDebugInfoStatus_UNKNOWN_DEVICE   UploadDebugInfoStatus_Reason = 1
+	UploadDebugInfoStatus_INTERNAL_ERROR   UploadDebugInfoStatus_Reason = 2
+	// The DM implementations should have retry mechanisms (timeout values dependant on specific implementations)
+	// and even after those if the operation cannot be completed/reached then return error with reason as DEVICE_NOT_REACHABLE
+	UploadDebugInfoStatus_DEVICE_NOT_REACHABLE              UploadDebugInfoStatus_Reason = 3
+	UploadDebugInfoStatus_REMOTE_LOCATION_UNREACHABLE       UploadDebugInfoStatus_Reason = 4
+	UploadDebugInfoStatus_REMOTE_LOCATION_PERMISSION_DENIED UploadDebugInfoStatus_Reason = 5
+	UploadDebugInfoStatus_ERROR_DURING_UPLOAD               UploadDebugInfoStatus_Reason = 6
+	UploadDebugInfoStatus_DEVICE_BUSY                       UploadDebugInfoStatus_Reason = 7
+	// wrong location_url in the request
+	UploadDebugInfoStatus_ERROR_IN_REQUEST              UploadDebugInfoStatus_Reason = 8
+	UploadDebugInfoStatus_DEVICE_IN_WRONG_STATE         UploadDebugInfoStatus_Reason = 9
+	UploadDebugInfoStatus_OPERATION_ALREADY_IN_PROGRESS UploadDebugInfoStatus_Reason = 10
+)
+
+var UploadDebugInfoStatus_Reason_name = map[int32]string{
+	0:  "UNDEFINED_REASON",
+	1:  "UNKNOWN_DEVICE",
+	2:  "INTERNAL_ERROR",
+	3:  "DEVICE_NOT_REACHABLE",
+	4:  "REMOTE_LOCATION_UNREACHABLE",
+	5:  "REMOTE_LOCATION_PERMISSION_DENIED",
+	6:  "ERROR_DURING_UPLOAD",
+	7:  "DEVICE_BUSY",
+	8:  "ERROR_IN_REQUEST",
+	9:  "DEVICE_IN_WRONG_STATE",
+	10: "OPERATION_ALREADY_IN_PROGRESS",
+}
+
+var UploadDebugInfoStatus_Reason_value = map[string]int32{
+	"UNDEFINED_REASON":                  0,
+	"UNKNOWN_DEVICE":                    1,
+	"INTERNAL_ERROR":                    2,
+	"DEVICE_NOT_REACHABLE":              3,
+	"REMOTE_LOCATION_UNREACHABLE":       4,
+	"REMOTE_LOCATION_PERMISSION_DENIED": 5,
+	"ERROR_DURING_UPLOAD":               6,
+	"DEVICE_BUSY":                       7,
+	"ERROR_IN_REQUEST":                  8,
+	"DEVICE_IN_WRONG_STATE":             9,
+	"OPERATION_ALREADY_IN_PROGRESS":     10,
+}
+
+func (x UploadDebugInfoStatus_Reason) String() string {
+	return proto.EnumName(UploadDebugInfoStatus_Reason_name, int32(x))
+}
+
+func (UploadDebugInfoStatus_Reason) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_000929e4bec891d7, []int{8, 1}
+}
+
 type SoftwareVersionInformation struct {
 	ActiveVersions       []*ImageVersion `protobuf:"bytes,1,rep,name=active_versions,json=activeVersions,proto3" json:"active_versions,omitempty"`
 	StandbyVersions      []*ImageVersion `protobuf:"bytes,2,rep,name=standby_versions,json=standbyVersions,proto3" json:"standby_versions,omitempty"`
@@ -503,10 +589,150 @@
 	return ""
 }
 
+type UploadDebugInfoRequest struct {
+	DeviceUuid *Uuid `protobuf:"bytes,1,opt,name=device_uuid,json=deviceUuid,proto3" json:"device_uuid,omitempty"`
+	// location_url is the remote location where the information needed for troubleshooting should be uploaded.
+	// Authentication (user/pass) if any should be in the location_url string
+	// The locaion_url would contain the protocol, credentials, the IP address/DNS of the server and the path of the directory
+	// e.g. sftp://upload_user:upload_pass@192.168.0.1:22/hw_debug_info/
+	LocationUrl          string   `protobuf:"bytes,3,opt,name=location_url,json=locationUrl,proto3" json:"location_url,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *UploadDebugInfoRequest) Reset()         { *m = UploadDebugInfoRequest{} }
+func (m *UploadDebugInfoRequest) String() string { return proto.CompactTextString(m) }
+func (*UploadDebugInfoRequest) ProtoMessage()    {}
+func (*UploadDebugInfoRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_000929e4bec891d7, []int{7}
+}
+
+func (m *UploadDebugInfoRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_UploadDebugInfoRequest.Unmarshal(m, b)
+}
+func (m *UploadDebugInfoRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_UploadDebugInfoRequest.Marshal(b, m, deterministic)
+}
+func (m *UploadDebugInfoRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_UploadDebugInfoRequest.Merge(m, src)
+}
+func (m *UploadDebugInfoRequest) XXX_Size() int {
+	return xxx_messageInfo_UploadDebugInfoRequest.Size(m)
+}
+func (m *UploadDebugInfoRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_UploadDebugInfoRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_UploadDebugInfoRequest proto.InternalMessageInfo
+
+func (m *UploadDebugInfoRequest) GetDeviceUuid() *Uuid {
+	if m != nil {
+		return m.DeviceUuid
+	}
+	return nil
+}
+
+func (m *UploadDebugInfoRequest) GetLocationUrl() string {
+	if m != nil {
+		return m.LocationUrl
+	}
+	return ""
+}
+
+// Implementations would be expected to stream multiple UploadDebugInfoStatus indicating the progress of the upload
+type UploadDebugInfoStatus struct {
+	DeviceUuid *Uuid                              `protobuf:"bytes,1,opt,name=device_uuid,json=deviceUuid,proto3" json:"device_uuid,omitempty"`
+	Status     UploadDebugInfoStatus_UploadStatus `protobuf:"varint,2,opt,name=status,proto3,enum=dmi.UploadDebugInfoStatus_UploadStatus" json:"status,omitempty"`
+	// percent_uploaded is the percentage of the upload that is done
+	// should be a value between 0 and 100 when status is IN_PROGRESS
+	// should be 100 when status is COMPLETE
+	// can be set to -1 if the device manager implementations cannot support
+	// the progress percentage
+	PercentUploaded int32                        `protobuf:"varint,3,opt,name=percent_uploaded,json=percentUploaded,proto3" json:"percent_uploaded,omitempty"`
+	Reason          UploadDebugInfoStatus_Reason `protobuf:"varint,4,opt,name=reason,proto3,enum=dmi.UploadDebugInfoStatus_Reason" json:"reason,omitempty"`
+	LocationUrl     string                       `protobuf:"bytes,5,opt,name=location_url,json=locationUrl,proto3" json:"location_url,omitempty"`
+	// file_name is the file at location_url where the debug information was uploaded.
+	// Implementations need to ensure that file_name is unique at the remote location.
+	FileName             string   `protobuf:"bytes,6,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *UploadDebugInfoStatus) Reset()         { *m = UploadDebugInfoStatus{} }
+func (m *UploadDebugInfoStatus) String() string { return proto.CompactTextString(m) }
+func (*UploadDebugInfoStatus) ProtoMessage()    {}
+func (*UploadDebugInfoStatus) Descriptor() ([]byte, []int) {
+	return fileDescriptor_000929e4bec891d7, []int{8}
+}
+
+func (m *UploadDebugInfoStatus) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_UploadDebugInfoStatus.Unmarshal(m, b)
+}
+func (m *UploadDebugInfoStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_UploadDebugInfoStatus.Marshal(b, m, deterministic)
+}
+func (m *UploadDebugInfoStatus) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_UploadDebugInfoStatus.Merge(m, src)
+}
+func (m *UploadDebugInfoStatus) XXX_Size() int {
+	return xxx_messageInfo_UploadDebugInfoStatus.Size(m)
+}
+func (m *UploadDebugInfoStatus) XXX_DiscardUnknown() {
+	xxx_messageInfo_UploadDebugInfoStatus.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_UploadDebugInfoStatus proto.InternalMessageInfo
+
+func (m *UploadDebugInfoStatus) GetDeviceUuid() *Uuid {
+	if m != nil {
+		return m.DeviceUuid
+	}
+	return nil
+}
+
+func (m *UploadDebugInfoStatus) GetStatus() UploadDebugInfoStatus_UploadStatus {
+	if m != nil {
+		return m.Status
+	}
+	return UploadDebugInfoStatus_UNDEFINED_UPLOAD_STATUS
+}
+
+func (m *UploadDebugInfoStatus) GetPercentUploaded() int32 {
+	if m != nil {
+		return m.PercentUploaded
+	}
+	return 0
+}
+
+func (m *UploadDebugInfoStatus) GetReason() UploadDebugInfoStatus_Reason {
+	if m != nil {
+		return m.Reason
+	}
+	return UploadDebugInfoStatus_UNDEFINED_REASON
+}
+
+func (m *UploadDebugInfoStatus) GetLocationUrl() string {
+	if m != nil {
+		return m.LocationUrl
+	}
+	return ""
+}
+
+func (m *UploadDebugInfoStatus) GetFileName() string {
+	if m != nil {
+		return m.FileName
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterEnum("dmi.GetSoftwareVersionInformationResponse_Reason", GetSoftwareVersionInformationResponse_Reason_name, GetSoftwareVersionInformationResponse_Reason_value)
 	proto.RegisterEnum("dmi.ConfigResponse_Reason", ConfigResponse_Reason_name, ConfigResponse_Reason_value)
 	proto.RegisterEnum("dmi.StartupConfigInfoResponse_Reason", StartupConfigInfoResponse_Reason_name, StartupConfigInfoResponse_Reason_value)
+	proto.RegisterEnum("dmi.UploadDebugInfoStatus_UploadStatus", UploadDebugInfoStatus_UploadStatus_name, UploadDebugInfoStatus_UploadStatus_value)
+	proto.RegisterEnum("dmi.UploadDebugInfoStatus_Reason", UploadDebugInfoStatus_Reason_name, UploadDebugInfoStatus_Reason_value)
 	proto.RegisterType((*SoftwareVersionInformation)(nil), "dmi.SoftwareVersionInformation")
 	proto.RegisterType((*GetSoftwareVersionInformationResponse)(nil), "dmi.GetSoftwareVersionInformationResponse")
 	proto.RegisterType((*DownloadImageRequest)(nil), "dmi.DownloadImageRequest")
@@ -514,63 +740,83 @@
 	proto.RegisterType((*ConfigResponse)(nil), "dmi.ConfigResponse")
 	proto.RegisterType((*StartupConfigInfoRequest)(nil), "dmi.StartupConfigInfoRequest")
 	proto.RegisterType((*StartupConfigInfoResponse)(nil), "dmi.StartupConfigInfoResponse")
+	proto.RegisterType((*UploadDebugInfoRequest)(nil), "dmi.UploadDebugInfoRequest")
+	proto.RegisterType((*UploadDebugInfoStatus)(nil), "dmi.UploadDebugInfoStatus")
 }
 
 func init() { proto.RegisterFile("dmi/sw_management_service.proto", fileDescriptor_000929e4bec891d7) }
 
 var fileDescriptor_000929e4bec891d7 = []byte{
-	// 804 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x55, 0xed, 0x6e, 0xe3, 0x44,
-	0x14, 0xc5, 0x71, 0x37, 0x28, 0x37, 0xdb, 0xd6, 0x3b, 0x74, 0x51, 0x1a, 0x54, 0x5a, 0xbc, 0x5a,
-	0xa9, 0x5a, 0x69, 0x93, 0x25, 0xdd, 0x3f, 0xb0, 0x80, 0xe4, 0x8d, 0xdd, 0xd4, 0xa2, 0x38, 0xcb,
-	0xb8, 0x29, 0x62, 0x85, 0x18, 0x4d, 0xe3, 0x49, 0x76, 0xa4, 0xda, 0x13, 0xec, 0x71, 0x0a, 0x2f,
-	0xc2, 0x73, 0xf0, 0x02, 0xfc, 0xe0, 0x05, 0x90, 0x78, 0x23, 0xe4, 0x19, 0x87, 0x90, 0x2f, 0xb4,
-	0xad, 0xd0, 0xfe, 0xb3, 0xef, 0xdc, 0x73, 0x66, 0xe6, 0x9e, 0x7b, 0xcf, 0xc0, 0x61, 0x14, 0xf3,
-	0x76, 0x76, 0x43, 0x62, 0x9a, 0xd0, 0x31, 0x8b, 0x59, 0x22, 0x49, 0xc6, 0xd2, 0x29, 0x1f, 0xb2,
-	0xd6, 0x24, 0x15, 0x52, 0x20, 0x33, 0x8a, 0x79, 0xf3, 0x41, 0x91, 0x35, 0x14, 0x71, 0x2c, 0x92,
-	0x4c, 0xc7, 0x9b, 0xf7, 0x8b, 0xd0, 0x9b, 0x9b, 0xf2, 0x0f, 0x95, 0x34, 0x3c, 0xa6, 0xe3, 0x12,
-	0x69, 0xff, 0x6a, 0x40, 0x33, 0x14, 0x23, 0x79, 0x43, 0x53, 0x76, 0xc9, 0xd2, 0x8c, 0x8b, 0xc4,
-	0x4f, 0x46, 0x22, 0x8d, 0xa9, 0xe4, 0x22, 0x41, 0x9f, 0xc3, 0x2e, 0x1d, 0x4a, 0x3e, 0x65, 0x64,
-	0xaa, 0x17, 0xb3, 0x86, 0x71, 0x64, 0x1e, 0xd7, 0x3b, 0x0f, 0x5a, 0x51, 0xcc, 0x5b, 0x7e, 0xc1,
-	0x54, 0xc2, 0xf0, 0x8e, 0xce, 0x2c, 0x7f, 0x33, 0xf4, 0x05, 0x58, 0x99, 0xa4, 0x49, 0x74, 0xf5,
-	0xcb, 0x1c, 0x5c, 0xd9, 0x04, 0xde, 0x2d, 0x53, 0x67, 0x68, 0xfb, 0xaf, 0x0a, 0x3c, 0xee, 0x31,
-	0xb9, 0xf9, 0x6c, 0x98, 0x65, 0x13, 0x91, 0x64, 0x0c, 0x3d, 0x82, 0x6a, 0x26, 0xa9, 0xcc, 0x8b,
-	0xa3, 0x19, 0xc7, 0x3b, 0x9d, 0xba, 0x62, 0x0f, 0x55, 0x08, 0x97, 0x4b, 0xc8, 0x87, 0x6a, 0xca,
-	0x68, 0x26, 0x92, 0x46, 0x45, 0x25, 0x7d, 0xaa, 0x92, 0xde, 0x6a, 0x83, 0x16, 0x56, 0x40, 0x5c,
-	0x12, 0xa0, 0x13, 0xd8, 0xe2, 0xc9, 0x48, 0x34, 0xcc, 0x23, 0xe3, 0xb8, 0xde, 0x39, 0xd4, 0xbb,
-	0x6d, 0x66, 0x51, 0xc9, 0xe8, 0x11, 0x6c, 0x6b, 0x38, 0x89, 0x98, 0xa4, 0xfc, 0xba, 0xb1, 0x75,
-	0x64, 0x1c, 0xd7, 0xf0, 0x7d, 0x1d, 0x74, 0x55, 0xcc, 0xfe, 0x11, 0xaa, 0x7a, 0x2f, 0xb4, 0x07,
-	0xd6, 0x20, 0x70, 0xbd, 0x53, 0x3f, 0xf0, 0x5c, 0x82, 0x3d, 0x27, 0xec, 0x07, 0xd6, 0x7b, 0x08,
-	0xc1, 0xce, 0x20, 0xf8, 0x3a, 0xe8, 0x7f, 0x17, 0x10, 0xd7, 0xbb, 0xf4, 0xbb, 0x9e, 0x65, 0x14,
-	0x31, 0x3f, 0xb8, 0xf0, 0x70, 0xe0, 0x9c, 0x13, 0x0f, 0xe3, 0x3e, 0xb6, 0x2a, 0xe8, 0x43, 0x40,
-	0x7a, 0x9d, 0x0c, 0x02, 0xec, 0x39, 0xdd, 0x33, 0xe7, 0xe5, 0xb9, 0x67, 0x99, 0xf6, 0xcf, 0xb0,
-	0xe7, 0x8a, 0x9b, 0xe4, 0x5a, 0xd0, 0x48, 0x15, 0x1f, 0xb3, 0x9f, 0x72, 0x96, 0x49, 0xf4, 0x04,
-	0xea, 0x11, 0x2b, 0xda, 0x89, 0xe4, 0x39, 0x8f, 0x54, 0x19, 0xeb, 0x9d, 0x9a, 0xba, 0xd8, 0x20,
-	0xe7, 0x11, 0x06, 0xbd, 0x5a, 0x7c, 0xa3, 0xe7, 0x00, 0xaa, 0x7f, 0x88, 0xaa, 0x41, 0x45, 0xa5,
-	0x3e, 0x9c, 0xeb, 0xf9, 0xef, 0x9b, 0xd7, 0xf8, 0x2c, 0x62, 0xbf, 0x86, 0xed, 0xae, 0x48, 0x46,
-	0x7c, 0x7c, 0x97, 0x2d, 0x0f, 0x00, 0x86, 0x0a, 0x4c, 0xf2, 0xf4, 0x5a, 0x6d, 0x59, 0xc3, 0x35,
-	0x1d, 0x19, 0xa4, 0xd7, 0xf6, 0x1f, 0x15, 0xd8, 0x99, 0x91, 0xdf, 0xa6, 0x25, 0x3a, 0x4b, 0x2d,
-	0xd1, 0x54, 0x49, 0x8b, 0x4c, 0xcb, 0xda, 0xaf, 0xc8, 0x68, 0xae, 0x91, 0xf1, 0x37, 0xe3, 0x7f,
-	0xd2, 0x71, 0x1f, 0x1e, 0xaa, 0x4f, 0x72, 0xea, 0x5d, 0x74, 0xcf, 0xfc, 0xa0, 0x47, 0xba, 0xfd,
-	0xe0, 0xd4, 0xef, 0x59, 0xa6, 0x4e, 0xbf, 0x74, 0xce, 0x7d, 0x77, 0x16, 0xdb, 0x42, 0x9f, 0xc0,
-	0x41, 0xff, 0x95, 0x87, 0x9d, 0x0b, 0xbf, 0x1f, 0x10, 0xe7, 0x1c, 0x7b, 0x8e, 0xfb, 0x3d, 0xf1,
-	0x03, 0xf2, 0x0a, 0xf7, 0x7b, 0xd8, 0x0b, 0x43, 0xeb, 0xde, 0x86, 0xce, 0xa8, 0xda, 0xa7, 0xd0,
-	0x08, 0x25, 0x4d, 0x65, 0x3e, 0xd1, 0xf7, 0x2f, 0x44, 0xbb, 0x83, 0x54, 0xf6, 0xef, 0x15, 0xd8,
-	0x5f, 0x43, 0x74, 0x1b, 0x59, 0xbe, 0x5c, 0x92, 0xe5, 0xf1, 0x2c, 0x69, 0x3d, 0xe9, 0xb2, 0x42,
-	0x8b, 0xcd, 0x62, 0x2e, 0x35, 0x0b, 0x6a, 0xc0, 0xfb, 0xa5, 0x19, 0x95, 0x13, 0x38, 0xfb, 0x5d,
-	0x95, 0xf6, 0xde, 0xbb, 0x9f, 0xd0, 0xce, 0x9f, 0x26, 0x1c, 0x06, 0xb4, 0xb0, 0xd1, 0x99, 0xa3,
-	0x7c, 0xf3, 0x8f, 0xe7, 0x87, 0xda, 0xf2, 0xd1, 0xb7, 0x80, 0x56, 0x7d, 0x0b, 0xed, 0xaa, 0x32,
-	0x9d, 0xd1, 0x34, 0x2a, 0xa2, 0xbe, 0xdb, 0x7c, 0xf2, 0xf6, 0x0e, 0x87, 0xbe, 0x82, 0xed, 0x05,
-	0x63, 0x40, 0xfb, 0x0a, 0xbc, 0xce, 0x2c, 0x9a, 0xd6, 0x7c, 0xd8, 0xb5, 0x72, 0xcf, 0x0c, 0xf4,
-	0x1c, 0xb6, 0x9d, 0xc2, 0xfc, 0xa9, 0x64, 0x1a, 0xbf, 0x72, 0x9a, 0x75, 0xa8, 0x17, 0xb0, 0x87,
-	0xd9, 0x94, 0xa5, 0xf2, 0x42, 0x84, 0xda, 0xfd, 0x6f, 0x01, 0xee, 0x41, 0x73, 0x30, 0x89, 0xa8,
-	0x64, 0x0b, 0x9d, 0x91, 0xa7, 0xfa, 0xdd, 0x42, 0x0b, 0xb3, 0xac, 0x0f, 0xfe, 0xc1, 0x9a, 0xf9,
-	0x7e, 0x66, 0xa0, 0x1f, 0xe0, 0xa3, 0xa2, 0x48, 0x6b, 0x58, 0x8a, 0x4a, 0xa1, 0x83, 0x4d, 0xed,
-	0xa7, 0x49, 0x3f, 0xfe, 0xef, 0xee, 0x7c, 0xf9, 0xe2, 0xf5, 0x67, 0x63, 0x2e, 0xdf, 0xe4, 0x57,
-	0xad, 0xa1, 0x88, 0xdb, 0x62, 0xc2, 0x92, 0xa1, 0x48, 0xa3, 0xb6, 0x1e, 0x99, 0xa7, 0xf3, 0x07,
-	0xfd, 0x29, 0x4f, 0x24, 0x4b, 0x47, 0x74, 0xc8, 0xda, 0xd3, 0x93, 0xf6, 0x58, 0xb4, 0xa3, 0x98,
-	0x5f, 0x55, 0xd5, 0x1b, 0x7d, 0xf2, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0xdd, 0xa9, 0x07, 0xea,
-	0x00, 0x08, 0x00, 0x00,
+	// 1091 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x56, 0xdd, 0x52, 0xdb, 0x46,
+	0x14, 0x8e, 0x7f, 0x13, 0x1f, 0x03, 0x56, 0x36, 0x90, 0x18, 0x33, 0x14, 0x70, 0x86, 0x29, 0xcd,
+	0x4c, 0x30, 0x35, 0xb9, 0x49, 0xd3, 0x9f, 0x31, 0xd6, 0x62, 0x34, 0x35, 0x12, 0x59, 0x59, 0x64,
+	0x92, 0xe9, 0x74, 0x47, 0x58, 0x6b, 0x47, 0x33, 0x96, 0xe4, 0x4a, 0x32, 0xb4, 0x2f, 0xd2, 0xab,
+	0x5e, 0xf7, 0xa2, 0x57, 0x7d, 0x81, 0x5e, 0xf4, 0x11, 0xfa, 0x46, 0x9d, 0xdd, 0x95, 0xc1, 0x18,
+	0x3b, 0x0d, 0x4c, 0x66, 0x7a, 0x27, 0x9d, 0x3d, 0x3f, 0xbb, 0xe7, 0xfb, 0xce, 0x0f, 0x6c, 0x38,
+	0x9e, 0x5b, 0x8b, 0x2e, 0xa8, 0x67, 0xfb, 0x76, 0x9f, 0x79, 0xcc, 0x8f, 0x69, 0xc4, 0xc2, 0x73,
+	0xb7, 0xcb, 0x76, 0x87, 0x61, 0x10, 0x07, 0x28, 0xe3, 0x78, 0x6e, 0xe5, 0x21, 0xd7, 0xea, 0x06,
+	0x9e, 0x17, 0xf8, 0x91, 0x94, 0x57, 0x16, 0xb8, 0xe8, 0xfd, 0x45, 0xf2, 0x87, 0x12, 0x37, 0xae,
+	0x67, 0xf7, 0x13, 0xcb, 0xea, 0xaf, 0x29, 0xa8, 0x98, 0x41, 0x2f, 0xbe, 0xb0, 0x43, 0x76, 0xca,
+	0xc2, 0xc8, 0x0d, 0x7c, 0xcd, 0xef, 0x05, 0xa1, 0x67, 0xc7, 0x6e, 0xe0, 0xa3, 0xaf, 0xa0, 0x64,
+	0x77, 0x63, 0xf7, 0x9c, 0xd1, 0x73, 0x79, 0x18, 0x95, 0x53, 0x9b, 0x99, 0x9d, 0x62, 0xfd, 0xe1,
+	0xae, 0xe3, 0xb9, 0xbb, 0x1a, 0xf7, 0x94, 0x98, 0x91, 0x25, 0xa9, 0x99, 0xfc, 0x46, 0xe8, 0x6b,
+	0x50, 0xa2, 0xd8, 0xf6, 0x9d, 0xb3, 0x5f, 0xae, 0x8c, 0xd3, 0xf3, 0x8c, 0x4b, 0x89, 0xea, 0xd8,
+	0xba, 0xfa, 0x4f, 0x1a, 0xb6, 0x5b, 0x2c, 0x9e, 0x7f, 0x37, 0xc2, 0xa2, 0x61, 0xe0, 0x47, 0x0c,
+	0x3d, 0x85, 0x7c, 0x14, 0xdb, 0xf1, 0x88, 0x5f, 0x2d, 0xb5, 0xb3, 0x54, 0x2f, 0x0a, 0xef, 0xa6,
+	0x10, 0x91, 0xe4, 0x08, 0x69, 0x90, 0x0f, 0x99, 0x1d, 0x05, 0x7e, 0x39, 0x2d, 0x94, 0xbe, 0x14,
+	0x4a, 0x1f, 0x15, 0x60, 0x97, 0x08, 0x43, 0x92, 0x38, 0x40, 0xfb, 0x90, 0x75, 0xfd, 0x5e, 0x50,
+	0xce, 0x6c, 0xa6, 0x76, 0x8a, 0xf5, 0x0d, 0x19, 0x6d, 0xbe, 0x17, 0xa1, 0x8c, 0x9e, 0xc2, 0xa2,
+	0x34, 0xa7, 0x0e, 0x8b, 0x6d, 0x77, 0x50, 0xce, 0x6e, 0xa6, 0x76, 0x0a, 0x64, 0x41, 0x0a, 0x55,
+	0x21, 0xab, 0xfe, 0x08, 0x79, 0x19, 0x0b, 0x2d, 0x83, 0x62, 0xe9, 0x2a, 0x3e, 0xd4, 0x74, 0xac,
+	0x52, 0x82, 0x1b, 0xa6, 0xa1, 0x2b, 0xf7, 0x10, 0x82, 0x25, 0x4b, 0xff, 0x5e, 0x37, 0xde, 0xe8,
+	0x54, 0xc5, 0xa7, 0x5a, 0x13, 0x2b, 0x29, 0x2e, 0xd3, 0xf4, 0x0e, 0x26, 0x7a, 0xa3, 0x4d, 0x31,
+	0x21, 0x06, 0x51, 0xd2, 0xe8, 0x31, 0x20, 0x79, 0x4e, 0x2d, 0x9d, 0xe0, 0x46, 0xf3, 0xa8, 0x71,
+	0xd0, 0xc6, 0x4a, 0xa6, 0xfa, 0x33, 0x2c, 0xab, 0xc1, 0x85, 0x3f, 0x08, 0x6c, 0x47, 0x24, 0x9f,
+	0xb0, 0x9f, 0x46, 0x2c, 0x8a, 0xd1, 0x33, 0x28, 0x3a, 0x8c, 0xd3, 0x89, 0x8e, 0x46, 0xae, 0x23,
+	0xd2, 0x58, 0xac, 0x17, 0xc4, 0xc3, 0xac, 0x91, 0xeb, 0x10, 0x90, 0xa7, 0xfc, 0x1b, 0xbd, 0x00,
+	0x10, 0xfc, 0xa1, 0x22, 0x07, 0x69, 0xa1, 0xba, 0x72, 0x85, 0xe7, 0xe4, 0xcb, 0x0b, 0xee, 0x58,
+	0x52, 0x7d, 0x07, 0x8b, 0xcd, 0xc0, 0xef, 0xb9, 0xfd, 0xbb, 0x84, 0x5c, 0x07, 0xe8, 0x0a, 0x63,
+	0x3a, 0x0a, 0x07, 0x22, 0x64, 0x81, 0x14, 0xa4, 0xc4, 0x0a, 0x07, 0xd5, 0xbf, 0xd3, 0xb0, 0x34,
+	0x76, 0x7e, 0x1b, 0x4a, 0xd4, 0xa7, 0x28, 0x51, 0x11, 0x4a, 0xd7, 0x3d, 0x4d, 0x63, 0x7f, 0x03,
+	0xc6, 0xcc, 0x0c, 0x18, 0xff, 0x4c, 0x7d, 0x22, 0x1c, 0x57, 0x61, 0x45, 0x7c, 0xd2, 0x43, 0xdc,
+	0x69, 0x1e, 0x69, 0x7a, 0x8b, 0x36, 0x0d, 0xfd, 0x50, 0x6b, 0x29, 0x19, 0xa9, 0x7e, 0xda, 0x68,
+	0x6b, 0xea, 0x58, 0x96, 0x45, 0x5b, 0xb0, 0x6e, 0x9c, 0x60, 0xd2, 0xe8, 0x68, 0x86, 0x4e, 0x1b,
+	0x6d, 0x82, 0x1b, 0xea, 0x5b, 0xaa, 0xe9, 0xf4, 0x84, 0x18, 0x2d, 0x82, 0x4d, 0x53, 0xc9, 0xcd,
+	0x61, 0x46, 0xbe, 0x7a, 0x08, 0x65, 0x33, 0xb6, 0xc3, 0x78, 0x34, 0x94, 0xef, 0xe7, 0xa0, 0xdd,
+	0x01, 0xaa, 0xea, 0x5f, 0x69, 0x58, 0x9d, 0xe1, 0xe8, 0x36, 0xb0, 0x7c, 0x33, 0x05, 0xcb, 0xf6,
+	0x58, 0x69, 0xb6, 0xd3, 0x69, 0x84, 0xae, 0x93, 0x25, 0x33, 0x45, 0x16, 0x54, 0x86, 0xfb, 0x49,
+	0x33, 0x4a, 0x2a, 0x70, 0xfc, 0x7b, 0x13, 0xda, 0xdc, 0xff, 0x50, 0xa1, 0x7d, 0x78, 0x6c, 0x0d,
+	0x79, 0x7d, 0xaa, 0xec, 0x6c, 0x74, 0x57, 0x14, 0xd0, 0x16, 0x2c, 0x0c, 0x82, 0xae, 0x28, 0xc2,
+	0x89, 0x2c, 0x14, 0xc7, 0x32, 0x5e, 0x34, 0x7f, 0xe4, 0x60, 0x65, 0x2a, 0x92, 0xc4, 0xe1, 0x56,
+	0x81, 0xbe, 0xbb, 0x04, 0x54, 0x62, 0xf5, 0xb9, 0x54, 0x9b, 0xe5, 0x37, 0x91, 0x4e, 0x81, 0xfd,
+	0x05, 0x28, 0x43, 0x16, 0x76, 0xf9, 0x44, 0x1b, 0x89, 0x73, 0xe6, 0x88, 0xdb, 0xe6, 0x48, 0x29,
+	0x91, 0x5b, 0x89, 0x18, 0xbd, 0xbc, 0xe4, 0x45, 0x56, 0xc4, 0xda, 0xfa, 0x40, 0xac, 0x29, 0x4e,
+	0x4c, 0xe7, 0x23, 0x77, 0x23, 0x1f, 0x68, 0x0d, 0x0a, 0x3d, 0x77, 0xc0, 0xa8, 0x6f, 0x7b, 0xac,
+	0x9c, 0x17, 0xe7, 0x0f, 0xb8, 0x40, 0xb7, 0x3d, 0x56, 0xb5, 0x60, 0x61, 0xf2, 0xf6, 0x68, 0x0d,
+	0x9e, 0x5c, 0x61, 0x6f, 0x9d, 0xb4, 0x8d, 0x86, 0x4a, 0xcd, 0x4e, 0xa3, 0x63, 0x99, 0xca, 0x3d,
+	0xb4, 0x00, 0x0f, 0x9a, 0xc6, 0xf1, 0x49, 0x1b, 0x77, 0x38, 0xf8, 0x25, 0x28, 0x4e, 0x56, 0x60,
+	0x1a, 0x15, 0x20, 0x27, 0x49, 0x90, 0xa9, 0xfe, 0x9e, 0xfe, 0x44, 0x6c, 0x2a, 0xc3, 0x72, 0xc2,
+	0x26, 0xdd, 0xe8, 0xd0, 0x09, 0x3e, 0xa1, 0x0d, 0x58, 0x23, 0xf8, 0xd8, 0xe8, 0x60, 0xda, 0x36,
+	0x9a, 0xb2, 0x31, 0x4c, 0x12, 0x2e, 0x8b, 0xb6, 0x61, 0x6b, 0x5a, 0xe1, 0x04, 0x93, 0x63, 0xcd,
+	0x34, 0xf9, 0xa7, 0x8a, 0x75, 0x0d, 0xab, 0x4a, 0x0e, 0x3d, 0x81, 0x47, 0xb2, 0x13, 0xa9, 0x16,
+	0xe1, 0x7d, 0x48, 0x3e, 0x5a, 0xc9, 0xf3, 0xf7, 0x25, 0xa1, 0x0f, 0x2c, 0xf3, 0xad, 0x72, 0x9f,
+	0xbf, 0x44, 0x6a, 0x6a, 0x3a, 0x25, 0xf8, 0xb5, 0x85, 0xcd, 0x8e, 0xf2, 0x80, 0x77, 0xb2, 0x44,
+	0x4d, 0xd3, 0xe9, 0x1b, 0x62, 0xe8, 0x2d, 0x91, 0x30, 0xac, 0x14, 0xfe, 0xbb, 0x6b, 0x41, 0xfd,
+	0xb7, 0x2c, 0x6c, 0xe8, 0x36, 0x5f, 0x2e, 0xc6, 0x73, 0xf6, 0xf8, 0x72, 0x13, 0x32, 0xe5, 0x22,
+	0x84, 0x5e, 0x03, 0xba, 0x39, 0xcd, 0x51, 0x49, 0x90, 0xe4, 0xc8, 0x0e, 0x1d, 0x2e, 0xd5, 0xd4,
+	0xca, 0xb3, 0x8f, 0x9f, 0xfb, 0xe8, 0x5b, 0x58, 0xbc, 0x36, 0x2e, 0xd1, 0xaa, 0x30, 0x9e, 0x35,
+	0x42, 0x2b, 0xca, 0xd5, 0x08, 0x94, 0x24, 0xd9, 0x4b, 0xa1, 0x17, 0xb0, 0xd8, 0xe0, 0x2b, 0x91,
+	0x1d, 0x33, 0x69, 0x7f, 0xe3, 0x36, 0xb3, 0xac, 0x5e, 0xc1, 0x32, 0x61, 0xe7, 0x2c, 0x8c, 0x3b,
+	0x9c, 0xcd, 0x7c, 0x27, 0xba, 0x85, 0x71, 0x0b, 0x2a, 0xd6, 0xd0, 0xb1, 0x63, 0x76, 0xad, 0x5f,
+	0x8e, 0x42, 0xb9, 0xcd, 0xa1, 0x6b, 0x13, 0x4e, 0x5e, 0xfc, 0xd1, 0x8c, 0xa9, 0xb7, 0x97, 0x42,
+	0x3f, 0xc0, 0x1a, 0x4f, 0xd2, 0x0c, 0x2f, 0x3c, 0x53, 0x68, 0x7d, 0x5e, 0x53, 0x96, 0x4e, 0x3f,
+	0xfb, 0x70, 0xcf, 0x46, 0x6d, 0x28, 0x4d, 0x15, 0x2e, 0x5a, 0x9b, 0x55, 0xce, 0x63, 0x7f, 0x95,
+	0xf9, 0xb5, 0xbe, 0x97, 0x3a, 0x78, 0xf5, 0xee, 0x65, 0xdf, 0x8d, 0xdf, 0x8f, 0xce, 0x76, 0xbb,
+	0x81, 0x57, 0x0b, 0x86, 0xcc, 0xef, 0x06, 0xa1, 0x53, 0x93, 0x7d, 0xea, 0xf9, 0xd5, 0xd2, 0xfc,
+	0xdc, 0xf5, 0x63, 0x16, 0xf6, 0xec, 0x2e, 0xab, 0x9d, 0xef, 0xd7, 0xfa, 0x41, 0xcd, 0xf1, 0xdc,
+	0xb3, 0xbc, 0xd8, 0x83, 0xf7, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xd3, 0x65, 0x3c, 0xff, 0x64,
+	0x0b, 0x00, 0x00,
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -600,6 +846,8 @@
 	UpdateStartupConfiguration(ctx context.Context, in *ConfigRequest, opts ...grpc.CallOption) (NativeSoftwareManagementService_UpdateStartupConfigurationClient, error)
 	// This API can be used to retrieve information about the current startup configuration that a device is using
 	GetStartupConfigurationInfo(ctx context.Context, in *StartupConfigInfoRequest, opts ...grpc.CallOption) (*StartupConfigInfoResponse, error)
+	// This API can be used to upload to a remote location, information useful for troubleshooting problems on the hardware
+	UploadDebugInfo(ctx context.Context, in *UploadDebugInfoRequest, opts ...grpc.CallOption) (NativeSoftwareManagementService_UploadDebugInfoClient, error)
 }
 
 type nativeSoftwareManagementServiceClient struct {
@@ -756,6 +1004,38 @@
 	return out, nil
 }
 
+func (c *nativeSoftwareManagementServiceClient) UploadDebugInfo(ctx context.Context, in *UploadDebugInfoRequest, opts ...grpc.CallOption) (NativeSoftwareManagementService_UploadDebugInfoClient, error) {
+	stream, err := c.cc.NewStream(ctx, &_NativeSoftwareManagementService_serviceDesc.Streams[4], "/dmi.NativeSoftwareManagementService/UploadDebugInfo", opts...)
+	if err != nil {
+		return nil, err
+	}
+	x := &nativeSoftwareManagementServiceUploadDebugInfoClient{stream}
+	if err := x.ClientStream.SendMsg(in); err != nil {
+		return nil, err
+	}
+	if err := x.ClientStream.CloseSend(); err != nil {
+		return nil, err
+	}
+	return x, nil
+}
+
+type NativeSoftwareManagementService_UploadDebugInfoClient interface {
+	Recv() (*UploadDebugInfoStatus, error)
+	grpc.ClientStream
+}
+
+type nativeSoftwareManagementServiceUploadDebugInfoClient struct {
+	grpc.ClientStream
+}
+
+func (x *nativeSoftwareManagementServiceUploadDebugInfoClient) Recv() (*UploadDebugInfoStatus, error) {
+	m := new(UploadDebugInfoStatus)
+	if err := x.ClientStream.RecvMsg(m); err != nil {
+		return nil, err
+	}
+	return m, nil
+}
+
 // NativeSoftwareManagementServiceServer is the server API for NativeSoftwareManagementService service.
 type NativeSoftwareManagementServiceServer interface {
 	// Get the software version information of the Active and Standby images
@@ -773,6 +1053,8 @@
 	UpdateStartupConfiguration(*ConfigRequest, NativeSoftwareManagementService_UpdateStartupConfigurationServer) error
 	// This API can be used to retrieve information about the current startup configuration that a device is using
 	GetStartupConfigurationInfo(context.Context, *StartupConfigInfoRequest) (*StartupConfigInfoResponse, error)
+	// This API can be used to upload to a remote location, information useful for troubleshooting problems on the hardware
+	UploadDebugInfo(*UploadDebugInfoRequest, NativeSoftwareManagementService_UploadDebugInfoServer) error
 }
 
 // UnimplementedNativeSoftwareManagementServiceServer can be embedded to have forward compatible implementations.
@@ -797,6 +1079,9 @@
 func (*UnimplementedNativeSoftwareManagementServiceServer) GetStartupConfigurationInfo(ctx context.Context, req *StartupConfigInfoRequest) (*StartupConfigInfoResponse, error) {
 	return nil, status.Errorf(codes.Unimplemented, "method GetStartupConfigurationInfo not implemented")
 }
+func (*UnimplementedNativeSoftwareManagementServiceServer) UploadDebugInfo(req *UploadDebugInfoRequest, srv NativeSoftwareManagementService_UploadDebugInfoServer) error {
+	return status.Errorf(codes.Unimplemented, "method UploadDebugInfo not implemented")
+}
 
 func RegisterNativeSoftwareManagementServiceServer(s *grpc.Server, srv NativeSoftwareManagementServiceServer) {
 	s.RegisterService(&_NativeSoftwareManagementService_serviceDesc, srv)
@@ -922,6 +1207,27 @@
 	return interceptor(ctx, in, info, handler)
 }
 
+func _NativeSoftwareManagementService_UploadDebugInfo_Handler(srv interface{}, stream grpc.ServerStream) error {
+	m := new(UploadDebugInfoRequest)
+	if err := stream.RecvMsg(m); err != nil {
+		return err
+	}
+	return srv.(NativeSoftwareManagementServiceServer).UploadDebugInfo(m, &nativeSoftwareManagementServiceUploadDebugInfoServer{stream})
+}
+
+type NativeSoftwareManagementService_UploadDebugInfoServer interface {
+	Send(*UploadDebugInfoStatus) error
+	grpc.ServerStream
+}
+
+type nativeSoftwareManagementServiceUploadDebugInfoServer struct {
+	grpc.ServerStream
+}
+
+func (x *nativeSoftwareManagementServiceUploadDebugInfoServer) Send(m *UploadDebugInfoStatus) error {
+	return x.ServerStream.SendMsg(m)
+}
+
 var _NativeSoftwareManagementService_serviceDesc = grpc.ServiceDesc{
 	ServiceName: "dmi.NativeSoftwareManagementService",
 	HandlerType: (*NativeSoftwareManagementServiceServer)(nil),
@@ -956,6 +1262,11 @@
 			Handler:       _NativeSoftwareManagementService_UpdateStartupConfiguration_Handler,
 			ServerStreams: true,
 		},
+		{
+			StreamName:    "UploadDebugInfo",
+			Handler:       _NativeSoftwareManagementService_UploadDebugInfo_Handler,
+			ServerStreams: true,
+		},
 	},
 	Metadata: "dmi/sw_management_service.proto",
 }
diff --git a/vendor/github.com/opencord/voltha-protos/v5/go/extension/extensions.pb.go b/vendor/github.com/opencord/voltha-protos/v5/go/extension/extensions.pb.go
index c4e91d3..7a30f65 100644
--- a/vendor/github.com/opencord/voltha-protos/v5/go/extension/extensions.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v5/go/extension/extensions.pb.go
@@ -231,6 +231,37 @@
 	return fileDescriptor_7ecf6e9799a9202d, []int{22, 0}
 }
 
+type GetOffloadedAppsStatisticsRequest_OffloadedApp int32
+
+const (
+	GetOffloadedAppsStatisticsRequest_UNDEFINED GetOffloadedAppsStatisticsRequest_OffloadedApp = 0
+	GetOffloadedAppsStatisticsRequest_PPPoeIA   GetOffloadedAppsStatisticsRequest_OffloadedApp = 1
+	GetOffloadedAppsStatisticsRequest_DHCPv4RA  GetOffloadedAppsStatisticsRequest_OffloadedApp = 2
+	GetOffloadedAppsStatisticsRequest_DHCPv6RA  GetOffloadedAppsStatisticsRequest_OffloadedApp = 3
+)
+
+var GetOffloadedAppsStatisticsRequest_OffloadedApp_name = map[int32]string{
+	0: "UNDEFINED",
+	1: "PPPoeIA",
+	2: "DHCPv4RA",
+	3: "DHCPv6RA",
+}
+
+var GetOffloadedAppsStatisticsRequest_OffloadedApp_value = map[string]int32{
+	"UNDEFINED": 0,
+	"PPPoeIA":   1,
+	"DHCPv4RA":  2,
+	"DHCPv6RA":  3,
+}
+
+func (x GetOffloadedAppsStatisticsRequest_OffloadedApp) String() string {
+	return proto.EnumName(GetOffloadedAppsStatisticsRequest_OffloadedApp_name, int32(x))
+}
+
+func (GetOffloadedAppsStatisticsRequest_OffloadedApp) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_7ecf6e9799a9202d, []int{31, 0}
+}
+
 type GetValueResponse_Status int32
 
 const (
@@ -256,7 +287,7 @@
 }
 
 func (GetValueResponse_Status) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{32, 0}
+	return fileDescriptor_7ecf6e9799a9202d, []int{34, 0}
 }
 
 type GetValueResponse_ErrorReason int32
@@ -299,7 +330,7 @@
 }
 
 func (GetValueResponse_ErrorReason) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{32, 1}
+	return fileDescriptor_7ecf6e9799a9202d, []int{34, 1}
 }
 
 type SetValueResponse_Status int32
@@ -327,24 +358,33 @@
 }
 
 func (SetValueResponse_Status) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{34, 0}
+	return fileDescriptor_7ecf6e9799a9202d, []int{38, 0}
 }
 
 type SetValueResponse_ErrorReason int32
 
 const (
-	SetValueResponse_REASON_UNDEFINED SetValueResponse_ErrorReason = 0
-	SetValueResponse_UNSUPPORTED      SetValueResponse_ErrorReason = 1
+	SetValueResponse_REASON_UNDEFINED      SetValueResponse_ErrorReason = 0
+	SetValueResponse_UNSUPPORTED           SetValueResponse_ErrorReason = 1
+	SetValueResponse_INVALID_DEVICE_ID     SetValueResponse_ErrorReason = 2
+	SetValueResponse_INVALID_ONU_DEVICE_ID SetValueResponse_ErrorReason = 3
+	SetValueResponse_INVALID_UNI_ID        SetValueResponse_ErrorReason = 4
 )
 
 var SetValueResponse_ErrorReason_name = map[int32]string{
 	0: "REASON_UNDEFINED",
 	1: "UNSUPPORTED",
+	2: "INVALID_DEVICE_ID",
+	3: "INVALID_ONU_DEVICE_ID",
+	4: "INVALID_UNI_ID",
 }
 
 var SetValueResponse_ErrorReason_value = map[string]int32{
-	"REASON_UNDEFINED": 0,
-	"UNSUPPORTED":      1,
+	"REASON_UNDEFINED":      0,
+	"UNSUPPORTED":           1,
+	"INVALID_DEVICE_ID":     2,
+	"INVALID_ONU_DEVICE_ID": 3,
+	"INVALID_UNI_ID":        4,
 }
 
 func (x SetValueResponse_ErrorReason) String() string {
@@ -352,7 +392,7 @@
 }
 
 func (SetValueResponse_ErrorReason) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{34, 1}
+	return fileDescriptor_7ecf6e9799a9202d, []int{38, 1}
 }
 
 type ValueSet struct {
@@ -3030,6 +3070,495 @@
 	return nil
 }
 
+type GetOffloadedAppsStatisticsRequest struct {
+	// The offloaded application whose statistics are requested
+	StatsFor             GetOffloadedAppsStatisticsRequest_OffloadedApp `protobuf:"varint,1,opt,name=statsFor,proto3,enum=extension.GetOffloadedAppsStatisticsRequest_OffloadedApp" json:"statsFor,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}                                       `json:"-"`
+	XXX_unrecognized     []byte                                         `json:"-"`
+	XXX_sizecache        int32                                          `json:"-"`
+}
+
+func (m *GetOffloadedAppsStatisticsRequest) Reset()         { *m = GetOffloadedAppsStatisticsRequest{} }
+func (m *GetOffloadedAppsStatisticsRequest) String() string { return proto.CompactTextString(m) }
+func (*GetOffloadedAppsStatisticsRequest) ProtoMessage()    {}
+func (*GetOffloadedAppsStatisticsRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_7ecf6e9799a9202d, []int{31}
+}
+
+func (m *GetOffloadedAppsStatisticsRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_GetOffloadedAppsStatisticsRequest.Unmarshal(m, b)
+}
+func (m *GetOffloadedAppsStatisticsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_GetOffloadedAppsStatisticsRequest.Marshal(b, m, deterministic)
+}
+func (m *GetOffloadedAppsStatisticsRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_GetOffloadedAppsStatisticsRequest.Merge(m, src)
+}
+func (m *GetOffloadedAppsStatisticsRequest) XXX_Size() int {
+	return xxx_messageInfo_GetOffloadedAppsStatisticsRequest.Size(m)
+}
+func (m *GetOffloadedAppsStatisticsRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_GetOffloadedAppsStatisticsRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GetOffloadedAppsStatisticsRequest proto.InternalMessageInfo
+
+func (m *GetOffloadedAppsStatisticsRequest) GetStatsFor() GetOffloadedAppsStatisticsRequest_OffloadedApp {
+	if m != nil {
+		return m.StatsFor
+	}
+	return GetOffloadedAppsStatisticsRequest_UNDEFINED
+}
+
+type GetOffloadedAppsStatisticsResponse struct {
+	// Types that are valid to be assigned to Stats:
+	//	*GetOffloadedAppsStatisticsResponse_Dhcpv4RaStats
+	//	*GetOffloadedAppsStatisticsResponse_Dhcpv6RaStats
+	//	*GetOffloadedAppsStatisticsResponse_PppoeIaStats
+	Stats                isGetOffloadedAppsStatisticsResponse_Stats `protobuf_oneof:"stats"`
+	XXX_NoUnkeyedLiteral struct{}                                   `json:"-"`
+	XXX_unrecognized     []byte                                     `json:"-"`
+	XXX_sizecache        int32                                      `json:"-"`
+}
+
+func (m *GetOffloadedAppsStatisticsResponse) Reset()         { *m = GetOffloadedAppsStatisticsResponse{} }
+func (m *GetOffloadedAppsStatisticsResponse) String() string { return proto.CompactTextString(m) }
+func (*GetOffloadedAppsStatisticsResponse) ProtoMessage()    {}
+func (*GetOffloadedAppsStatisticsResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_7ecf6e9799a9202d, []int{32}
+}
+
+func (m *GetOffloadedAppsStatisticsResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_GetOffloadedAppsStatisticsResponse.Unmarshal(m, b)
+}
+func (m *GetOffloadedAppsStatisticsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_GetOffloadedAppsStatisticsResponse.Marshal(b, m, deterministic)
+}
+func (m *GetOffloadedAppsStatisticsResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_GetOffloadedAppsStatisticsResponse.Merge(m, src)
+}
+func (m *GetOffloadedAppsStatisticsResponse) XXX_Size() int {
+	return xxx_messageInfo_GetOffloadedAppsStatisticsResponse.Size(m)
+}
+func (m *GetOffloadedAppsStatisticsResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_GetOffloadedAppsStatisticsResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GetOffloadedAppsStatisticsResponse proto.InternalMessageInfo
+
+type isGetOffloadedAppsStatisticsResponse_Stats interface {
+	isGetOffloadedAppsStatisticsResponse_Stats()
+}
+
+type GetOffloadedAppsStatisticsResponse_Dhcpv4RaStats struct {
+	Dhcpv4RaStats *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats `protobuf:"bytes,1,opt,name=dhcpv4RaStats,proto3,oneof"`
+}
+
+type GetOffloadedAppsStatisticsResponse_Dhcpv6RaStats struct {
+	Dhcpv6RaStats *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats `protobuf:"bytes,2,opt,name=dhcpv6RaStats,proto3,oneof"`
+}
+
+type GetOffloadedAppsStatisticsResponse_PppoeIaStats struct {
+	PppoeIaStats *GetOffloadedAppsStatisticsResponse_PPPoeIAStats `protobuf:"bytes,3,opt,name=pppoeIaStats,proto3,oneof"`
+}
+
+func (*GetOffloadedAppsStatisticsResponse_Dhcpv4RaStats) isGetOffloadedAppsStatisticsResponse_Stats() {
+}
+
+func (*GetOffloadedAppsStatisticsResponse_Dhcpv6RaStats) isGetOffloadedAppsStatisticsResponse_Stats() {
+}
+
+func (*GetOffloadedAppsStatisticsResponse_PppoeIaStats) isGetOffloadedAppsStatisticsResponse_Stats() {
+}
+
+func (m *GetOffloadedAppsStatisticsResponse) GetStats() isGetOffloadedAppsStatisticsResponse_Stats {
+	if m != nil {
+		return m.Stats
+	}
+	return nil
+}
+
+func (m *GetOffloadedAppsStatisticsResponse) GetDhcpv4RaStats() *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats {
+	if x, ok := m.GetStats().(*GetOffloadedAppsStatisticsResponse_Dhcpv4RaStats); ok {
+		return x.Dhcpv4RaStats
+	}
+	return nil
+}
+
+func (m *GetOffloadedAppsStatisticsResponse) GetDhcpv6RaStats() *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats {
+	if x, ok := m.GetStats().(*GetOffloadedAppsStatisticsResponse_Dhcpv6RaStats); ok {
+		return x.Dhcpv6RaStats
+	}
+	return nil
+}
+
+func (m *GetOffloadedAppsStatisticsResponse) GetPppoeIaStats() *GetOffloadedAppsStatisticsResponse_PPPoeIAStats {
+	if x, ok := m.GetStats().(*GetOffloadedAppsStatisticsResponse_PppoeIaStats); ok {
+		return x.PppoeIaStats
+	}
+	return nil
+}
+
+// XXX_OneofWrappers is for the internal use of the proto package.
+func (*GetOffloadedAppsStatisticsResponse) XXX_OneofWrappers() []interface{} {
+	return []interface{}{
+		(*GetOffloadedAppsStatisticsResponse_Dhcpv4RaStats)(nil),
+		(*GetOffloadedAppsStatisticsResponse_Dhcpv6RaStats)(nil),
+		(*GetOffloadedAppsStatisticsResponse_PppoeIaStats)(nil),
+	}
+}
+
+type GetOffloadedAppsStatisticsResponse_DHCPv4RAStats struct {
+	// From https://github.com/BroadbandForum/yang/blob/master/standard/networking/bbf-l2-dhcpv4-relay.yang
+	InBadPacketsFromClient           uint32 `protobuf:"varint,1,opt,name=in_bad_packets_from_client,json=inBadPacketsFromClient,proto3" json:"in_bad_packets_from_client,omitempty"`
+	InBadPacketsFromServer           uint32 `protobuf:"varint,2,opt,name=in_bad_packets_from_server,json=inBadPacketsFromServer,proto3" json:"in_bad_packets_from_server,omitempty"`
+	InPacketsFromClient              uint32 `protobuf:"varint,3,opt,name=in_packets_from_client,json=inPacketsFromClient,proto3" json:"in_packets_from_client,omitempty"`
+	InPacketsFromServer              uint32 `protobuf:"varint,4,opt,name=in_packets_from_server,json=inPacketsFromServer,proto3" json:"in_packets_from_server,omitempty"`
+	OutPacketsToServer               uint32 `protobuf:"varint,5,opt,name=out_packets_to_server,json=outPacketsToServer,proto3" json:"out_packets_to_server,omitempty"`
+	OutPacketsToClient               uint32 `protobuf:"varint,6,opt,name=out_packets_to_client,json=outPacketsToClient,proto3" json:"out_packets_to_client,omitempty"`
+	Option_82InsertedPacketsToServer uint32 `protobuf:"varint,7,opt,name=option_82_inserted_packets_to_server,json=option82InsertedPacketsToServer,proto3" json:"option_82_inserted_packets_to_server,omitempty"`
+	Option_82RemovedPacketsToClient  uint32 `protobuf:"varint,8,opt,name=option_82_removed_packets_to_client,json=option82RemovedPacketsToClient,proto3" json:"option_82_removed_packets_to_client,omitempty"`
+	Option_82NotInsertedToServer     uint32 `protobuf:"varint,9,opt,name=option_82_not_inserted_to_server,json=option82NotInsertedToServer,proto3" json:"option_82_not_inserted_to_server,omitempty"`
+	// Name value pairs that gives the flexibility to report different statistics that implementations may choose
+	AdditionalStats      map[string]string `protobuf:"bytes,10,rep,name=additional_stats,json=additionalStats,proto3" json:"additional_stats,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
+	XXX_unrecognized     []byte            `json:"-"`
+	XXX_sizecache        int32             `json:"-"`
+}
+
+func (m *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) Reset() {
+	*m = GetOffloadedAppsStatisticsResponse_DHCPv4RAStats{}
+}
+func (m *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) String() string {
+	return proto.CompactTextString(m)
+}
+func (*GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) ProtoMessage() {}
+func (*GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) Descriptor() ([]byte, []int) {
+	return fileDescriptor_7ecf6e9799a9202d, []int{32, 0}
+}
+
+func (m *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_GetOffloadedAppsStatisticsResponse_DHCPv4RAStats.Unmarshal(m, b)
+}
+func (m *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_GetOffloadedAppsStatisticsResponse_DHCPv4RAStats.Marshal(b, m, deterministic)
+}
+func (m *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_GetOffloadedAppsStatisticsResponse_DHCPv4RAStats.Merge(m, src)
+}
+func (m *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) XXX_Size() int {
+	return xxx_messageInfo_GetOffloadedAppsStatisticsResponse_DHCPv4RAStats.Size(m)
+}
+func (m *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) XXX_DiscardUnknown() {
+	xxx_messageInfo_GetOffloadedAppsStatisticsResponse_DHCPv4RAStats.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GetOffloadedAppsStatisticsResponse_DHCPv4RAStats proto.InternalMessageInfo
+
+func (m *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) GetInBadPacketsFromClient() uint32 {
+	if m != nil {
+		return m.InBadPacketsFromClient
+	}
+	return 0
+}
+
+func (m *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) GetInBadPacketsFromServer() uint32 {
+	if m != nil {
+		return m.InBadPacketsFromServer
+	}
+	return 0
+}
+
+func (m *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) GetInPacketsFromClient() uint32 {
+	if m != nil {
+		return m.InPacketsFromClient
+	}
+	return 0
+}
+
+func (m *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) GetInPacketsFromServer() uint32 {
+	if m != nil {
+		return m.InPacketsFromServer
+	}
+	return 0
+}
+
+func (m *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) GetOutPacketsToServer() uint32 {
+	if m != nil {
+		return m.OutPacketsToServer
+	}
+	return 0
+}
+
+func (m *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) GetOutPacketsToClient() uint32 {
+	if m != nil {
+		return m.OutPacketsToClient
+	}
+	return 0
+}
+
+func (m *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) GetOption_82InsertedPacketsToServer() uint32 {
+	if m != nil {
+		return m.Option_82InsertedPacketsToServer
+	}
+	return 0
+}
+
+func (m *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) GetOption_82RemovedPacketsToClient() uint32 {
+	if m != nil {
+		return m.Option_82RemovedPacketsToClient
+	}
+	return 0
+}
+
+func (m *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) GetOption_82NotInsertedToServer() uint32 {
+	if m != nil {
+		return m.Option_82NotInsertedToServer
+	}
+	return 0
+}
+
+func (m *GetOffloadedAppsStatisticsResponse_DHCPv4RAStats) GetAdditionalStats() map[string]string {
+	if m != nil {
+		return m.AdditionalStats
+	}
+	return nil
+}
+
+type GetOffloadedAppsStatisticsResponse_DHCPv6RAStats struct {
+	// From https://github.com/BroadbandForum/yang/blob/master/standard/networking/bbf-ldra.yang
+	InBadPacketsFromClient               uint32 `protobuf:"varint,1,opt,name=in_bad_packets_from_client,json=inBadPacketsFromClient,proto3" json:"in_bad_packets_from_client,omitempty"`
+	InBadPacketsFromServer               uint32 `protobuf:"varint,2,opt,name=in_bad_packets_from_server,json=inBadPacketsFromServer,proto3" json:"in_bad_packets_from_server,omitempty"`
+	Option_17InsertedPacketsToServer     uint32 `protobuf:"varint,3,opt,name=option_17_inserted_packets_to_server,json=option17InsertedPacketsToServer,proto3" json:"option_17_inserted_packets_to_server,omitempty"`
+	Option_17RemovedPacketsToClient      uint32 `protobuf:"varint,4,opt,name=option_17_removed_packets_to_client,json=option17RemovedPacketsToClient,proto3" json:"option_17_removed_packets_to_client,omitempty"`
+	Option_18InsertedPacketsToServer     uint32 `protobuf:"varint,5,opt,name=option_18_inserted_packets_to_server,json=option18InsertedPacketsToServer,proto3" json:"option_18_inserted_packets_to_server,omitempty"`
+	Option_18RemovedPacketsToClient      uint32 `protobuf:"varint,6,opt,name=option_18_removed_packets_to_client,json=option18RemovedPacketsToClient,proto3" json:"option_18_removed_packets_to_client,omitempty"`
+	Option_37InsertedPacketsToServer     uint32 `protobuf:"varint,7,opt,name=option_37_inserted_packets_to_server,json=option37InsertedPacketsToServer,proto3" json:"option_37_inserted_packets_to_server,omitempty"`
+	Option_37RemovedPacketsToClient      uint32 `protobuf:"varint,8,opt,name=option_37_removed_packets_to_client,json=option37RemovedPacketsToClient,proto3" json:"option_37_removed_packets_to_client,omitempty"`
+	OutgoingMtuExceededPacketsFromClient uint32 `protobuf:"varint,9,opt,name=outgoing_mtu_exceeded_packets_from_client,json=outgoingMtuExceededPacketsFromClient,proto3" json:"outgoing_mtu_exceeded_packets_from_client,omitempty"`
+	// Name value pairs that gives the flexibility to report different statistics that implementations may choose
+	AdditionalStats      map[string]string `protobuf:"bytes,10,rep,name=additional_stats,json=additionalStats,proto3" json:"additional_stats,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
+	XXX_unrecognized     []byte            `json:"-"`
+	XXX_sizecache        int32             `json:"-"`
+}
+
+func (m *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) Reset() {
+	*m = GetOffloadedAppsStatisticsResponse_DHCPv6RAStats{}
+}
+func (m *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) String() string {
+	return proto.CompactTextString(m)
+}
+func (*GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) ProtoMessage() {}
+func (*GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) Descriptor() ([]byte, []int) {
+	return fileDescriptor_7ecf6e9799a9202d, []int{32, 1}
+}
+
+func (m *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_GetOffloadedAppsStatisticsResponse_DHCPv6RAStats.Unmarshal(m, b)
+}
+func (m *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_GetOffloadedAppsStatisticsResponse_DHCPv6RAStats.Marshal(b, m, deterministic)
+}
+func (m *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_GetOffloadedAppsStatisticsResponse_DHCPv6RAStats.Merge(m, src)
+}
+func (m *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) XXX_Size() int {
+	return xxx_messageInfo_GetOffloadedAppsStatisticsResponse_DHCPv6RAStats.Size(m)
+}
+func (m *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) XXX_DiscardUnknown() {
+	xxx_messageInfo_GetOffloadedAppsStatisticsResponse_DHCPv6RAStats.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GetOffloadedAppsStatisticsResponse_DHCPv6RAStats proto.InternalMessageInfo
+
+func (m *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) GetInBadPacketsFromClient() uint32 {
+	if m != nil {
+		return m.InBadPacketsFromClient
+	}
+	return 0
+}
+
+func (m *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) GetInBadPacketsFromServer() uint32 {
+	if m != nil {
+		return m.InBadPacketsFromServer
+	}
+	return 0
+}
+
+func (m *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) GetOption_17InsertedPacketsToServer() uint32 {
+	if m != nil {
+		return m.Option_17InsertedPacketsToServer
+	}
+	return 0
+}
+
+func (m *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) GetOption_17RemovedPacketsToClient() uint32 {
+	if m != nil {
+		return m.Option_17RemovedPacketsToClient
+	}
+	return 0
+}
+
+func (m *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) GetOption_18InsertedPacketsToServer() uint32 {
+	if m != nil {
+		return m.Option_18InsertedPacketsToServer
+	}
+	return 0
+}
+
+func (m *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) GetOption_18RemovedPacketsToClient() uint32 {
+	if m != nil {
+		return m.Option_18RemovedPacketsToClient
+	}
+	return 0
+}
+
+func (m *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) GetOption_37InsertedPacketsToServer() uint32 {
+	if m != nil {
+		return m.Option_37InsertedPacketsToServer
+	}
+	return 0
+}
+
+func (m *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) GetOption_37RemovedPacketsToClient() uint32 {
+	if m != nil {
+		return m.Option_37RemovedPacketsToClient
+	}
+	return 0
+}
+
+func (m *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) GetOutgoingMtuExceededPacketsFromClient() uint32 {
+	if m != nil {
+		return m.OutgoingMtuExceededPacketsFromClient
+	}
+	return 0
+}
+
+func (m *GetOffloadedAppsStatisticsResponse_DHCPv6RAStats) GetAdditionalStats() map[string]string {
+	if m != nil {
+		return m.AdditionalStats
+	}
+	return nil
+}
+
+type GetOffloadedAppsStatisticsResponse_PPPoeIAStats struct {
+	// From https://github.com/BroadbandForum/yang/blob/master/standard/networking/bbf-pppoe-intermediate-agent.yang
+	InErrorPacketsFromClient                 uint32 `protobuf:"varint,1,opt,name=in_error_packets_from_client,json=inErrorPacketsFromClient,proto3" json:"in_error_packets_from_client,omitempty"`
+	InErrorPacketsFromServer                 uint32 `protobuf:"varint,2,opt,name=in_error_packets_from_server,json=inErrorPacketsFromServer,proto3" json:"in_error_packets_from_server,omitempty"`
+	InPacketsFromClient                      uint32 `protobuf:"varint,3,opt,name=in_packets_from_client,json=inPacketsFromClient,proto3" json:"in_packets_from_client,omitempty"`
+	InPacketsFromServer                      uint32 `protobuf:"varint,4,opt,name=in_packets_from_server,json=inPacketsFromServer,proto3" json:"in_packets_from_server,omitempty"`
+	OutPacketsToServer                       uint32 `protobuf:"varint,5,opt,name=out_packets_to_server,json=outPacketsToServer,proto3" json:"out_packets_to_server,omitempty"`
+	OutPacketsToClient                       uint32 `protobuf:"varint,6,opt,name=out_packets_to_client,json=outPacketsToClient,proto3" json:"out_packets_to_client,omitempty"`
+	VendorSpecificTagInsertedPacketsToServer uint32 `protobuf:"varint,7,opt,name=vendor_specific_tag_inserted_packets_to_server,json=vendorSpecificTagInsertedPacketsToServer,proto3" json:"vendor_specific_tag_inserted_packets_to_server,omitempty"`
+	VendorSpecificTagRemovedPacketsToClient  uint32 `protobuf:"varint,8,opt,name=vendor_specific_tag_removed_packets_to_client,json=vendorSpecificTagRemovedPacketsToClient,proto3" json:"vendor_specific_tag_removed_packets_to_client,omitempty"`
+	OutgoingMtuExceededPacketsFromClient     uint32 `protobuf:"varint,9,opt,name=outgoing_mtu_exceeded_packets_from_client,json=outgoingMtuExceededPacketsFromClient,proto3" json:"outgoing_mtu_exceeded_packets_from_client,omitempty"`
+	// Name value pairs that gives the flexibility to report different statistics that implementations may choose
+	AdditionalStats      map[string]string `protobuf:"bytes,10,rep,name=additional_stats,json=additionalStats,proto3" json:"additional_stats,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
+	XXX_unrecognized     []byte            `json:"-"`
+	XXX_sizecache        int32             `json:"-"`
+}
+
+func (m *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) Reset() {
+	*m = GetOffloadedAppsStatisticsResponse_PPPoeIAStats{}
+}
+func (m *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) String() string {
+	return proto.CompactTextString(m)
+}
+func (*GetOffloadedAppsStatisticsResponse_PPPoeIAStats) ProtoMessage() {}
+func (*GetOffloadedAppsStatisticsResponse_PPPoeIAStats) Descriptor() ([]byte, []int) {
+	return fileDescriptor_7ecf6e9799a9202d, []int{32, 2}
+}
+
+func (m *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_GetOffloadedAppsStatisticsResponse_PPPoeIAStats.Unmarshal(m, b)
+}
+func (m *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_GetOffloadedAppsStatisticsResponse_PPPoeIAStats.Marshal(b, m, deterministic)
+}
+func (m *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_GetOffloadedAppsStatisticsResponse_PPPoeIAStats.Merge(m, src)
+}
+func (m *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) XXX_Size() int {
+	return xxx_messageInfo_GetOffloadedAppsStatisticsResponse_PPPoeIAStats.Size(m)
+}
+func (m *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) XXX_DiscardUnknown() {
+	xxx_messageInfo_GetOffloadedAppsStatisticsResponse_PPPoeIAStats.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GetOffloadedAppsStatisticsResponse_PPPoeIAStats proto.InternalMessageInfo
+
+func (m *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) GetInErrorPacketsFromClient() uint32 {
+	if m != nil {
+		return m.InErrorPacketsFromClient
+	}
+	return 0
+}
+
+func (m *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) GetInErrorPacketsFromServer() uint32 {
+	if m != nil {
+		return m.InErrorPacketsFromServer
+	}
+	return 0
+}
+
+func (m *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) GetInPacketsFromClient() uint32 {
+	if m != nil {
+		return m.InPacketsFromClient
+	}
+	return 0
+}
+
+func (m *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) GetInPacketsFromServer() uint32 {
+	if m != nil {
+		return m.InPacketsFromServer
+	}
+	return 0
+}
+
+func (m *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) GetOutPacketsToServer() uint32 {
+	if m != nil {
+		return m.OutPacketsToServer
+	}
+	return 0
+}
+
+func (m *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) GetOutPacketsToClient() uint32 {
+	if m != nil {
+		return m.OutPacketsToClient
+	}
+	return 0
+}
+
+func (m *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) GetVendorSpecificTagInsertedPacketsToServer() uint32 {
+	if m != nil {
+		return m.VendorSpecificTagInsertedPacketsToServer
+	}
+	return 0
+}
+
+func (m *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) GetVendorSpecificTagRemovedPacketsToClient() uint32 {
+	if m != nil {
+		return m.VendorSpecificTagRemovedPacketsToClient
+	}
+	return 0
+}
+
+func (m *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) GetOutgoingMtuExceededPacketsFromClient() uint32 {
+	if m != nil {
+		return m.OutgoingMtuExceededPacketsFromClient
+	}
+	return 0
+}
+
+func (m *GetOffloadedAppsStatisticsResponse_PPPoeIAStats) GetAdditionalStats() map[string]string {
+	if m != nil {
+		return m.AdditionalStats
+	}
+	return nil
+}
+
 type GetValueRequest struct {
 	// Types that are valid to be assigned to Request:
 	//	*GetValueRequest_Distance
@@ -3044,6 +3573,7 @@
 	//	*GetValueRequest_OnuOmciStats
 	//	*GetValueRequest_OltRxPower
 	//	*GetValueRequest_OnuActiveAlarms
+	//	*GetValueRequest_OffloadedAppsStats
 	Request              isGetValueRequest_Request `protobuf_oneof:"request"`
 	XXX_NoUnkeyedLiteral struct{}                  `json:"-"`
 	XXX_unrecognized     []byte                    `json:"-"`
@@ -3054,7 +3584,7 @@
 func (m *GetValueRequest) String() string { return proto.CompactTextString(m) }
 func (*GetValueRequest) ProtoMessage()    {}
 func (*GetValueRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{31}
+	return fileDescriptor_7ecf6e9799a9202d, []int{33}
 }
 
 func (m *GetValueRequest) XXX_Unmarshal(b []byte) error {
@@ -3127,6 +3657,10 @@
 	OnuActiveAlarms *GetOnuOmciActiveAlarmsRequest `protobuf:"bytes,12,opt,name=onuActiveAlarms,proto3,oneof"`
 }
 
+type GetValueRequest_OffloadedAppsStats struct {
+	OffloadedAppsStats *GetOffloadedAppsStatisticsRequest `protobuf:"bytes,13,opt,name=offloadedAppsStats,proto3,oneof"`
+}
+
 func (*GetValueRequest_Distance) isGetValueRequest_Request() {}
 
 func (*GetValueRequest_UniInfo) isGetValueRequest_Request() {}
@@ -3151,6 +3685,8 @@
 
 func (*GetValueRequest_OnuActiveAlarms) isGetValueRequest_Request() {}
 
+func (*GetValueRequest_OffloadedAppsStats) isGetValueRequest_Request() {}
+
 func (m *GetValueRequest) GetRequest() isGetValueRequest_Request {
 	if m != nil {
 		return m.Request
@@ -3242,6 +3778,13 @@
 	return nil
 }
 
+func (m *GetValueRequest) GetOffloadedAppsStats() *GetOffloadedAppsStatisticsRequest {
+	if x, ok := m.GetRequest().(*GetValueRequest_OffloadedAppsStats); ok {
+		return x.OffloadedAppsStats
+	}
+	return nil
+}
+
 // XXX_OneofWrappers is for the internal use of the proto package.
 func (*GetValueRequest) XXX_OneofWrappers() []interface{} {
 	return []interface{}{
@@ -3257,6 +3800,7 @@
 		(*GetValueRequest_OnuOmciStats)(nil),
 		(*GetValueRequest_OltRxPower)(nil),
 		(*GetValueRequest_OnuActiveAlarms)(nil),
+		(*GetValueRequest_OffloadedAppsStats)(nil),
 	}
 }
 
@@ -3276,6 +3820,7 @@
 	//	*GetValueResponse_OnuOmciStats
 	//	*GetValueResponse_OltRxPower
 	//	*GetValueResponse_OnuActiveAlarms
+	//	*GetValueResponse_OffloadedAppsStats
 	Response             isGetValueResponse_Response `protobuf_oneof:"response"`
 	XXX_NoUnkeyedLiteral struct{}                    `json:"-"`
 	XXX_unrecognized     []byte                      `json:"-"`
@@ -3286,7 +3831,7 @@
 func (m *GetValueResponse) String() string { return proto.CompactTextString(m) }
 func (*GetValueResponse) ProtoMessage()    {}
 func (*GetValueResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{32}
+	return fileDescriptor_7ecf6e9799a9202d, []int{34}
 }
 
 func (m *GetValueResponse) XXX_Unmarshal(b []byte) error {
@@ -3373,6 +3918,10 @@
 	OnuActiveAlarms *GetOnuOmciActiveAlarmsResponse `protobuf:"bytes,14,opt,name=onuActiveAlarms,proto3,oneof"`
 }
 
+type GetValueResponse_OffloadedAppsStats struct {
+	OffloadedAppsStats *GetOffloadedAppsStatisticsResponse `protobuf:"bytes,15,opt,name=offloadedAppsStats,proto3,oneof"`
+}
+
 func (*GetValueResponse_Distance) isGetValueResponse_Response() {}
 
 func (*GetValueResponse_UniInfo) isGetValueResponse_Response() {}
@@ -3397,6 +3946,8 @@
 
 func (*GetValueResponse_OnuActiveAlarms) isGetValueResponse_Response() {}
 
+func (*GetValueResponse_OffloadedAppsStats) isGetValueResponse_Response() {}
+
 func (m *GetValueResponse) GetResponse() isGetValueResponse_Response {
 	if m != nil {
 		return m.Response
@@ -3488,6 +4039,13 @@
 	return nil
 }
 
+func (m *GetValueResponse) GetOffloadedAppsStats() *GetOffloadedAppsStatisticsResponse {
+	if x, ok := m.GetResponse().(*GetValueResponse_OffloadedAppsStats); ok {
+		return x.OffloadedAppsStats
+	}
+	return nil
+}
+
 // XXX_OneofWrappers is for the internal use of the proto package.
 func (*GetValueResponse) XXX_OneofWrappers() []interface{} {
 	return []interface{}{
@@ -3503,12 +4061,186 @@
 		(*GetValueResponse_OnuOmciStats)(nil),
 		(*GetValueResponse_OltRxPower)(nil),
 		(*GetValueResponse_OnuActiveAlarms)(nil),
+		(*GetValueResponse_OffloadedAppsStats)(nil),
 	}
 }
 
+// AppOffloadConfig is the configuration for offloading applications to the OLT and has OLT wide configuration.
+type AppOffloadConfig struct {
+	EnableDHCPv4RA bool `protobuf:"varint,1,opt,name=enableDHCPv4RA,proto3" json:"enableDHCPv4RA,omitempty"`
+	EnableDHCPv6RA bool `protobuf:"varint,2,opt,name=enableDHCPv6RA,proto3" json:"enableDHCPv6RA,omitempty"`
+	EnablePPPoEIA  bool `protobuf:"varint,3,opt,name=enablePPPoEIA,proto3" json:"enablePPPoEIA,omitempty"`
+	// Follows the same as the BBF Access Node Id defined in https://github.com/BroadbandForum/yang/blob/master/standard/networking/bbf-subscriber-profiles.yang
+	AccessNodeID         string   `protobuf:"bytes,4,opt,name=accessNodeID,proto3" json:"accessNodeID,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *AppOffloadConfig) Reset()         { *m = AppOffloadConfig{} }
+func (m *AppOffloadConfig) String() string { return proto.CompactTextString(m) }
+func (*AppOffloadConfig) ProtoMessage()    {}
+func (*AppOffloadConfig) Descriptor() ([]byte, []int) {
+	return fileDescriptor_7ecf6e9799a9202d, []int{35}
+}
+
+func (m *AppOffloadConfig) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_AppOffloadConfig.Unmarshal(m, b)
+}
+func (m *AppOffloadConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_AppOffloadConfig.Marshal(b, m, deterministic)
+}
+func (m *AppOffloadConfig) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_AppOffloadConfig.Merge(m, src)
+}
+func (m *AppOffloadConfig) XXX_Size() int {
+	return xxx_messageInfo_AppOffloadConfig.Size(m)
+}
+func (m *AppOffloadConfig) XXX_DiscardUnknown() {
+	xxx_messageInfo_AppOffloadConfig.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AppOffloadConfig proto.InternalMessageInfo
+
+func (m *AppOffloadConfig) GetEnableDHCPv4RA() bool {
+	if m != nil {
+		return m.EnableDHCPv4RA
+	}
+	return false
+}
+
+func (m *AppOffloadConfig) GetEnableDHCPv6RA() bool {
+	if m != nil {
+		return m.EnableDHCPv6RA
+	}
+	return false
+}
+
+func (m *AppOffloadConfig) GetEnablePPPoEIA() bool {
+	if m != nil {
+		return m.EnablePPPoEIA
+	}
+	return false
+}
+
+func (m *AppOffloadConfig) GetAccessNodeID() string {
+	if m != nil {
+		return m.AccessNodeID
+	}
+	return ""
+}
+
+// AppOffloadOnuConfig has Onu specfic configuration which the OLT runs applications which have been offloaded.
+type AppOffloadOnuConfig struct {
+	OnuDeviceId          string                              `protobuf:"bytes,1,opt,name=onuDeviceId,proto3" json:"onuDeviceId,omitempty"`
+	PerUniInfo           []*AppOffloadOnuConfig_PerUniConfig `protobuf:"bytes,5,rep,name=perUniInfo,proto3" json:"perUniInfo,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}                            `json:"-"`
+	XXX_unrecognized     []byte                              `json:"-"`
+	XXX_sizecache        int32                               `json:"-"`
+}
+
+func (m *AppOffloadOnuConfig) Reset()         { *m = AppOffloadOnuConfig{} }
+func (m *AppOffloadOnuConfig) String() string { return proto.CompactTextString(m) }
+func (*AppOffloadOnuConfig) ProtoMessage()    {}
+func (*AppOffloadOnuConfig) Descriptor() ([]byte, []int) {
+	return fileDescriptor_7ecf6e9799a9202d, []int{36}
+}
+
+func (m *AppOffloadOnuConfig) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_AppOffloadOnuConfig.Unmarshal(m, b)
+}
+func (m *AppOffloadOnuConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_AppOffloadOnuConfig.Marshal(b, m, deterministic)
+}
+func (m *AppOffloadOnuConfig) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_AppOffloadOnuConfig.Merge(m, src)
+}
+func (m *AppOffloadOnuConfig) XXX_Size() int {
+	return xxx_messageInfo_AppOffloadOnuConfig.Size(m)
+}
+func (m *AppOffloadOnuConfig) XXX_DiscardUnknown() {
+	xxx_messageInfo_AppOffloadOnuConfig.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AppOffloadOnuConfig proto.InternalMessageInfo
+
+func (m *AppOffloadOnuConfig) GetOnuDeviceId() string {
+	if m != nil {
+		return m.OnuDeviceId
+	}
+	return ""
+}
+
+func (m *AppOffloadOnuConfig) GetPerUniInfo() []*AppOffloadOnuConfig_PerUniConfig {
+	if m != nil {
+		return m.PerUniInfo
+	}
+	return nil
+}
+
+type AppOffloadOnuConfig_PerUniConfig struct {
+	// As per the BBF Agent Remote Id defined in https://github.com/BroadbandForum/yang/blob/master/standard/networking/bbf-pppoe-intermediate-agent-profile-common.yang
+	AgentRemoteID string `protobuf:"bytes,2,opt,name=agentRemoteID,proto3" json:"agentRemoteID,omitempty"`
+	// As per the BBF Agent Circuit Id defined in https://github.com/BroadbandForum/yang/blob/master/standard/networking/bbf-pppoe-intermediate-agent-profile-common.yang
+	AgentCircuitID string `protobuf:"bytes,3,opt,name=agentCircuitID,proto3" json:"agentCircuitID,omitempty"`
+	// The id of the UNI on the Onu for which this configuration is relevant. The UNI ids are numbered from 0 to n depending on the number of UNI ports on the ONU.
+	OnuUniId             uint32   `protobuf:"varint,4,opt,name=onuUniId,proto3" json:"onuUniId,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *AppOffloadOnuConfig_PerUniConfig) Reset()         { *m = AppOffloadOnuConfig_PerUniConfig{} }
+func (m *AppOffloadOnuConfig_PerUniConfig) String() string { return proto.CompactTextString(m) }
+func (*AppOffloadOnuConfig_PerUniConfig) ProtoMessage()    {}
+func (*AppOffloadOnuConfig_PerUniConfig) Descriptor() ([]byte, []int) {
+	return fileDescriptor_7ecf6e9799a9202d, []int{36, 0}
+}
+
+func (m *AppOffloadOnuConfig_PerUniConfig) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_AppOffloadOnuConfig_PerUniConfig.Unmarshal(m, b)
+}
+func (m *AppOffloadOnuConfig_PerUniConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_AppOffloadOnuConfig_PerUniConfig.Marshal(b, m, deterministic)
+}
+func (m *AppOffloadOnuConfig_PerUniConfig) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_AppOffloadOnuConfig_PerUniConfig.Merge(m, src)
+}
+func (m *AppOffloadOnuConfig_PerUniConfig) XXX_Size() int {
+	return xxx_messageInfo_AppOffloadOnuConfig_PerUniConfig.Size(m)
+}
+func (m *AppOffloadOnuConfig_PerUniConfig) XXX_DiscardUnknown() {
+	xxx_messageInfo_AppOffloadOnuConfig_PerUniConfig.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AppOffloadOnuConfig_PerUniConfig proto.InternalMessageInfo
+
+func (m *AppOffloadOnuConfig_PerUniConfig) GetAgentRemoteID() string {
+	if m != nil {
+		return m.AgentRemoteID
+	}
+	return ""
+}
+
+func (m *AppOffloadOnuConfig_PerUniConfig) GetAgentCircuitID() string {
+	if m != nil {
+		return m.AgentCircuitID
+	}
+	return ""
+}
+
+func (m *AppOffloadOnuConfig_PerUniConfig) GetOnuUniId() uint32 {
+	if m != nil {
+		return m.OnuUniId
+	}
+	return 0
+}
+
 type SetValueRequest struct {
 	// Types that are valid to be assigned to Request:
 	//	*SetValueRequest_AlarmConfig
+	//	*SetValueRequest_AppOffloadConfig
+	//	*SetValueRequest_AppOffloadOnuConfig
 	Request              isSetValueRequest_Request `protobuf_oneof:"request"`
 	XXX_NoUnkeyedLiteral struct{}                  `json:"-"`
 	XXX_unrecognized     []byte                    `json:"-"`
@@ -3519,7 +4251,7 @@
 func (m *SetValueRequest) String() string { return proto.CompactTextString(m) }
 func (*SetValueRequest) ProtoMessage()    {}
 func (*SetValueRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{33}
+	return fileDescriptor_7ecf6e9799a9202d, []int{37}
 }
 
 func (m *SetValueRequest) XXX_Unmarshal(b []byte) error {
@@ -3548,8 +4280,20 @@
 	AlarmConfig *config.AlarmConfig `protobuf:"bytes,1,opt,name=alarm_config,json=alarmConfig,proto3,oneof"`
 }
 
+type SetValueRequest_AppOffloadConfig struct {
+	AppOffloadConfig *AppOffloadConfig `protobuf:"bytes,2,opt,name=app_offload_config,json=appOffloadConfig,proto3,oneof"`
+}
+
+type SetValueRequest_AppOffloadOnuConfig struct {
+	AppOffloadOnuConfig *AppOffloadOnuConfig `protobuf:"bytes,3,opt,name=app_offload_onu_config,json=appOffloadOnuConfig,proto3,oneof"`
+}
+
 func (*SetValueRequest_AlarmConfig) isSetValueRequest_Request() {}
 
+func (*SetValueRequest_AppOffloadConfig) isSetValueRequest_Request() {}
+
+func (*SetValueRequest_AppOffloadOnuConfig) isSetValueRequest_Request() {}
+
 func (m *SetValueRequest) GetRequest() isSetValueRequest_Request {
 	if m != nil {
 		return m.Request
@@ -3564,10 +4308,26 @@
 	return nil
 }
 
+func (m *SetValueRequest) GetAppOffloadConfig() *AppOffloadConfig {
+	if x, ok := m.GetRequest().(*SetValueRequest_AppOffloadConfig); ok {
+		return x.AppOffloadConfig
+	}
+	return nil
+}
+
+func (m *SetValueRequest) GetAppOffloadOnuConfig() *AppOffloadOnuConfig {
+	if x, ok := m.GetRequest().(*SetValueRequest_AppOffloadOnuConfig); ok {
+		return x.AppOffloadOnuConfig
+	}
+	return nil
+}
+
 // XXX_OneofWrappers is for the internal use of the proto package.
 func (*SetValueRequest) XXX_OneofWrappers() []interface{} {
 	return []interface{}{
 		(*SetValueRequest_AlarmConfig)(nil),
+		(*SetValueRequest_AppOffloadConfig)(nil),
+		(*SetValueRequest_AppOffloadOnuConfig)(nil),
 	}
 }
 
@@ -3583,7 +4343,7 @@
 func (m *SetValueResponse) String() string { return proto.CompactTextString(m) }
 func (*SetValueResponse) ProtoMessage()    {}
 func (*SetValueResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{34}
+	return fileDescriptor_7ecf6e9799a9202d, []int{38}
 }
 
 func (m *SetValueResponse) XXX_Unmarshal(b []byte) error {
@@ -3630,7 +4390,7 @@
 func (m *SingleGetValueRequest) String() string { return proto.CompactTextString(m) }
 func (*SingleGetValueRequest) ProtoMessage()    {}
 func (*SingleGetValueRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{35}
+	return fileDescriptor_7ecf6e9799a9202d, []int{39}
 }
 
 func (m *SingleGetValueRequest) XXX_Unmarshal(b []byte) error {
@@ -3676,7 +4436,7 @@
 func (m *SingleGetValueResponse) String() string { return proto.CompactTextString(m) }
 func (*SingleGetValueResponse) ProtoMessage()    {}
 func (*SingleGetValueResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{36}
+	return fileDescriptor_7ecf6e9799a9202d, []int{40}
 }
 
 func (m *SingleGetValueResponse) XXX_Unmarshal(b []byte) error {
@@ -3716,7 +4476,7 @@
 func (m *SingleSetValueRequest) String() string { return proto.CompactTextString(m) }
 func (*SingleSetValueRequest) ProtoMessage()    {}
 func (*SingleSetValueRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{37}
+	return fileDescriptor_7ecf6e9799a9202d, []int{41}
 }
 
 func (m *SingleSetValueRequest) XXX_Unmarshal(b []byte) error {
@@ -3762,7 +4522,7 @@
 func (m *SingleSetValueResponse) String() string { return proto.CompactTextString(m) }
 func (*SingleSetValueResponse) ProtoMessage()    {}
 func (*SingleSetValueResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_7ecf6e9799a9202d, []int{38}
+	return fileDescriptor_7ecf6e9799a9202d, []int{42}
 }
 
 func (m *SingleSetValueResponse) XXX_Unmarshal(b []byte) error {
@@ -3798,6 +4558,7 @@
 	proto.RegisterEnum("extension.GetOltPortCounters_PortType", GetOltPortCounters_PortType_name, GetOltPortCounters_PortType_value)
 	proto.RegisterEnum("extension.GetOnuEthernetBridgePortHistory_Direction", GetOnuEthernetBridgePortHistory_Direction_name, GetOnuEthernetBridgePortHistory_Direction_value)
 	proto.RegisterEnum("extension.GetOmciEthernetFrameExtendedPmResponse_Format", GetOmciEthernetFrameExtendedPmResponse_Format_name, GetOmciEthernetFrameExtendedPmResponse_Format_value)
+	proto.RegisterEnum("extension.GetOffloadedAppsStatisticsRequest_OffloadedApp", GetOffloadedAppsStatisticsRequest_OffloadedApp_name, GetOffloadedAppsStatisticsRequest_OffloadedApp_value)
 	proto.RegisterEnum("extension.GetValueResponse_Status", GetValueResponse_Status_name, GetValueResponse_Status_value)
 	proto.RegisterEnum("extension.GetValueResponse_ErrorReason", GetValueResponse_ErrorReason_name, GetValueResponse_ErrorReason_value)
 	proto.RegisterEnum("extension.SetValueResponse_Status", SetValueResponse_Status_name, SetValueResponse_Status_value)
@@ -3833,8 +4594,19 @@
 	proto.RegisterType((*GetOnuOmciActiveAlarmsRequest)(nil), "extension.GetOnuOmciActiveAlarmsRequest")
 	proto.RegisterType((*AlarmData)(nil), "extension.AlarmData")
 	proto.RegisterType((*GetOnuOmciActiveAlarmsResponse)(nil), "extension.GetOnuOmciActiveAlarmsResponse")
+	proto.RegisterType((*GetOffloadedAppsStatisticsRequest)(nil), "extension.GetOffloadedAppsStatisticsRequest")
+	proto.RegisterType((*GetOffloadedAppsStatisticsResponse)(nil), "extension.GetOffloadedAppsStatisticsResponse")
+	proto.RegisterType((*GetOffloadedAppsStatisticsResponse_DHCPv4RAStats)(nil), "extension.GetOffloadedAppsStatisticsResponse.DHCPv4RAStats")
+	proto.RegisterMapType((map[string]string)(nil), "extension.GetOffloadedAppsStatisticsResponse.DHCPv4RAStats.AdditionalStatsEntry")
+	proto.RegisterType((*GetOffloadedAppsStatisticsResponse_DHCPv6RAStats)(nil), "extension.GetOffloadedAppsStatisticsResponse.DHCPv6RAStats")
+	proto.RegisterMapType((map[string]string)(nil), "extension.GetOffloadedAppsStatisticsResponse.DHCPv6RAStats.AdditionalStatsEntry")
+	proto.RegisterType((*GetOffloadedAppsStatisticsResponse_PPPoeIAStats)(nil), "extension.GetOffloadedAppsStatisticsResponse.PPPoeIAStats")
+	proto.RegisterMapType((map[string]string)(nil), "extension.GetOffloadedAppsStatisticsResponse.PPPoeIAStats.AdditionalStatsEntry")
 	proto.RegisterType((*GetValueRequest)(nil), "extension.GetValueRequest")
 	proto.RegisterType((*GetValueResponse)(nil), "extension.GetValueResponse")
+	proto.RegisterType((*AppOffloadConfig)(nil), "extension.AppOffloadConfig")
+	proto.RegisterType((*AppOffloadOnuConfig)(nil), "extension.AppOffloadOnuConfig")
+	proto.RegisterType((*AppOffloadOnuConfig_PerUniConfig)(nil), "extension.AppOffloadOnuConfig.PerUniConfig")
 	proto.RegisterType((*SetValueRequest)(nil), "extension.SetValueRequest")
 	proto.RegisterType((*SetValueResponse)(nil), "extension.SetValueResponse")
 	proto.RegisterType((*SingleGetValueRequest)(nil), "extension.SingleGetValueRequest")
@@ -3846,239 +4618,294 @@
 func init() { proto.RegisterFile("voltha_protos/extensions.proto", fileDescriptor_7ecf6e9799a9202d) }
 
 var fileDescriptor_7ecf6e9799a9202d = []byte{
-	// 3710 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x5a, 0xcd, 0x73, 0xdb, 0xc8,
-	0x72, 0x17, 0x29, 0x89, 0x22, 0x9b, 0xa2, 0x44, 0x8d, 0x3e, 0x4c, 0x4b, 0xfe, 0x5a, 0xbc, 0x5a,
-	0xdb, 0xfb, 0xca, 0x4b, 0x9b, 0x5c, 0xc9, 0xab, 0xb7, 0xef, 0xa5, 0xea, 0x91, 0x22, 0x25, 0x32,
-	0x96, 0x49, 0xed, 0x90, 0xf4, 0xee, 0x26, 0x95, 0x42, 0x41, 0xc4, 0x48, 0x46, 0x99, 0x04, 0x18,
-	0x60, 0xe8, 0xa5, 0x53, 0x95, 0x5b, 0x6e, 0x49, 0x4e, 0xef, 0x92, 0x7f, 0x22, 0x95, 0x43, 0x0e,
-	0xb9, 0xe7, 0x9c, 0x7f, 0x22, 0x55, 0xb9, 0xe4, 0x98, 0x54, 0xce, 0xa9, 0xd4, 0x7c, 0x01, 0x03,
-	0x90, 0x92, 0xed, 0xcd, 0xbb, 0xd8, 0x9a, 0xee, 0x5f, 0xff, 0xa6, 0x31, 0xd3, 0xdd, 0xd3, 0x18,
-	0x10, 0x1e, 0xbc, 0xf7, 0x46, 0xf4, 0xad, 0x65, 0x4e, 0x7c, 0x8f, 0x7a, 0xc1, 0x73, 0x32, 0xa3,
-	0xc4, 0x0d, 0x1c, 0xcf, 0x0d, 0xca, 0x5c, 0x82, 0x72, 0xa1, 0x64, 0x7f, 0x1e, 0x6a, 0x0e, 0x3d,
-	0xf7, 0xca, 0xb9, 0x16, 0xd0, 0xfd, 0x83, 0x6b, 0xcf, 0xbb, 0x1e, 0x91, 0xe7, 0x7c, 0x74, 0x39,
-	0xbd, 0x7a, 0x4e, 0xc6, 0x13, 0xfa, 0x41, 0x28, 0x8d, 0xbf, 0x80, 0xec, 0x1b, 0x6b, 0x34, 0x25,
-	0x3d, 0x42, 0xd1, 0x06, 0xa4, 0x1d, 0xbb, 0x94, 0x7a, 0x94, 0x7a, 0x9a, 0xc3, 0x69, 0xc7, 0x46,
-	0xc7, 0xb0, 0x6e, 0x8d, 0x2c, 0x7f, 0x2c, 0xe9, 0x4a, 0xe9, 0x47, 0xa9, 0xa7, 0xf9, 0xea, 0x76,
-	0x59, 0xb2, 0xd7, 0x98, 0xee, 0x84, 0xff, 0xdd, 0x5a, 0xc2, 0x79, 0x2b, 0x1a, 0xd6, 0xd7, 0x60,
-	0xf5, 0x3d, 0x63, 0x35, 0x9e, 0x41, 0x8e, 0xd3, 0xf7, 0x3f, 0x4c, 0x88, 0xf1, 0x10, 0x56, 0xd8,
-	0xff, 0x28, 0x07, 0xab, 0xcd, 0xd7, 0x17, 0xfd, 0x9f, 0x8a, 0x4b, 0x68, 0x1d, 0xb2, 0x8d, 0x76,
-	0xaf, 0x5f, 0xeb, 0x9c, 0x34, 0x8b, 0x29, 0xe3, 0x7b, 0xd8, 0x10, 0xce, 0x4c, 0xc8, 0xd0, 0xb9,
-	0x72, 0x88, 0x3f, 0xe7, 0xd2, 0x73, 0x49, 0xcc, 0x7d, 0xd9, 0xa8, 0xde, 0x2d, 0x87, 0xcb, 0x50,
-	0x0e, 0xe7, 0x29, 0xb3, 0x7f, 0xb0, 0x74, 0x80, 0xc2, 0x3a, 0x26, 0x74, 0xea, 0xbb, 0x5c, 0x1d,
-	0xa0, 0x22, 0x2c, 0xf7, 0x08, 0xe5, 0x8c, 0x05, 0xcc, 0xfe, 0x44, 0x8f, 0x20, 0x3f, 0x70, 0x83,
-	0xe9, 0x64, 0xe2, 0xf9, 0x94, 0xd8, 0x9c, 0xb8, 0x80, 0x75, 0x11, 0xda, 0x81, 0xd5, 0xa6, 0xef,
-	0x7b, 0x7e, 0x69, 0x99, 0xeb, 0xc4, 0x00, 0xed, 0x43, 0xb6, 0xe1, 0x04, 0xd4, 0x72, 0x87, 0xa4,
-	0xb4, 0xc2, 0x15, 0xe1, 0xd8, 0x78, 0x09, 0xe8, 0x8c, 0x50, 0x35, 0xc4, 0xe4, 0x2f, 0xa7, 0x24,
-	0xe0, 0x33, 0x79, 0xee, 0xb4, 0x41, 0xde, 0x3b, 0x43, 0xd2, 0x56, 0x4f, 0xa5, 0x8b, 0x8c, 0x0a,
-	0x6c, 0xc7, 0xec, 0x82, 0x89, 0xe7, 0x06, 0x84, 0x4d, 0x65, 0xab, 0xa9, 0x84, 0xe7, 0xe1, 0xd8,
-	0xa8, 0xc2, 0xce, 0x19, 0xa1, 0x5d, 0x77, 0x3a, 0x70, 0x9d, 0xb6, 0x7b, 0xe5, 0xa9, 0xc9, 0xf6,
-	0x21, 0x3b, 0x65, 0x12, 0x9b, 0xcc, 0x94, 0x8d, 0x1a, 0x1b, 0xff, 0xbe, 0x02, 0xbb, 0x09, 0x23,
-	0x39, 0xd3, 0x05, 0x64, 0x2d, 0x7b, 0xdc, 0xa3, 0x16, 0x15, 0x33, 0x6d, 0x54, 0x0f, 0xb5, 0x25,
-	0x5e, 0x68, 0x53, 0xae, 0xd9, 0x63, 0xc7, 0x75, 0x02, 0xea, 0x5b, 0xd4, 0x79, 0x4f, 0xb8, 0x2d,
-	0x0e, 0x59, 0x50, 0x17, 0x72, 0xde, 0x84, 0xf8, 0x82, 0x52, 0xec, 0x5a, 0xe5, 0xa3, 0x94, 0xdd,
-	0x09, 0x61, 0x6c, 0x9e, 0x6b, 0x8d, 0x04, 0x5f, 0xc4, 0xc1, 0x08, 0x45, 0x00, 0xb6, 0x5d, 0x9b,
-	0xef, 0xc8, 0xa7, 0x10, 0x8a, 0xb8, 0x9c, 0x0a, 0xd2, 0xb6, 0x6b, 0xe3, 0x88, 0xc3, 0xf8, 0xd7,
-	0x14, 0x14, 0x93, 0x7a, 0x04, 0x90, 0x19, 0x74, 0x5e, 0x75, 0x7f, 0xe8, 0x14, 0x97, 0x10, 0x82,
-	0x8d, 0x7e, 0xb3, 0x63, 0xd6, 0x6b, 0xbd, 0xa6, 0xd9, 0x37, 0x4f, 0x1b, 0x3f, 0x16, 0x53, 0x68,
-	0x0f, 0x50, 0x6b, 0xd0, 0x69, 0xe0, 0x66, 0x43, 0x97, 0xa7, 0x51, 0x09, 0x76, 0xce, 0xda, 0x67,
-	0xb5, 0x7a, 0xbb, 0x6f, 0x36, 0xfb, 0xad, 0x26, 0xee, 0x34, 0x85, 0x66, 0x99, 0x59, 0x30, 0x96,
-	0xb3, 0xb8, 0x7c, 0x25, 0xc1, 0xde, 0x6a, 0xfc, 0x58, 0x5c, 0x5d, 0xc0, 0xce, 0xe4, 0x99, 0x85,
-	0xec, 0x4c, 0xb3, 0x66, 0x9c, 0xc1, 0xf6, 0x82, 0x7d, 0x60, 0x44, 0xb5, 0xc6, 0xeb, 0x5e, 0xbf,
-	0xd6, 0x6f, 0x9a, 0x83, 0x4e, 0xa3, 0x79, 0xda, 0xee, 0x34, 0x1b, 0xc5, 0x25, 0xf6, 0x78, 0xe7,
-	0xdd, 0x93, 0x57, 0xcd, 0x46, 0x31, 0xc5, 0x72, 0x70, 0xd0, 0x91, 0xa3, 0xb4, 0x71, 0x0a, 0xc5,
-	0xe4, 0xea, 0xa3, 0x3b, 0xb0, 0xdd, 0xbd, 0x68, 0xe2, 0x79, 0x9a, 0x3c, 0xac, 0x35, 0x3b, 0xb5,
-	0xfa, 0xb9, 0xe2, 0x69, 0xb4, 0x7b, 0x62, 0x94, 0x36, 0xfe, 0x25, 0xc5, 0x73, 0xa0, 0x3b, 0xa2,
-	0x17, 0x9e, 0x4f, 0x4f, 0xbc, 0xa9, 0x4b, 0x89, 0x1f, 0xa0, 0x3d, 0xc8, 0xb0, 0xac, 0xea, 0x78,
-	0x32, 0x28, 0xe5, 0x08, 0xd5, 0x21, 0xcb, 0xfe, 0x62, 0xa9, 0x2b, 0xa3, 0xe4, 0x71, 0x62, 0x53,
-	0xe3, 0x44, 0xe5, 0x0b, 0x89, 0xc6, 0xa1, 0x9d, 0xd1, 0x84, 0xac, 0x92, 0xa2, 0x22, 0xac, 0xb3,
-	0xbf, 0xcd, 0x41, 0xe7, 0x55, 0x47, 0xec, 0xe2, 0x2e, 0x6c, 0x71, 0x49, 0xb8, 0x70, 0x9d, 0x4e,
-	0xbb, 0x98, 0x0a, 0x81, 0x17, 0xdd, 0x8e, 0xd9, 0x3d, 0xef, 0x17, 0xd3, 0xc6, 0xbf, 0x2d, 0xc3,
-	0xfe, 0xfc, 0x84, 0x61, 0x8a, 0x94, 0x60, 0x8d, 0xce, 0xea, 0x1f, 0x28, 0x09, 0xf8, 0x23, 0xac,
-	0x60, 0x35, 0x64, 0x1a, 0x5f, 0x6a, 0xd2, 0x42, 0x23, 0x87, 0xe8, 0x1e, 0xe4, 0xe8, 0xec, 0xc2,
-	0x1a, 0xbe, 0x23, 0x34, 0xe0, 0x31, 0xbb, 0x82, 0x23, 0x01, 0xd3, 0xfa, 0xa1, 0x76, 0x45, 0x68,
-	0x43, 0x01, 0x7a, 0x0c, 0x1b, 0x74, 0xc6, 0x4b, 0x8e, 0x82, 0xac, 0x72, 0x48, 0x42, 0xca, 0x70,
-	0x7e, 0x1c, 0x97, 0x11, 0x38, 0x7f, 0x0e, 0x47, 0x67, 0xf5, 0xa1, 0x15, 0x50, 0x85, 0x5b, 0x53,
-	0x7c, 0xba, 0x54, 0xf0, 0xc5, 0x70, 0x59, 0xc5, 0x97, 0xc4, 0xd1, 0xd9, 0x40, 0xc7, 0xe5, 0x14,
-	0xdf, 0x60, 0x8e, 0x2f, 0x86, 0x03, 0xc5, 0x37, 0x98, 0xe3, 0x7b, 0xad, 0xe3, 0xf2, 0x8a, 0xef,
-	0xf5, 0x1c, 0x5f, 0x0c, 0xb7, 0xae, 0xf8, 0x74, 0xa9, 0xd1, 0x50, 0x05, 0xf2, 0xc2, 0x73, 0xbb,
-	0x13, 0xea, 0x0c, 0xad, 0x11, 0x2b, 0x0d, 0xe8, 0x19, 0xac, 0xf2, 0x83, 0x90, 0xef, 0x62, 0xbe,
-	0xba, 0x57, 0x16, 0xc7, 0x64, 0x59, 0x1d, 0x93, 0xe5, 0x26, 0xd3, 0x62, 0x01, 0x32, 0xfe, 0x26,
-	0x0d, 0xf7, 0x16, 0xd1, 0x84, 0x61, 0xf1, 0x6b, 0x28, 0x4e, 0xbc, 0x9f, 0x89, 0x7f, 0x4a, 0x88,
-	0xfd, 0xc6, 0x1b, 0x51, 0xeb, 0x5a, 0x54, 0xd0, 0x34, 0x9e, 0x93, 0xa3, 0x2a, 0xec, 0xf8, 0x64,
-	0x48, 0x9c, 0xf7, 0xc4, 0x96, 0x54, 0x17, 0x0c, 0xc2, 0xa3, 0x26, 0x8d, 0x17, 0xea, 0xd0, 0x4b,
-	0xd8, 0x1b, 0x13, 0x4b, 0x4d, 0x7d, 0x6e, 0x4d, 0xdd, 0xe1, 0x5b, 0x61, 0xb5, 0xcc, 0xad, 0x6e,
-	0xd0, 0x32, 0xbf, 0x46, 0x56, 0x40, 0xfc, 0xba, 0x63, 0x05, 0x27, 0x53, 0xdf, 0x27, 0x2e, 0xe5,
-	0x31, 0x96, 0xc6, 0x73, 0x72, 0x76, 0x40, 0x51, 0x32, 0xe6, 0xd9, 0x3f, 0xf5, 0x09, 0x8f, 0xb3,
-	0x34, 0xd6, 0x45, 0xc6, 0x3f, 0xa5, 0xe0, 0xa1, 0x58, 0x86, 0x26, 0x7d, 0x4b, 0x7c, 0x97, 0xd0,
-	0xba, 0xef, 0xd8, 0xd7, 0x84, 0x65, 0x4a, 0xcb, 0x09, 0xa8, 0xe7, 0x7f, 0x40, 0x18, 0x72, 0xb6,
-	0xe3, 0x93, 0x21, 0xab, 0x20, 0x37, 0x1e, 0x22, 0x37, 0x9a, 0x97, 0x1b, 0xca, 0x16, 0x47, 0x34,
-	0xc6, 0x31, 0xe4, 0x42, 0x39, 0x2a, 0x40, 0x4e, 0x2f, 0x42, 0xac, 0x7e, 0x5d, 0xf4, 0xfa, 0xb8,
-	0x59, 0x7b, 0x5d, 0x4c, 0xa1, 0x0d, 0x80, 0x46, 0xf7, 0x87, 0x8e, 0x1c, 0xa7, 0x8d, 0x3f, 0xac,
-	0xc2, 0x93, 0x8f, 0x4c, 0x19, 0xee, 0xe1, 0x03, 0x00, 0xdb, 0xf7, 0x26, 0xcd, 0xf7, 0xc4, 0xa5,
-	0x81, 0x2c, 0x50, 0x9a, 0x84, 0x15, 0x2f, 0x6f, 0x48, 0x59, 0xa8, 0x89, 0x2e, 0x41, 0x8e, 0x58,
-	0xe2, 0x4f, 0xb4, 0xe4, 0x2e, 0x60, 0x35, 0x64, 0xab, 0x7f, 0xe9, 0x7b, 0x96, 0xad, 0x87, 0xa9,
-	0x68, 0x16, 0xe6, 0xe4, 0x0c, 0x3b, 0x9e, 0x8e, 0xd8, 0x06, 0x46, 0xd8, 0x55, 0x81, 0x4d, 0xca,
-	0xd1, 0x33, 0xd8, 0x1a, 0xfa, 0x43, 0x9e, 0xd7, 0xc4, 0xd6, 0xf3, 0xbd, 0x80, 0xe7, 0x15, 0x8c,
-	0x79, 0xea, 0xda, 0xc4, 0x0f, 0x9c, 0xbf, 0x22, 0x7a, 0xd2, 0x17, 0xf0, 0x9c, 0x1c, 0x3d, 0x85,
-	0x4d, 0xef, 0x7d, 0x1c, 0x9a, 0xe5, 0xd0, 0xa4, 0x98, 0x21, 0xe5, 0x63, 0xbe, 0x3c, 0x94, 0xcb,
-	0x92, 0x13, 0xc8, 0x84, 0x98, 0xc5, 0xbb, 0x12, 0x1d, 0xf5, 0xbd, 0x4a, 0xf5, 0x5b, 0x09, 0x07,
-	0x0e, 0x5f, 0xa8, 0x43, 0x87, 0xb0, 0x2b, 0xe5, 0x95, 0xea, 0x71, 0xdf, 0xab, 0x1e, 0x1d, 0x75,
-	0x85, 0x51, 0x9e, 0x1b, 0x2d, 0x56, 0x6a, 0x56, 0xd5, 0xa3, 0x97, 0x7d, 0xef, 0xa8, 0x52, 0x91,
-	0x53, 0xad, 0xc7, 0xac, 0xe2, 0x4a, 0x96, 0x5b, 0x52, 0x71, 0x54, 0xa9, 0xf6, 0xbd, 0xca, 0x8b,
-	0xea, 0x37, 0xd2, 0xac, 0xc0, 0xcd, 0x6e, 0xd0, 0xa2, 0x63, 0xb8, 0xa3, 0xdc, 0x78, 0x51, 0x3d,
-	0xec, 0x7b, 0x95, 0xa3, 0xca, 0xb1, 0x34, 0xdc, 0xe0, 0x86, 0x37, 0xa9, 0x8d, 0xdf, 0x43, 0x51,
-	0x04, 0xe5, 0x29, 0x19, 0xaa, 0xbc, 0xf9, 0xbc, 0x82, 0xf4, 0xdf, 0x29, 0x28, 0x25, 0x29, 0xc2,
-	0x40, 0x7e, 0x0c, 0x1b, 0x43, 0xcf, 0x67, 0xf9, 0x42, 0xec, 0xe8, 0xa8, 0x2a, 0xe0, 0x84, 0x14,
-	0x95, 0x01, 0x85, 0x92, 0x13, 0xcf, 0x26, 0x3f, 0x78, 0xbe, 0xad, 0x82, 0x7b, 0x81, 0x86, 0x25,
-	0xc8, 0x15, 0x19, 0xf6, 0xc8, 0xd0, 0x73, 0x6d, 0x15, 0xeb, 0x9a, 0x84, 0xd7, 0x6e, 0x8f, 0x5a,
-	0xa3, 0x88, 0x4b, 0x04, 0x7b, 0x42, 0xca, 0x16, 0x7c, 0xea, 0x4a, 0x7e, 0xeb, 0x72, 0x44, 0x22,
-	0xbc, 0x08, 0xf8, 0x1b, 0xb4, 0xc6, 0x99, 0xea, 0x5b, 0xa3, 0x53, 0x59, 0x74, 0xbb, 0x77, 0x60,
-	0xcd, 0x71, 0xe9, 0x95, 0x29, 0x5f, 0x16, 0xd6, 0x70, 0x86, 0x0d, 0xdb, 0x36, 0xda, 0x85, 0x8c,
-	0xe7, 0x4e, 0x99, 0x3c, 0xcd, 0xe5, 0xab, 0x9e, 0x3b, 0x6d, 0xdb, 0xc6, 0xdf, 0xa7, 0xe0, 0x4b,
-	0xc6, 0x34, 0x1e, 0x3a, 0xaa, 0x2c, 0x9c, 0xfa, 0xd6, 0x98, 0x34, 0x59, 0x99, 0xb2, 0x89, 0x7d,
-	0x31, 0xfe, 0xe4, 0xa6, 0x1d, 0xdd, 0xd3, 0x3a, 0x6d, 0xbe, 0x74, 0xad, 0xa5, 0xa8, 0xd7, 0x66,
-	0x2f, 0x0f, 0x3e, 0x09, 0x08, 0xe5, 0xab, 0x95, 0xc5, 0x62, 0x50, 0xdf, 0x80, 0x75, 0x27, 0x30,
-	0xa7, 0xae, 0x63, 0x3a, 0xbc, 0x23, 0x3f, 0x81, 0xad, 0x33, 0x42, 0xf1, 0x8c, 0xd7, 0xec, 0x5f,
-	0xfa, 0x50, 0xe7, 0xe2, 0xa4, 0x1b, 0x25, 0x79, 0xee, 0x03, 0xb0, 0x1e, 0xc9, 0x1c, 0x59, 0x97,
-	0x64, 0x24, 0x9f, 0x20, 0xc7, 0x24, 0xe7, 0x4c, 0xa0, 0xd8, 0x02, 0x97, 0xb3, 0xe5, 0x38, 0x5b,
-	0xcf, 0x35, 0xfe, 0x63, 0x1d, 0xf6, 0x92, 0x8b, 0x2d, 0xc3, 0xeb, 0x6e, 0xc2, 0xb1, 0xd6, 0x52,
-	0xe8, 0xda, 0x9d, 0xb8, 0x6b, 0xad, 0x94, 0x74, 0x0e, 0x3d, 0x81, 0x8d, 0x89, 0x17, 0x38, 0xac,
-	0x35, 0x35, 0x6d, 0xdf, 0xb9, 0x12, 0x0b, 0x92, 0x69, 0xa5, 0x71, 0x41, 0xc9, 0x1b, 0x4c, 0xcc,
-	0x80, 0x2e, 0xb9, 0xb6, 0x34, 0xe0, 0x0a, 0x07, 0x2e, 0xe3, 0x82, 0x92, 0x0b, 0xe0, 0x77, 0x50,
-	0xb2, 0xc9, 0xc8, 0x19, 0x3b, 0x94, 0xf8, 0xe6, 0xd8, 0x09, 0x02, 0xd3, 0x26, 0x54, 0x1e, 0x3b,
-	0xab, 0xdc, 0x64, 0x05, 0xef, 0x85, 0x88, 0xd7, 0x4e, 0x10, 0x34, 0x94, 0x1e, 0x3d, 0x04, 0xb8,
-	0x74, 0x26, 0x26, 0x61, 0x75, 0x52, 0x14, 0xce, 0x4c, 0x6b, 0x15, 0xe7, 0x2e, 0x9d, 0x09, 0x2f,
-	0x9d, 0x01, 0xba, 0x0f, 0x6c, 0xc0, 0x76, 0x48, 0xd6, 0xca, 0x4c, 0x2b, 0x83, 0xb3, 0x97, 0xce,
-	0x64, 0xc0, 0x24, 0xac, 0xce, 0x5c, 0x91, 0xa1, 0x19, 0xa6, 0x88, 0x19, 0x7c, 0x18, 0x5f, 0x7a,
-	0x23, 0x51, 0x2b, 0x33, 0xad, 0x35, 0xbc, 0x7d, 0x45, 0x86, 0x27, 0x4a, 0xdb, 0x13, 0x4a, 0x56,
-	0x2f, 0x84, 0x95, 0x4d, 0x7e, 0x66, 0xf1, 0x1c, 0xd9, 0xf3, 0xca, 0x99, 0x69, 0x65, 0xf1, 0x2e,
-	0xb7, 0x93, 0xfa, 0x90, 0x00, 0xfd, 0x1e, 0x0e, 0xe2, 0x96, 0xb1, 0x04, 0xe1, 0x85, 0x34, 0xd3,
-	0xca, 0xe1, 0xbb, 0xba, 0xf5, 0x40, 0x87, 0xa0, 0x2f, 0xa1, 0x10, 0x63, 0xe0, 0x75, 0x34, 0xd3,
-	0x02, 0xbc, 0xae, 0xdb, 0xa0, 0x17, 0xb0, 0x1d, 0x7f, 0x30, 0xb1, 0x02, 0xeb, 0x1c, 0x9c, 0xc7,
-	0x5b, 0xfa, 0x63, 0x89, 0xa5, 0x78, 0x0a, 0x9b, 0xb3, 0x6b, 0x32, 0x36, 0xdf, 0x91, 0x0f, 0x6a,
-	0x3d, 0x0b, 0x1c, 0xbd, 0x8e, 0x0b, 0x4c, 0xf1, 0x8a, 0x7c, 0x88, 0xd6, 0x94, 0x23, 0x47, 0x5e,
-	0x20, 0x0a, 0x64, 0xa6, 0x55, 0xc0, 0x59, 0x26, 0x3a, 0xf7, 0x02, 0x4e, 0xe4, 0xcf, 0xcc, 0xc9,
-	0xc8, 0xb3, 0xc6, 0x81, 0x60, 0x2a, 0x6d, 0x72, 0xd0, 0x06, 0x2e, 0xf8, 0xb3, 0x0b, 0x2e, 0x17,
-	0xaf, 0xde, 0x5f, 0x03, 0x8a, 0x90, 0xae, 0xe7, 0x9a, 0x8e, 0x3d, 0x22, 0xa5, 0x22, 0x07, 0x6f,
-	0xe2, 0x4d, 0x05, 0xee, 0x78, 0x6e, 0xdb, 0x1e, 0xf1, 0x70, 0xf5, 0x67, 0xa6, 0x37, 0x1e, 0x3a,
-	0xa5, 0x2d, 0x8e, 0x29, 0xe2, 0x8c, 0x3f, 0x63, 0xb9, 0xcf, 0x54, 0x54, 0xaa, 0x10, 0x57, 0x6d,
-	0xe1, 0x0c, 0x15, 0xaa, 0xef, 0xe0, 0xae, 0xb4, 0x32, 0x65, 0x15, 0x37, 0x87, 0xfe, 0x50, 0x3a,
-	0xb6, 0xcd, 0xc1, 0x08, 0xef, 0x0a, 0x1e, 0x79, 0x24, 0x9e, 0xc8, 0x93, 0x17, 0x1d, 0x40, 0xd6,
-	0x9f, 0x99, 0x97, 0xbc, 0xf2, 0xee, 0x70, 0xe8, 0x76, 0xf4, 0x32, 0xf0, 0x10, 0x80, 0x79, 0x2f,
-	0x0f, 0xd7, 0x5d, 0xae, 0xde, 0xd1, 0x3b, 0xfe, 0x03, 0xc8, 0x52, 0x65, 0xbd, 0xc7, 0xd5, 0xbb,
-	0xd1, 0x4b, 0xc6, 0x43, 0x00, 0x1a, 0x59, 0xdf, 0xe1, 0xea, 0x3d, 0xfd, 0x6d, 0xe2, 0x57, 0xb0,
-	0x7e, 0x49, 0x7c, 0xd3, 0x27, 0xf2, 0x42, 0xa3, 0xc4, 0x21, 0x77, 0x70, 0xfe, 0x92, 0x55, 0x04,
-	0x79, 0xa5, 0xf1, 0x05, 0xe4, 0x47, 0x43, 0xfb, 0x5a, 0x6d, 0xd8, 0x5d, 0x8e, 0x29, 0x61, 0x60,
-	0x42, 0xb9, 0x5b, 0xcc, 0x4d, 0xdb, 0x51, 0x88, 0x7d, 0x8e, 0xb8, 0x8b, 0x73, 0xbe, 0xed, 0x48,
-	0xc0, 0x03, 0xc8, 0x51, 0x67, 0x4c, 0x02, 0x6a, 0x8d, 0x27, 0xa5, 0x03, 0x9e, 0xed, 0xfb, 0x38,
-	0x12, 0xd5, 0xd7, 0x01, 0x9c, 0xc0, 0x94, 0x85, 0xa2, 0x9e, 0x87, 0x9c, 0x13, 0x98, 0xa2, 0x36,
-	0xd4, 0xb7, 0x61, 0xcb, 0x09, 0xcc, 0x78, 0x3d, 0x90, 0xc2, 0x78, 0xee, 0xd7, 0xef, 0xc3, 0x81,
-	0xc3, 0x12, 0x7b, 0x71, 0x9e, 0xd7, 0x37, 0xa1, 0xe0, 0x04, 0x66, 0x94, 0xca, 0xb2, 0xb0, 0x86,
-	0xa9, 0x5b, 0xdf, 0x87, 0x92, 0x13, 0x98, 0x0b, 0x73, 0xb5, 0x7e, 0x0f, 0xf6, 0x43, 0xdd, 0x5c,
-	0x46, 0xd6, 0x1f, 0xc1, 0x83, 0x39, 0x6d, 0x2c, 0xeb, 0xea, 0x08, 0x8a, 0x49, 0x44, 0xbd, 0x04,
-	0x7b, 0x73, 0xf3, 0x09, 0x4f, 0x76, 0x00, 0x39, 0x81, 0x99, 0x48, 0x15, 0xe9, 0x6f, 0x98, 0x16,
-	0x12, 0x95, 0xc8, 0x83, 0xfa, 0x1d, 0xd8, 0x8d, 0x49, 0x55, 0xcc, 0xcb, 0x35, 0x96, 0x71, 0x2a,
-	0x47, 0x32, 0xa0, 0xeb, 0x0f, 0xe0, 0x5e, 0xa4, 0x9b, 0x8f, 0xe1, 0x7a, 0x01, 0xf2, 0x42, 0xcf,
-	0x23, 0x4d, 0x2e, 0x65, 0x14, 0x99, 0x52, 0x4f, 0xe3, 0xfa, 0x28, 0xf6, 0xea, 0x5b, 0xb0, 0xc9,
-	0x96, 0x5a, 0x8b, 0xb5, 0x7a, 0x11, 0x36, 0x9c, 0xc0, 0xd4, 0x22, 0x4b, 0xb1, 0x86, 0x81, 0x24,
-	0x1f, 0x38, 0x8c, 0x12, 0xe3, 0xef, 0x56, 0xe1, 0xe0, 0x96, 0x63, 0x18, 0x3d, 0x84, 0x3c, 0xeb,
-	0xc0, 0x4d, 0x12, 0x35, 0xe5, 0x99, 0x5b, 0x9a, 0xf2, 0x4c, 0xd8, 0x94, 0xef, 0x41, 0xe6, 0x8a,
-	0x71, 0x89, 0x3e, 0x25, 0x83, 0xe5, 0x08, 0x7d, 0xa5, 0xb5, 0xe4, 0xa6, 0x44, 0xf0, 0x13, 0x06,
-	0x6f, 0x86, 0xf2, 0xd3, 0x10, 0x1a, 0x76, 0xde, 0x0a, 0xba, 0x2a, 0xa0, 0xa1, 0x5c, 0x42, 0x9f,
-	0x01, 0x0a, 0x57, 0x96, 0xd8, 0x0a, 0xcc, 0x0f, 0x16, 0x5c, 0x8c, 0x3a, 0xf2, 0x88, 0x38, 0x6c,
-	0xbc, 0x15, 0x76, 0x4d, 0x10, 0x87, 0x72, 0x09, 0x7d, 0x12, 0xf5, 0xe3, 0x0a, 0xc9, 0xcf, 0x18,
-	0xbc, 0xa1, 0xc4, 0x12, 0xf8, 0x14, 0x8a, 0x42, 0x6f, 0xbe, 0x3c, 0x34, 0xb5, 0x7e, 0x3c, 0x83,
-	0x37, 0x84, 0xfc, 0xe5, 0x61, 0xd8, 0x24, 0xdf, 0x51, 0xc8, 0x23, 0x93, 0x7a, 0x66, 0xa5, 0xfa,
-	0xad, 0xa9, 0x75, 0xe4, 0x19, 0xbc, 0x2d, 0x0d, 0x44, 0x43, 0xde, 0x55, 0x4d, 0x72, 0x49, 0x5a,
-	0x55, 0xaa, 0xc7, 0xcc, 0xac, 0x7a, 0x74, 0xa4, 0xcc, 0xf8, 0x59, 0x82, 0x77, 0x84, 0x3e, 0xd1,
-	0x92, 0x47, 0x76, 0xd5, 0xa3, 0x97, 0xcc, 0xee, 0xa8, 0x52, 0x31, 0xb5, 0xae, 0x3c, 0xb4, 0x53,
-	0x4d, 0x79, 0x57, 0x35, 0xd7, 0x77, 0xa5, 0xdd, 0x51, 0xa5, 0xca, 0xdd, 0x7c, 0x51, 0xfd, 0xc6,
-	0xd4, 0xfa, 0xf2, 0x0c, 0xde, 0x15, 0x80, 0xb0, 0x2d, 0x97, 0x96, 0xdf, 0xc1, 0xbe, 0xf2, 0xf4,
-	0x45, 0xf5, 0x90, 0x9b, 0x1e, 0x55, 0x8e, 0x4d, 0xad, 0x33, 0xcf, 0xe0, 0x3d, 0xe9, 0x6b, 0xd8,
-	0x98, 0x0b, 0x5b, 0xe3, 0x7f, 0xd2, 0xf0, 0xf8, 0x63, 0x8d, 0xa1, 0xec, 0x82, 0xea, 0x90, 0x9d,
-	0x4e, 0x02, 0xea, 0x13, 0x6b, 0x2c, 0x5b, 0x76, 0xfd, 0xca, 0xea, 0x36, 0x86, 0xd0, 0x0e, 0x9d,
-	0x02, 0xd8, 0xde, 0xcf, 0xae, 0x64, 0x49, 0x7f, 0x16, 0x8b, 0x66, 0x89, 0xfe, 0x36, 0x05, 0x8f,
-	0x79, 0x9a, 0x13, 0x09, 0x16, 0xb1, 0x62, 0x12, 0x09, 0x37, 0x27, 0x63, 0xf3, 0xca, 0xf3, 0xc7,
-	0x16, 0x95, 0x57, 0xa6, 0xc7, 0x89, 0x37, 0xf2, 0x8f, 0x3f, 0x6f, 0xf9, 0x94, 0xdb, 0xe3, 0x2f,
-	0xbc, 0x9b, 0xb1, 0x02, 0x62, 0xbc, 0x80, 0x8c, 0xf8, 0x8b, 0x5f, 0x6e, 0xb6, 0xda, 0xb8, 0xff,
-	0x93, 0xd9, 0xff, 0xa1, 0x6b, 0xd6, 0xdb, 0x7d, 0x71, 0x9d, 0xda, 0x6b, 0xff, 0xd8, 0xff, 0xc9,
-	0x3c, 0xed, 0x0e, 0x30, 0x97, 0xa5, 0x0c, 0x0a, 0x6b, 0xb2, 0x69, 0xd5, 0xda, 0xd1, 0x94, 0xd6,
-	0x8e, 0xb2, 0x74, 0x0e, 0xa8, 0x45, 0xa7, 0x81, 0xec, 0x52, 0xe5, 0x88, 0xd5, 0x87, 0x2b, 0xcb,
-	0x19, 0x99, 0x3e, 0xb1, 0x02, 0xcf, 0xe5, 0x4f, 0x97, 0xc3, 0xc0, 0x44, 0x98, 0x4b, 0xd0, 0x5d,
-	0x7e, 0x16, 0xf3, 0x3b, 0x18, 0x9e, 0xe7, 0x29, 0x76, 0x12, 0xf3, 0xa9, 0x0c, 0x22, 0x5e, 0x27,
-	0xb4, 0x86, 0x59, 0x6e, 0xed, 0x47, 0x3a, 0xe6, 0xaf, 0x35, 0xca, 0xf4, 0xa3, 0xe5, 0xa7, 0xf9,
-	0x2a, 0xd2, 0x96, 0x53, 0x91, 0x85, 0xd3, 0xfc, 0x83, 0xb8, 0x0a, 0x4d, 0x4e, 0xf2, 0x99, 0xed,
-	0xbd, 0xb6, 0x02, 0xcb, 0xb7, 0xad, 0xc0, 0xca, 0xad, 0x2b, 0xb0, 0x1a, 0x5f, 0x81, 0x3f, 0x15,
-	0x57, 0x9d, 0xee, 0x94, 0x05, 0x40, 0x7f, 0x86, 0x67, 0x3d, 0x6a, 0xd1, 0xf0, 0xad, 0xea, 0xf3,
-	0xde, 0x48, 0xff, 0x6b, 0x19, 0x0e, 0x16, 0x92, 0xc9, 0xe7, 0xfd, 0x0a, 0xb6, 0x2e, 0xad, 0x80,
-	0xb0, 0x23, 0xc4, 0xf2, 0x55, 0x2d, 0x93, 0xef, 0xa5, 0x4c, 0xd1, 0x9f, 0xd5, 0xfc, 0xb0, 0x3e,
-	0x0a, 0xa8, 0x3f, 0x33, 0xad, 0x77, 0x0a, 0x9a, 0x8e, 0xa0, 0x78, 0x56, 0x7b, 0x27, 0xa1, 0x65,
-	0xd8, 0x51, 0xac, 0xae, 0xa7, 0x11, 0x2f, 0xcb, 0x5b, 0x16, 0x4e, 0xdc, 0xf1, 0x42, 0x6a, 0x85,
-	0xf7, 0x05, 0xfe, 0x9d, 0x7e, 0x04, 0x48, 0x3c, 0x66, 0xf8, 0x77, 0x61, 0xfd, 0x2d, 0x92, 0x19,
-	0x8d, 0x3b, 0x2d, 0x5e, 0x52, 0x0b, 0x64, 0x46, 0x35, 0x9f, 0x25, 0x30, 0xe6, 0x72, 0x26, 0x04,
-	0x6a, 0x1e, 0x3f, 0x83, 0x6d, 0xc9, 0x18, 0x73, 0x58, 0x5c, 0xc8, 0x6c, 0x72, 0x52, 0xcd, 0x5f,
-	0x89, 0x4e, 0xba, 0x9b, 0x0d, 0xd1, 0x31, 0x6f, 0x8f, 0xe0, 0x8e, 0x3c, 0xfe, 0xcd, 0xa1, 0x78,
-	0x6b, 0x33, 0x7d, 0x42, 0x7d, 0x87, 0xa8, 0xbb, 0x99, 0x1d, 0xd1, 0xdd, 0xca, 0x57, 0x3a, 0x2c,
-	0x74, 0xe8, 0x5b, 0x28, 0x25, 0xcd, 0xd8, 0x09, 0xed, 0x4d, 0xc3, 0x4b, 0x9a, 0xdd, 0x98, 0x5d,
-	0x5f, 0x2a, 0x8d, 0xd7, 0x70, 0x3f, 0xda, 0xf2, 0xda, 0x90, 0x35, 0x6e, 0xfc, 0xb3, 0xe0, 0x2f,
-	0x0c, 0xa1, 0xbf, 0x86, 0x1c, 0x37, 0x6f, 0x58, 0xd4, 0x62, 0x61, 0x3b, 0x1c, 0x59, 0x41, 0xa0,
-	0x12, 0xa4, 0x80, 0xd7, 0xf8, 0xb8, 0x6d, 0xb3, 0x90, 0x77, 0x5c, 0xf1, 0x01, 0x4c, 0xa5, 0x49,
-	0x01, 0x83, 0x12, 0xb5, 0x6d, 0x84, 0x60, 0xc5, 0xb5, 0xc6, 0x44, 0x66, 0x0a, 0xff, 0x9b, 0xbd,
-	0xc9, 0xdb, 0x24, 0x18, 0xfa, 0xce, 0x84, 0xbf, 0x22, 0x8a, 0x3c, 0xd1, 0x45, 0xc6, 0x9f, 0xc3,
-	0x83, 0x9b, 0x9e, 0x46, 0xc6, 0xf0, 0x6f, 0xa0, 0x60, 0x71, 0xb9, 0xc9, 0x3f, 0x77, 0xb2, 0xf8,
-	0x65, 0xe9, 0xbf, 0xa3, 0xa5, 0x7f, 0xf8, 0x00, 0x78, 0xdd, 0xd2, 0x28, 0x8c, 0xff, 0xcc, 0xc0,
-	0xe6, 0x19, 0xa1, 0xfc, 0x3b, 0xa4, 0x5a, 0x9d, 0xdf, 0x26, 0x3e, 0xec, 0xe5, 0xab, 0xf7, 0xe3,
-	0x75, 0x39, 0xf1, 0x09, 0xb1, 0xb5, 0x14, 0x7d, 0xf9, 0x43, 0xbf, 0x85, 0xb5, 0xa9, 0xf8, 0xcc,
-	0x25, 0x0f, 0x8e, 0x87, 0x37, 0x7f, 0x06, 0x53, 0xd6, 0xca, 0x02, 0xd5, 0x20, 0xef, 0x89, 0x0f,
-	0x1c, 0x9c, 0x60, 0x79, 0xd1, 0xe4, 0x89, 0x2f, 0x20, 0xad, 0x25, 0xac, 0xdb, 0xa0, 0x36, 0x6c,
-	0x78, 0xee, 0x54, 0xbb, 0x0b, 0xe7, 0x4b, 0xba, 0xc8, 0x8d, 0xf8, 0x95, 0x79, 0x6b, 0x09, 0x27,
-	0x0c, 0x11, 0x86, 0x02, 0xa1, 0x6f, 0xa3, 0x8b, 0x59, 0x9e, 0x61, 0xf9, 0xea, 0xaf, 0x3f, 0xfd,
-	0xda, 0xb8, 0xb5, 0x84, 0xe3, 0x14, 0xe8, 0x4f, 0xf8, 0x5d, 0x95, 0x54, 0xf3, 0x4c, 0xcc, 0x57,
-	0x0f, 0xe6, 0x08, 0xa3, 0xcb, 0xb3, 0xd6, 0x12, 0xd6, 0x0c, 0x50, 0x1d, 0xc0, 0xe3, 0x9e, 0xf3,
-	0x27, 0x5b, 0xe3, 0xe6, 0x8f, 0xe6, 0xcc, 0x13, 0xf7, 0x50, 0x8c, 0x23, 0xb2, 0x42, 0xe7, 0xb0,
-	0xc6, 0x4a, 0x37, 0x23, 0xc8, 0x72, 0x82, 0x17, 0x9f, 0x71, 0xea, 0x86, 0x5b, 0x26, 0x29, 0xd0,
-	0x31, 0xa8, 0xb2, 0xcd, 0x73, 0x39, 0x5f, 0xbd, 0x17, 0x67, 0x8b, 0xdf, 0xfa, 0x30, 0x4b, 0x09,
-	0x47, 0xaf, 0x60, 0xdd, 0x13, 0x41, 0xcd, 0x2b, 0x32, 0x4f, 0xe9, 0x7c, 0xf5, 0xcb, 0xb9, 0xa7,
-	0x59, 0x74, 0x08, 0xb4, 0x96, 0x70, 0xcc, 0x18, 0xd5, 0x00, 0xbc, 0xf0, 0xc4, 0xe4, 0x9d, 0xdf,
-	0xfc, 0x96, 0x8f, 0xe6, 0x9d, 0xd1, 0x8c, 0x50, 0x1f, 0x36, 0x3d, 0x77, 0xaa, 0x27, 0x18, 0xef,
-	0x04, 0xf3, 0xd5, 0xa7, 0x0b, 0x5d, 0x5a, 0x50, 0x57, 0x5a, 0x4b, 0x38, 0x49, 0x51, 0xcf, 0xc1,
-	0x9a, 0x2f, 0xb4, 0xc6, 0x1f, 0x80, 0xdf, 0xaf, 0xca, 0x5c, 0x93, 0xb9, 0xfb, 0x5d, 0x78, 0x7e,
-	0x8a, 0x8f, 0x12, 0x46, 0x7c, 0xb2, 0x18, 0xb8, 0xdc, 0xe3, 0xc8, 0xf0, 0x8c, 0x6d, 0x42, 0x8e,
-	0xf8, 0xbe, 0x38, 0x4f, 0xe5, 0xf7, 0xc9, 0x27, 0xb7, 0x99, 0xf3, 0x76, 0x5f, 0xc0, 0x71, 0x64,
-	0x89, 0x7e, 0xa7, 0xe5, 0xbb, 0x48, 0xb9, 0x07, 0x37, 0xe5, 0xbb, 0x20, 0x8a, 0x25, 0xfc, 0xef,
-	0xa2, 0x84, 0x5f, 0xb9, 0x21, 0x1e, 0x13, 0xdf, 0xbd, 0xf5, 0x8c, 0x7f, 0x05, 0xeb, 0x13, 0x91,
-	0xcd, 0xd4, 0x25, 0x7e, 0x20, 0x53, 0xec, 0xcb, 0x5b, 0x53, 0x5e, 0xe3, 0x89, 0x19, 0xa3, 0xef,
-	0xe7, 0x72, 0x5f, 0x24, 0xd8, 0x93, 0x8f, 0xe4, 0xbe, 0x46, 0x98, 0xac, 0x01, 0x97, 0xb0, 0x15,
-	0x4b, 0x60, 0x2d, 0xef, 0xaa, 0x9f, 0x5e, 0x07, 0xb4, 0x09, 0xe6, 0xe9, 0x50, 0x33, 0x56, 0x13,
-	0x44, 0x4e, 0xfe, 0xea, 0x96, 0x9a, 0xa0, 0xb1, 0xe9, 0xb5, 0xe1, 0x15, 0x7f, 0xfa, 0x0b, 0xcf,
-	0x55, 0xeb, 0x24, 0x13, 0xf2, 0x8b, 0x5b, 0xea, 0x43, 0xec, 0xb9, 0x35, 0x53, 0x34, 0xe0, 0x17,
-	0xcc, 0x21, 0x93, 0xc8, 0xcd, 0xca, 0x67, 0xb7, 0xe7, 0xbc, 0x3a, 0x47, 0x3c, 0xe8, 0x37, 0x51,
-	0xb5, 0xc8, 0x2f, 0x2a, 0xee, 0x89, 0x6e, 0x54, 0x2f, 0x17, 0xe7, 0x89, 0x72, 0xb1, 0x3e, 0xf7,
-	0x5a, 0x72, 0x4b, 0x9b, 0x37, 0x57, 0x2f, 0xea, 0xb1, 0x7a, 0x51, 0x58, 0x18, 0xb8, 0xa3, 0x05,
-	0xee, 0xe8, 0x05, 0x63, 0x30, 0x5f, 0x30, 0x36, 0x38, 0xd1, 0x57, 0x9f, 0x50, 0x30, 0x42, 0xc6,
-	0x24, 0x87, 0x51, 0x81, 0x8c, 0xc8, 0x73, 0xb4, 0x03, 0xc5, 0x5e, 0xbf, 0xd6, 0x1f, 0xf4, 0x62,
-	0x3f, 0x6f, 0xc8, 0x40, 0xba, 0xfb, 0xaa, 0x98, 0xe2, 0x3f, 0x58, 0xc2, 0xb8, 0x8b, 0x8b, 0x69,
-	0xe3, 0x1f, 0x53, 0x90, 0xd7, 0x92, 0x9b, 0x19, 0xe2, 0x66, 0xad, 0xd7, 0xed, 0xc4, 0x0c, 0x37,
-	0x21, 0x3f, 0xe8, 0xf4, 0x06, 0x17, 0x17, 0x5d, 0xdc, 0xe7, 0xbf, 0x8d, 0xd8, 0x85, 0xad, 0x76,
-	0xe7, 0x4d, 0xed, 0xbc, 0xdd, 0x30, 0x1b, 0xcd, 0x37, 0xed, 0x93, 0xa6, 0xd9, 0x6e, 0x14, 0xd3,
-	0xba, 0x98, 0x41, 0xcd, 0xfe, 0x4f, 0x17, 0xcd, 0xe2, 0x32, 0xca, 0xc3, 0x5a, 0xbf, 0xfd, 0xba,
-	0xd9, 0x1d, 0xf4, 0x8b, 0x2b, 0x6c, 0x06, 0x85, 0xc1, 0xcd, 0xef, 0x05, 0x64, 0x95, 0xbd, 0x44,
-	0xb5, 0x3b, 0xfd, 0x26, 0xee, 0xd4, 0xce, 0x4d, 0xe1, 0x5b, 0x46, 0xc8, 0xf4, 0x49, 0x8a, 0x6b,
-	0x75, 0x80, 0xac, 0x2f, 0x57, 0xc0, 0x78, 0x03, 0x9b, 0xbd, 0x44, 0x03, 0x92, 0xfc, 0x89, 0x57,
-	0xea, 0x93, 0x7f, 0xe2, 0xa5, 0x55, 0xdb, 0xff, 0x4d, 0x41, 0xb1, 0xf7, 0x39, 0xd5, 0xb6, 0xf7,
-	0xff, 0xab, 0xb6, 0xbd, 0x4f, 0xab, 0xb6, 0xbf, 0x64, 0x7b, 0x0f, 0x7f, 0xc9, 0xee, 0x1a, 0x0e,
-	0xec, 0xf6, 0x1c, 0xf7, 0x7a, 0x44, 0x92, 0xfd, 0xdd, 0x3e, 0x64, 0xa9, 0xe5, 0x5f, 0x13, 0x1a,
-	0x7e, 0x39, 0x0a, 0xc7, 0xe8, 0x30, 0x5c, 0x40, 0xd9, 0xbe, 0xed, 0x2f, 0x3c, 0x50, 0x38, 0x02,
-	0x87, 0x6b, 0xfd, 0x3d, 0xec, 0x25, 0xa7, 0x92, 0x0b, 0xfe, 0x6d, 0xb4, 0xd3, 0x72, 0x1b, 0x0f,
-	0x6e, 0x39, 0xa1, 0x70, 0x14, 0x16, 0xa1, 0xf7, 0xbd, 0x3f, 0x96, 0xf7, 0xbd, 0x8f, 0x7a, 0xdf,
-	0xfb, 0x3c, 0xef, 0x7b, 0x37, 0x7a, 0x5f, 0xfd, 0xe7, 0x14, 0xe4, 0x9a, 0x0a, 0x88, 0x30, 0xe4,
-	0xcf, 0x08, 0x6d, 0xce, 0x04, 0x1c, 0xe9, 0x75, 0x66, 0xe1, 0x0e, 0xed, 0x7f, 0x71, 0x0b, 0x42,
-	0xba, 0x86, 0x21, 0xdf, 0xbb, 0x95, 0xb3, 0xf7, 0x51, 0xce, 0xa4, 0xff, 0x75, 0x0c, 0xf7, 0x3d,
-	0xff, 0xba, 0xec, 0x4d, 0x88, 0x3b, 0xf4, 0x7c, 0xbb, 0x2c, 0x7e, 0xc2, 0x19, 0xd9, 0xfd, 0x59,
-	0xe5, 0xda, 0xa1, 0x6f, 0xa7, 0x97, 0xe5, 0xa1, 0x37, 0x7e, 0xae, 0x50, 0xcf, 0x05, 0xea, 0x6b,
-	0xf9, 0x43, 0xcf, 0xf7, 0x47, 0xcf, 0xaf, 0xbd, 0xe8, 0x97, 0xa1, 0x97, 0x19, 0x2e, 0xff, 0xe6,
-	0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x1c, 0x44, 0x89, 0x74, 0x3b, 0x2a, 0x00, 0x00,
+	// 4588 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x7b, 0x5b, 0x73, 0xdb, 0x48,
+	0x76, 0xbf, 0x48, 0x49, 0x14, 0x79, 0x48, 0x4a, 0x74, 0xeb, 0x62, 0x59, 0xf2, 0x6d, 0xb0, 0x3b,
+	0xb6, 0x67, 0xff, 0x1e, 0xda, 0xa4, 0x2d, 0x59, 0xe3, 0xd9, 0x7f, 0x6a, 0x49, 0x91, 0x32, 0x19,
+	0xdb, 0x24, 0xa7, 0x49, 0xce, 0x25, 0xa9, 0x2c, 0x16, 0x22, 0x5a, 0x32, 0xca, 0x24, 0x9a, 0x01,
+	0x40, 0x0d, 0x3d, 0xa9, 0xbc, 0xe5, 0x6d, 0x93, 0xa7, 0xbc, 0xe4, 0x43, 0x24, 0x95, 0x87, 0x3c,
+	0xa4, 0xf2, 0xba, 0x95, 0x97, 0x54, 0xe5, 0x4b, 0xa4, 0x2a, 0x5f, 0x20, 0xa9, 0xcd, 0x4b, 0x52,
+	0x95, 0x4a, 0xf5, 0x05, 0x40, 0x03, 0xa4, 0x6e, 0xb3, 0x53, 0x93, 0xaa, 0xbc, 0xd8, 0xea, 0x73,
+	0x7e, 0xe7, 0xd7, 0x07, 0x8d, 0x73, 0x4e, 0x1f, 0x34, 0x40, 0xb8, 0x7b, 0x46, 0x87, 0xde, 0x3b,
+	0x43, 0x1f, 0x3b, 0xd4, 0xa3, 0xee, 0x13, 0x32, 0xf5, 0x88, 0xed, 0x5a, 0xd4, 0x76, 0x8b, 0x5c,
+	0x82, 0x32, 0x81, 0x64, 0x67, 0x16, 0xaa, 0x0f, 0xa8, 0x7d, 0x62, 0x9d, 0x0a, 0xe8, 0xce, 0xee,
+	0x29, 0xa5, 0xa7, 0x43, 0xf2, 0x84, 0x8f, 0x8e, 0x27, 0x27, 0x4f, 0xc8, 0x68, 0xec, 0x7d, 0x10,
+	0x4a, 0xed, 0x8f, 0x20, 0xfd, 0xa5, 0x31, 0x9c, 0x90, 0x2e, 0xf1, 0xd0, 0x2a, 0x24, 0x2d, 0x73,
+	0x3b, 0x71, 0x3f, 0xf1, 0x28, 0x83, 0x93, 0x96, 0x89, 0x0e, 0x20, 0x67, 0x0c, 0x0d, 0x67, 0x24,
+	0xe9, 0xb6, 0x93, 0xf7, 0x13, 0x8f, 0xb2, 0xe5, 0xf5, 0xa2, 0x64, 0xaf, 0x30, 0xdd, 0x21, 0xff,
+	0xbb, 0xb1, 0x80, 0xb3, 0x46, 0x38, 0xac, 0xae, 0xc0, 0xf2, 0x19, 0x63, 0xd5, 0x1e, 0x43, 0x86,
+	0xd3, 0xf7, 0x3e, 0x8c, 0x89, 0x76, 0x0f, 0x96, 0xd8, 0xff, 0x28, 0x03, 0xcb, 0xf5, 0xb7, 0x9d,
+	0xde, 0x37, 0x85, 0x05, 0x94, 0x83, 0x74, 0xad, 0xd9, 0xed, 0x55, 0x5a, 0x87, 0xf5, 0x42, 0x42,
+	0xfb, 0x02, 0x56, 0x85, 0x33, 0x63, 0x32, 0xb0, 0x4e, 0x2c, 0xe2, 0xcc, 0xb8, 0xf4, 0x44, 0x12,
+	0x73, 0x5f, 0x56, 0xcb, 0xb7, 0x8a, 0xc1, 0x32, 0x14, 0x83, 0x79, 0x8a, 0xec, 0x1f, 0x2c, 0x1d,
+	0xf0, 0x20, 0x87, 0x89, 0x37, 0x71, 0x6c, 0xae, 0x76, 0x51, 0x01, 0x16, 0xbb, 0xc4, 0xe3, 0x8c,
+	0x79, 0xcc, 0xfe, 0x44, 0xf7, 0x21, 0xdb, 0xb7, 0xdd, 0xc9, 0x78, 0x4c, 0x1d, 0x8f, 0x98, 0x9c,
+	0x38, 0x8f, 0x55, 0x11, 0xda, 0x80, 0xe5, 0xba, 0xe3, 0x50, 0x67, 0x7b, 0x91, 0xeb, 0xc4, 0x00,
+	0xed, 0x40, 0xba, 0x66, 0xb9, 0x9e, 0x61, 0x0f, 0xc8, 0xf6, 0x12, 0x57, 0x04, 0x63, 0x6d, 0x1f,
+	0xd0, 0x2b, 0xe2, 0xf9, 0x43, 0x4c, 0xfe, 0x78, 0x42, 0x5c, 0x3e, 0x13, 0xb5, 0x27, 0x35, 0x72,
+	0x66, 0x0d, 0x48, 0xd3, 0xbf, 0x2a, 0x55, 0xa4, 0x95, 0x60, 0x3d, 0x62, 0xe7, 0x8e, 0xa9, 0xed,
+	0x12, 0x36, 0x95, 0xe9, 0x4f, 0x25, 0x3c, 0x0f, 0xc6, 0x5a, 0x19, 0x36, 0x5e, 0x11, 0xaf, 0x6d,
+	0x4f, 0xfa, 0xb6, 0xd5, 0xb4, 0x4f, 0xa8, 0x3f, 0xd9, 0x0e, 0xa4, 0x27, 0x4c, 0x62, 0x92, 0xa9,
+	0x6f, 0xe3, 0x8f, 0xb5, 0x7f, 0x59, 0x82, 0xcd, 0x98, 0x91, 0x9c, 0xa9, 0x03, 0x69, 0xc3, 0x1c,
+	0x75, 0x3d, 0xc3, 0x13, 0x33, 0xad, 0x96, 0x9f, 0x2b, 0x4b, 0x3c, 0xd7, 0xa6, 0x58, 0x31, 0x47,
+	0x96, 0x6d, 0xb9, 0x9e, 0x63, 0x78, 0xd6, 0x19, 0xe1, 0xb6, 0x38, 0x60, 0x41, 0x6d, 0xc8, 0xd0,
+	0x31, 0x71, 0x04, 0xa5, 0xb8, 0x6b, 0xa5, 0x4b, 0x29, 0xdb, 0x63, 0xc2, 0xd8, 0xa8, 0x6d, 0x0c,
+	0x05, 0x5f, 0xc8, 0xc1, 0x08, 0x45, 0x00, 0x36, 0x6d, 0x93, 0xdf, 0x91, 0xab, 0x10, 0x8a, 0xb8,
+	0x9c, 0x08, 0xd2, 0xa6, 0x6d, 0xe2, 0x90, 0x43, 0xfb, 0x4d, 0x02, 0x0a, 0x71, 0x3d, 0x02, 0x48,
+	0xf5, 0x5b, 0xaf, 0xdb, 0x5f, 0xb5, 0x0a, 0x0b, 0x08, 0xc1, 0x6a, 0xaf, 0xde, 0xd2, 0xab, 0x95,
+	0x6e, 0x5d, 0xef, 0xe9, 0x47, 0xb5, 0xaf, 0x0b, 0x09, 0xb4, 0x05, 0xa8, 0xd1, 0x6f, 0xd5, 0x70,
+	0xbd, 0xa6, 0xca, 0x93, 0x68, 0x1b, 0x36, 0x5e, 0x35, 0x5f, 0x55, 0xaa, 0xcd, 0x9e, 0x5e, 0xef,
+	0x35, 0xea, 0xb8, 0x55, 0x17, 0x9a, 0x45, 0x66, 0xc1, 0x58, 0x5e, 0x45, 0xe5, 0x4b, 0x31, 0xf6,
+	0x46, 0xed, 0xeb, 0xc2, 0xf2, 0x1c, 0x76, 0x26, 0x4f, 0xcd, 0x65, 0x67, 0x9a, 0x15, 0xed, 0x15,
+	0xac, 0xcf, 0xb9, 0x0f, 0x8c, 0xa8, 0x52, 0x7b, 0xdb, 0xed, 0x55, 0x7a, 0x75, 0xbd, 0xdf, 0xaa,
+	0xd5, 0x8f, 0x9a, 0xad, 0x7a, 0xad, 0xb0, 0xc0, 0x2e, 0xef, 0x4d, 0xfb, 0xf0, 0x75, 0xbd, 0x56,
+	0x48, 0xb0, 0x1c, 0xec, 0xb7, 0xe4, 0x28, 0xa9, 0x1d, 0x41, 0x21, 0xbe, 0xfa, 0xe8, 0x26, 0xac,
+	0xb7, 0x3b, 0x75, 0x3c, 0x4b, 0x93, 0x85, 0x95, 0x7a, 0xab, 0x52, 0x7d, 0xe3, 0xf3, 0xd4, 0x9a,
+	0x5d, 0x31, 0x4a, 0x6a, 0x7f, 0x9f, 0xe0, 0x39, 0xd0, 0x1e, 0x7a, 0x1d, 0xea, 0x78, 0x87, 0x74,
+	0x62, 0x7b, 0xc4, 0x71, 0xd1, 0x16, 0xa4, 0x58, 0x56, 0xb5, 0xa8, 0x0c, 0x4a, 0x39, 0x42, 0x55,
+	0x48, 0xb3, 0xbf, 0x58, 0xea, 0xca, 0x28, 0x79, 0x10, 0xbb, 0xa9, 0x51, 0xa2, 0x62, 0x47, 0xa2,
+	0x71, 0x60, 0xa7, 0xd5, 0x21, 0xed, 0x4b, 0x51, 0x01, 0x72, 0xec, 0x6f, 0xbd, 0xdf, 0x7a, 0xdd,
+	0x12, 0x77, 0x71, 0x13, 0x6e, 0x70, 0x49, 0xb0, 0x70, 0xad, 0x56, 0xb3, 0x90, 0x08, 0x80, 0x9d,
+	0x76, 0x4b, 0x6f, 0xbf, 0xe9, 0x15, 0x92, 0xda, 0x3f, 0x2f, 0xc2, 0xce, 0xec, 0x84, 0x41, 0x8a,
+	0x6c, 0xc3, 0x8a, 0x37, 0xad, 0x7e, 0xf0, 0x88, 0xcb, 0x2f, 0x61, 0x09, 0xfb, 0x43, 0xa6, 0x71,
+	0xa4, 0x26, 0x29, 0x34, 0x72, 0x88, 0x6e, 0x43, 0xc6, 0x9b, 0x76, 0x8c, 0xc1, 0x7b, 0xe2, 0xb9,
+	0x3c, 0x66, 0x97, 0x70, 0x28, 0x60, 0x5a, 0x27, 0xd0, 0x2e, 0x09, 0x6d, 0x20, 0x40, 0x0f, 0x60,
+	0xd5, 0x9b, 0xf2, 0x92, 0xe3, 0x43, 0x96, 0x39, 0x24, 0x26, 0x65, 0x38, 0x27, 0x8a, 0x4b, 0x09,
+	0x9c, 0x33, 0x83, 0xf3, 0xa6, 0xd5, 0x81, 0xe1, 0x7a, 0x3e, 0x6e, 0xc5, 0xe7, 0x53, 0xa5, 0x82,
+	0x2f, 0x82, 0x4b, 0xfb, 0x7c, 0x71, 0x9c, 0x37, 0xed, 0xab, 0xb8, 0x8c, 0xcf, 0xd7, 0x9f, 0xe1,
+	0x8b, 0xe0, 0xc0, 0xe7, 0xeb, 0xcf, 0xf0, 0xbd, 0x55, 0x71, 0x59, 0x9f, 0xef, 0xed, 0x0c, 0x5f,
+	0x04, 0x97, 0xf3, 0xf9, 0x54, 0xa9, 0x56, 0xf3, 0x0b, 0x64, 0x87, 0xda, 0xed, 0xb1, 0x67, 0x0d,
+	0x8c, 0x21, 0x2b, 0x0d, 0xe8, 0x31, 0x2c, 0xf3, 0x8d, 0x90, 0xdf, 0xc5, 0x6c, 0x79, 0xab, 0x28,
+	0xb6, 0xc9, 0xa2, 0xbf, 0x4d, 0x16, 0xeb, 0x4c, 0x8b, 0x05, 0x48, 0xfb, 0xb3, 0x24, 0xdc, 0x9e,
+	0x47, 0x13, 0x84, 0xc5, 0xcf, 0xa0, 0x30, 0xa6, 0xdf, 0x12, 0xe7, 0x88, 0x10, 0xf3, 0x4b, 0x3a,
+	0xf4, 0x8c, 0x53, 0x51, 0x41, 0x93, 0x78, 0x46, 0x8e, 0xca, 0xb0, 0xe1, 0x90, 0x01, 0xb1, 0xce,
+	0x88, 0x29, 0xa9, 0x3a, 0x0c, 0xc2, 0xa3, 0x26, 0x89, 0xe7, 0xea, 0xd0, 0x3e, 0x6c, 0x8d, 0x88,
+	0xe1, 0x4f, 0xfd, 0xc6, 0x98, 0xd8, 0x83, 0x77, 0xc2, 0x6a, 0x91, 0x5b, 0x9d, 0xa3, 0x65, 0x7e,
+	0x0d, 0x0d, 0x97, 0x38, 0x55, 0xcb, 0x70, 0x0f, 0x27, 0x8e, 0x43, 0x6c, 0x8f, 0xc7, 0x58, 0x12,
+	0xcf, 0xc8, 0xd9, 0x06, 0xe5, 0x91, 0x11, 0xcf, 0xfe, 0x89, 0x43, 0x78, 0x9c, 0x25, 0xb1, 0x2a,
+	0xd2, 0xfe, 0x36, 0x01, 0xf7, 0xc4, 0x32, 0xd4, 0xbd, 0x77, 0xc4, 0xb1, 0x89, 0x57, 0x75, 0x2c,
+	0xf3, 0x94, 0xb0, 0x4c, 0x69, 0x58, 0xae, 0x47, 0x9d, 0x0f, 0x08, 0x43, 0xc6, 0xb4, 0x1c, 0x32,
+	0x60, 0x15, 0xe4, 0xdc, 0x4d, 0xe4, 0x5c, 0xf3, 0x62, 0xcd, 0xb7, 0xc5, 0x21, 0x8d, 0x76, 0x00,
+	0x99, 0x40, 0x8e, 0xf2, 0x90, 0x51, 0x8b, 0x10, 0xab, 0x5f, 0x9d, 0x6e, 0x0f, 0xd7, 0x2b, 0x6f,
+	0x0b, 0x09, 0xb4, 0x0a, 0x50, 0x6b, 0x7f, 0xd5, 0x92, 0xe3, 0xa4, 0xf6, 0x97, 0xcb, 0xf0, 0xf0,
+	0x92, 0x29, 0x83, 0x7b, 0x78, 0x17, 0xc0, 0x74, 0xe8, 0xb8, 0x7e, 0x46, 0x6c, 0xcf, 0x95, 0x05,
+	0x4a, 0x91, 0xb0, 0xe2, 0x45, 0x07, 0x1e, 0x0b, 0x35, 0xd1, 0x25, 0xc8, 0x11, 0x4b, 0xfc, 0xb1,
+	0x92, 0xdc, 0x79, 0xec, 0x0f, 0xd9, 0xea, 0x1f, 0x3b, 0xd4, 0x30, 0xd5, 0x30, 0x15, 0xcd, 0xc2,
+	0x8c, 0x9c, 0x61, 0x47, 0x93, 0x21, 0xbb, 0x81, 0x21, 0x76, 0x59, 0x60, 0xe3, 0x72, 0xf4, 0x18,
+	0x6e, 0x0c, 0x9c, 0x01, 0xcf, 0x6b, 0x62, 0xaa, 0xf9, 0x9e, 0xc7, 0xb3, 0x0a, 0xc6, 0x3c, 0xb1,
+	0x4d, 0xe2, 0xb8, 0xd6, 0x77, 0x44, 0x4d, 0xfa, 0x3c, 0x9e, 0x91, 0xa3, 0x47, 0xb0, 0x46, 0xcf,
+	0xa2, 0xd0, 0x34, 0x87, 0xc6, 0xc5, 0x0c, 0x29, 0x2f, 0x73, 0xff, 0xb9, 0x5c, 0x96, 0x8c, 0x40,
+	0xc6, 0xc4, 0x2c, 0xde, 0x7d, 0xd1, 0x5e, 0x8f, 0x96, 0xca, 0x2f, 0x24, 0x1c, 0x38, 0x7c, 0xae,
+	0x0e, 0x3d, 0x87, 0x4d, 0x29, 0x2f, 0x95, 0x0f, 0x7a, 0xb4, 0xbc, 0xb7, 0xd7, 0x16, 0x46, 0x59,
+	0x6e, 0x34, 0x5f, 0xa9, 0x58, 0x95, 0xf7, 0xf6, 0x7b, 0x74, 0xaf, 0x54, 0x92, 0x53, 0xe5, 0x22,
+	0x56, 0x51, 0x25, 0xcb, 0x2d, 0xa9, 0xd8, 0x2b, 0x95, 0x7b, 0xb4, 0xf4, 0xb4, 0xfc, 0x4c, 0x9a,
+	0xe5, 0xb9, 0xd9, 0x39, 0x5a, 0x74, 0x00, 0x37, 0x7d, 0x37, 0x9e, 0x96, 0x9f, 0xf7, 0x68, 0x69,
+	0xaf, 0x74, 0x20, 0x0d, 0x57, 0xb9, 0xe1, 0x79, 0x6a, 0xed, 0x17, 0x50, 0x10, 0x41, 0x79, 0x44,
+	0x06, 0x7e, 0xde, 0x5c, 0xaf, 0x20, 0xfd, 0x7b, 0x02, 0xb6, 0xe3, 0x14, 0x41, 0x20, 0x3f, 0x80,
+	0xd5, 0x01, 0x75, 0x58, 0xbe, 0x10, 0x33, 0xdc, 0xaa, 0xf2, 0x38, 0x26, 0x45, 0x45, 0x40, 0x81,
+	0xe4, 0x90, 0x9a, 0xe4, 0x2b, 0xea, 0x98, 0x7e, 0x70, 0xcf, 0xd1, 0xb0, 0x04, 0x39, 0x21, 0x83,
+	0x2e, 0x19, 0x50, 0xdb, 0xf4, 0x63, 0x5d, 0x91, 0xf0, 0xda, 0x4d, 0x3d, 0x63, 0x18, 0x72, 0x89,
+	0x60, 0x8f, 0x49, 0xd9, 0x82, 0x4f, 0x6c, 0xc9, 0x6f, 0x1c, 0x0f, 0x49, 0x88, 0x17, 0x01, 0x7f,
+	0x8e, 0x56, 0x7b, 0xe5, 0xf7, 0xad, 0xe1, 0xae, 0x2c, 0xba, 0xdd, 0x9b, 0xb0, 0x62, 0xd9, 0xde,
+	0x89, 0x2e, 0x1f, 0x16, 0x56, 0x70, 0x8a, 0x0d, 0x9b, 0x26, 0xda, 0x84, 0x14, 0xb5, 0x27, 0x4c,
+	0x9e, 0xe4, 0xf2, 0x65, 0x6a, 0x4f, 0x9a, 0xa6, 0xf6, 0x17, 0x09, 0xf8, 0x98, 0x31, 0x8d, 0x06,
+	0x96, 0x5f, 0x16, 0x8e, 0x1c, 0x63, 0x44, 0xea, 0xac, 0x4c, 0x99, 0xc4, 0xec, 0x8c, 0xae, 0xdc,
+	0xb4, 0xa3, 0xdb, 0x4a, 0xa7, 0xcd, 0x97, 0xae, 0xb1, 0x10, 0xf6, 0xda, 0xec, 0xe1, 0xc1, 0x21,
+	0x2e, 0xf1, 0xf8, 0x6a, 0xa5, 0xb1, 0x18, 0x54, 0x57, 0x21, 0x67, 0xb9, 0xfa, 0xc4, 0xb6, 0x74,
+	0x8b, 0x77, 0xe4, 0x87, 0x70, 0xe3, 0x15, 0xf1, 0xf0, 0x94, 0xd7, 0xec, 0xef, 0x7b, 0x51, 0x6f,
+	0xc4, 0x4e, 0x37, 0x8c, 0xf3, 0xdc, 0x01, 0x60, 0x3d, 0x92, 0x3e, 0x34, 0x8e, 0xc9, 0x50, 0x5e,
+	0x41, 0x86, 0x49, 0xde, 0x30, 0x81, 0xcf, 0xe6, 0xda, 0x9c, 0x2d, 0xc3, 0xd9, 0xba, 0xb6, 0xf6,
+	0xaf, 0x39, 0xd8, 0x8a, 0x2f, 0xb6, 0x0c, 0xaf, 0x5b, 0x31, 0xc7, 0x1a, 0x0b, 0x81, 0x6b, 0x37,
+	0xa3, 0xae, 0x35, 0x12, 0xd2, 0x39, 0xf4, 0x10, 0x56, 0xc7, 0xd4, 0xb5, 0x58, 0x6b, 0xaa, 0x9b,
+	0x8e, 0x75, 0x22, 0x16, 0x24, 0xd5, 0x48, 0xe2, 0xbc, 0x2f, 0xaf, 0x31, 0x31, 0x03, 0xda, 0xe4,
+	0xd4, 0x50, 0x80, 0x4b, 0x1c, 0xb8, 0x88, 0xf3, 0xbe, 0x5c, 0x00, 0x5f, 0xc2, 0xb6, 0x49, 0x86,
+	0xd6, 0xc8, 0xf2, 0x88, 0xa3, 0x8f, 0x2c, 0xd7, 0xd5, 0x4d, 0xe2, 0xc9, 0x6d, 0x67, 0x99, 0x9b,
+	0x2c, 0xe1, 0xad, 0x00, 0xf1, 0xd6, 0x72, 0xdd, 0x9a, 0xaf, 0x47, 0xf7, 0x00, 0x8e, 0xad, 0xb1,
+	0x4e, 0x58, 0x9d, 0x14, 0x85, 0x33, 0xd5, 0x58, 0xc6, 0x99, 0x63, 0x6b, 0xcc, 0x4b, 0xa7, 0x8b,
+	0xee, 0x00, 0x1b, 0xb0, 0x3b, 0x24, 0x6b, 0x65, 0xaa, 0x91, 0xc2, 0xe9, 0x63, 0x6b, 0xdc, 0x67,
+	0x12, 0x56, 0x67, 0x4e, 0xc8, 0x40, 0x0f, 0x52, 0x44, 0x77, 0x3f, 0x8c, 0x8e, 0xe9, 0x50, 0xd4,
+	0xca, 0x54, 0x63, 0x05, 0xaf, 0x9f, 0x90, 0xc1, 0xa1, 0xaf, 0xed, 0x0a, 0x25, 0xab, 0x17, 0xc2,
+	0xca, 0x24, 0xdf, 0xb2, 0x78, 0x0e, 0xed, 0x79, 0xe5, 0x4c, 0x35, 0xd2, 0x78, 0x93, 0xdb, 0x49,
+	0x7d, 0x40, 0x80, 0x7e, 0x01, 0xbb, 0x51, 0xcb, 0x48, 0x82, 0xf0, 0x42, 0x9a, 0x6a, 0x64, 0xf0,
+	0x2d, 0xd5, 0xba, 0xaf, 0x42, 0xd0, 0xc7, 0x90, 0x8f, 0x30, 0xf0, 0x3a, 0x9a, 0x6a, 0x00, 0xce,
+	0xa9, 0x36, 0xe8, 0x29, 0xac, 0x47, 0x2f, 0x4c, 0xac, 0x40, 0x8e, 0x83, 0xb3, 0xf8, 0x86, 0x7a,
+	0x59, 0x62, 0x29, 0x1e, 0xc1, 0xda, 0xf4, 0x94, 0x8c, 0xf4, 0xf7, 0xe4, 0x83, 0xbf, 0x9e, 0x79,
+	0x8e, 0xce, 0xe1, 0x3c, 0x53, 0xbc, 0x26, 0x1f, 0xc2, 0x35, 0xe5, 0xc8, 0x21, 0x75, 0x45, 0x81,
+	0x4c, 0x35, 0xf2, 0x38, 0xcd, 0x44, 0x6f, 0xa8, 0xcb, 0x89, 0x9c, 0xa9, 0x3e, 0x1e, 0x52, 0x63,
+	0xe4, 0x0a, 0xa6, 0xed, 0x35, 0x0e, 0x5a, 0xc5, 0x79, 0x67, 0xda, 0xe1, 0x72, 0xf1, 0xe8, 0xfd,
+	0x29, 0xa0, 0x10, 0x69, 0x53, 0x5b, 0xb7, 0xcc, 0x21, 0xd9, 0x2e, 0x70, 0xf0, 0x1a, 0x5e, 0xf3,
+	0xc1, 0x2d, 0x6a, 0x37, 0xcd, 0x21, 0x0f, 0x57, 0x67, 0xaa, 0xd3, 0xd1, 0xc0, 0xda, 0xbe, 0xc1,
+	0x31, 0x05, 0x9c, 0x72, 0xa6, 0x2c, 0xf7, 0x99, 0xca, 0x93, 0x2a, 0xc4, 0x55, 0x37, 0x70, 0xca,
+	0x13, 0xaa, 0x97, 0x70, 0x4b, 0x5a, 0xe9, 0xb2, 0x8a, 0xeb, 0x03, 0x67, 0x20, 0x1d, 0x5b, 0xe7,
+	0x60, 0x84, 0x37, 0x05, 0x8f, 0xdc, 0x12, 0x0f, 0xe5, 0xce, 0x8b, 0x76, 0x21, 0xed, 0x4c, 0xf5,
+	0x63, 0x5e, 0x79, 0x37, 0x38, 0x74, 0x3d, 0x7c, 0x18, 0xb8, 0x07, 0xc0, 0xbc, 0x97, 0x9b, 0xeb,
+	0x26, 0x57, 0x6f, 0xa8, 0x1d, 0xff, 0x2e, 0xa4, 0x3d, 0xdf, 0x7a, 0x8b, 0xab, 0x37, 0xc3, 0x87,
+	0x8c, 0x7b, 0x00, 0x5e, 0x68, 0x7d, 0x93, 0xab, 0xb7, 0xd4, 0xa7, 0x89, 0x9f, 0x40, 0xee, 0x98,
+	0x38, 0xba, 0x43, 0xe4, 0x81, 0xc6, 0x36, 0x87, 0xdc, 0xc4, 0xd9, 0x63, 0x56, 0x11, 0xe4, 0x91,
+	0xc6, 0x47, 0x90, 0x1d, 0x0e, 0xcc, 0x53, 0xff, 0x86, 0xdd, 0xe2, 0x98, 0x6d, 0x0c, 0x4c, 0x28,
+	0xef, 0x16, 0x73, 0xd3, 0xb4, 0x7c, 0xc4, 0x0e, 0x47, 0xdc, 0xc2, 0x19, 0xc7, 0xb4, 0x24, 0xe0,
+	0x2e, 0x64, 0x3c, 0x6b, 0x44, 0x5c, 0xcf, 0x18, 0x8d, 0xb7, 0x77, 0x79, 0xb6, 0xef, 0xe0, 0x50,
+	0x54, 0xcd, 0x01, 0x58, 0xae, 0x2e, 0x0b, 0x45, 0x35, 0x0b, 0x19, 0xcb, 0xd5, 0x45, 0x6d, 0xa8,
+	0xae, 0xc3, 0x0d, 0xcb, 0xd5, 0xa3, 0xf5, 0x40, 0x0a, 0xa3, 0xb9, 0x5f, 0xbd, 0x03, 0xbb, 0x16,
+	0x4b, 0xec, 0xf9, 0x79, 0x5e, 0x5d, 0x83, 0xbc, 0xe5, 0xea, 0x61, 0x2a, 0xcb, 0xc2, 0x1a, 0xa4,
+	0x6e, 0x75, 0x07, 0xb6, 0x2d, 0x57, 0x9f, 0x9b, 0xab, 0xd5, 0xdb, 0xb0, 0x13, 0xe8, 0x66, 0x32,
+	0xb2, 0x7a, 0x1f, 0xee, 0xce, 0x68, 0x23, 0x59, 0x57, 0x45, 0x50, 0x88, 0x23, 0xaa, 0xdb, 0xb0,
+	0x35, 0x33, 0x9f, 0xf0, 0x64, 0x03, 0x90, 0xe5, 0xea, 0xb1, 0x54, 0x91, 0xfe, 0x06, 0x69, 0x21,
+	0x51, 0xb1, 0x3c, 0xa8, 0xde, 0x84, 0xcd, 0x88, 0xd4, 0x8f, 0x79, 0xb9, 0xc6, 0x32, 0x4e, 0xe5,
+	0x48, 0x06, 0x74, 0xf5, 0x2e, 0xdc, 0x0e, 0x75, 0xb3, 0x31, 0x5c, 0xcd, 0x43, 0x56, 0xe8, 0x79,
+	0xa4, 0xc9, 0xa5, 0x0c, 0x23, 0x53, 0xea, 0xbd, 0xa8, 0x3e, 0x8c, 0xbd, 0xea, 0x0d, 0x58, 0x63,
+	0x4b, 0xad, 0xc4, 0x5a, 0xb5, 0x00, 0xab, 0x96, 0xab, 0x2b, 0x91, 0xe5, 0xb3, 0x06, 0x81, 0x24,
+	0x2f, 0x38, 0x88, 0x12, 0xed, 0xcf, 0x97, 0x61, 0xf7, 0x82, 0x6d, 0x18, 0xdd, 0x83, 0x2c, 0xeb,
+	0xc0, 0x75, 0x12, 0x36, 0xe5, 0xa9, 0x0b, 0x9a, 0xf2, 0x54, 0xd0, 0x94, 0x6f, 0x41, 0xea, 0x84,
+	0x71, 0x89, 0x3e, 0x25, 0x85, 0xe5, 0x08, 0x7d, 0xa2, 0xb4, 0xe4, 0xba, 0x44, 0xf0, 0x1d, 0x06,
+	0xaf, 0x05, 0xf2, 0xa3, 0x00, 0x1a, 0x74, 0xde, 0x3e, 0x74, 0x59, 0x40, 0x03, 0xb9, 0x84, 0x3e,
+	0x06, 0x14, 0xac, 0x2c, 0x31, 0x7d, 0x30, 0xdf, 0x58, 0x70, 0x21, 0xec, 0xc8, 0x43, 0xe2, 0xa0,
+	0xf1, 0xf6, 0xb1, 0x2b, 0x82, 0x38, 0x90, 0x4b, 0xe8, 0xc3, 0xb0, 0x1f, 0xf7, 0x91, 0x7c, 0x8f,
+	0xc1, 0xab, 0xbe, 0x58, 0x02, 0x1f, 0x41, 0x41, 0xe8, 0xf5, 0xfd, 0xe7, 0xba, 0xd2, 0x8f, 0xa7,
+	0xf0, 0xaa, 0x90, 0xef, 0x3f, 0x0f, 0x9a, 0xe4, 0x9b, 0x3e, 0x72, 0x4f, 0xf7, 0xa8, 0x5e, 0x2a,
+	0xbf, 0xd0, 0x95, 0x8e, 0x3c, 0x85, 0xd7, 0xa5, 0x81, 0x68, 0xc8, 0xdb, 0x7e, 0x93, 0xbc, 0x2d,
+	0xad, 0x4a, 0xe5, 0x03, 0x66, 0x56, 0xde, 0xdb, 0xf3, 0xcd, 0xf8, 0x5e, 0x82, 0x37, 0x84, 0x3e,
+	0xd6, 0x92, 0x87, 0x76, 0xe5, 0xbd, 0x7d, 0x66, 0xb7, 0x57, 0x2a, 0xe9, 0x4a, 0x57, 0x1e, 0xd8,
+	0xf9, 0x4d, 0x79, 0xdb, 0x6f, 0xae, 0x6f, 0x49, 0xbb, 0xbd, 0x52, 0x99, 0xbb, 0xf9, 0xb4, 0xfc,
+	0x4c, 0x57, 0xfa, 0xf2, 0x14, 0xde, 0x14, 0x80, 0xa0, 0x2d, 0x97, 0x96, 0x2f, 0x61, 0xc7, 0xf7,
+	0xf4, 0x69, 0xf9, 0x39, 0x37, 0xdd, 0x2b, 0x1d, 0xe8, 0x4a, 0x67, 0x9e, 0xc2, 0x5b, 0xd2, 0xd7,
+	0xa0, 0x31, 0x17, 0xb6, 0xda, 0x6f, 0x93, 0xf0, 0xe0, 0xb2, 0xc6, 0x50, 0x76, 0x41, 0x55, 0x48,
+	0x4f, 0xc6, 0xae, 0xe7, 0x10, 0x63, 0x24, 0x5b, 0x76, 0xf5, 0xc8, 0xea, 0x22, 0x86, 0xc0, 0x0e,
+	0x1d, 0x01, 0x98, 0xf4, 0x5b, 0x5b, 0xb2, 0x24, 0xaf, 0xc5, 0xa2, 0x58, 0xa2, 0x5f, 0x27, 0xe0,
+	0x01, 0x4f, 0x73, 0x22, 0xc1, 0x22, 0x56, 0x74, 0x22, 0xe1, 0xfa, 0x78, 0xa4, 0x9f, 0x50, 0x67,
+	0x64, 0x78, 0xf2, 0xc8, 0xf4, 0x20, 0xf6, 0x44, 0x7e, 0xf9, 0xf5, 0x16, 0x8f, 0xb8, 0x3d, 0xfe,
+	0x88, 0x9e, 0x8f, 0x15, 0x10, 0xed, 0x29, 0xa4, 0xc4, 0x5f, 0xfc, 0x70, 0xb3, 0xd1, 0xc4, 0xbd,
+	0x6f, 0xf4, 0xde, 0x57, 0x6d, 0xbd, 0xda, 0xec, 0x89, 0xe3, 0xd4, 0x6e, 0xf3, 0xeb, 0xde, 0x37,
+	0xfa, 0x51, 0xbb, 0x8f, 0xb9, 0x2c, 0xa1, 0x79, 0xb0, 0x22, 0x9b, 0x56, 0xa5, 0x1d, 0x4d, 0x28,
+	0xed, 0x28, 0x4b, 0x67, 0xd7, 0x33, 0xbc, 0x89, 0x2b, 0xbb, 0x54, 0x39, 0x62, 0xf5, 0xe1, 0xc4,
+	0xb0, 0x86, 0xba, 0x43, 0x0c, 0x97, 0xda, 0xfc, 0xea, 0x32, 0x18, 0x98, 0x08, 0x73, 0x09, 0xba,
+	0xc5, 0xf7, 0x62, 0x7e, 0x06, 0xc3, 0xf3, 0x3c, 0xc1, 0x76, 0x62, 0x3e, 0x95, 0x46, 0xc4, 0xe3,
+	0x84, 0xd2, 0x30, 0xcb, 0x5b, 0x7b, 0x49, 0xc7, 0xfc, 0xa9, 0x42, 0x99, 0xbc, 0xbf, 0xf8, 0x28,
+	0x5b, 0x46, 0xca, 0x72, 0xfa, 0x64, 0xc1, 0x34, 0x7f, 0x25, 0x8e, 0x42, 0xe3, 0x93, 0x5c, 0xb3,
+	0xbd, 0x57, 0x56, 0x60, 0xf1, 0xa2, 0x15, 0x58, 0xba, 0x70, 0x05, 0x96, 0xa3, 0x2b, 0xf0, 0xfb,
+	0xe2, 0xa8, 0xd3, 0x9e, 0xb0, 0x00, 0xe8, 0x4d, 0xf1, 0xb4, 0xeb, 0x19, 0x5e, 0xf0, 0x54, 0x75,
+	0xbd, 0x27, 0xd2, 0x7f, 0x5b, 0x84, 0xdd, 0xb9, 0x64, 0xf2, 0x7a, 0x3f, 0x81, 0x1b, 0xc7, 0x86,
+	0x4b, 0xd8, 0x16, 0x62, 0x38, 0x7e, 0x2d, 0x93, 0xcf, 0xa5, 0x4c, 0xd1, 0x9b, 0x56, 0x9c, 0xa0,
+	0x3e, 0x0a, 0xa8, 0x33, 0xd5, 0x8d, 0xf7, 0x3e, 0x34, 0x19, 0x42, 0xf1, 0xb4, 0xf2, 0x5e, 0x42,
+	0x8b, 0xb0, 0xe1, 0xb3, 0xda, 0x54, 0x21, 0x5e, 0x94, 0xa7, 0x2c, 0x9c, 0xb8, 0x45, 0x03, 0x6a,
+	0x1f, 0xef, 0x08, 0xfc, 0x7b, 0x75, 0x0b, 0x90, 0x78, 0xcc, 0xf0, 0xef, 0x83, 0xfa, 0x5b, 0x20,
+	0x53, 0x2f, 0xea, 0xb4, 0x78, 0x48, 0xcd, 0x93, 0xa9, 0xa7, 0xf8, 0x2c, 0x81, 0x11, 0x97, 0x53,
+	0x01, 0x50, 0xf1, 0xf8, 0x31, 0xac, 0x4b, 0xc6, 0x88, 0xc3, 0xe2, 0x40, 0x66, 0x8d, 0x93, 0x2a,
+	0xfe, 0x4a, 0x74, 0xdc, 0xdd, 0x74, 0x80, 0x8e, 0x78, 0xbb, 0x07, 0x37, 0xe5, 0xf6, 0xaf, 0x0f,
+	0xc4, 0x53, 0x9b, 0xee, 0x10, 0xcf, 0xb1, 0x88, 0x7f, 0x36, 0xb3, 0x21, 0xba, 0x5b, 0xf9, 0x48,
+	0x87, 0x85, 0x0e, 0xbd, 0x80, 0xed, 0xb8, 0x19, 0xdb, 0xa1, 0xe9, 0x24, 0x38, 0xa4, 0xd9, 0x8c,
+	0xd8, 0xf5, 0xa4, 0x52, 0x7b, 0x0b, 0x77, 0xc2, 0x5b, 0x5e, 0x19, 0xb0, 0xc6, 0x8d, 0xbf, 0x16,
+	0xfc, 0x9e, 0x21, 0xf4, 0xa7, 0x90, 0xe1, 0xe6, 0x35, 0xc3, 0x33, 0x58, 0xd8, 0x0e, 0x86, 0x86,
+	0xeb, 0xfa, 0x09, 0x92, 0xc7, 0x2b, 0x7c, 0xdc, 0x34, 0x59, 0xc8, 0x5b, 0xb6, 0x78, 0x01, 0xe6,
+	0xa7, 0x49, 0x1e, 0x83, 0x2f, 0x6a, 0x9a, 0x08, 0xc1, 0x92, 0x6d, 0x8c, 0x88, 0xcc, 0x14, 0xfe,
+	0x37, 0x7b, 0x92, 0x37, 0x89, 0x3b, 0x70, 0xac, 0x31, 0x7f, 0x44, 0x14, 0x79, 0xa2, 0x8a, 0xb4,
+	0x3f, 0x84, 0xbb, 0xe7, 0x5d, 0x8d, 0x8c, 0xe1, 0xcf, 0x20, 0x6f, 0x70, 0xb9, 0xce, 0x5f, 0x77,
+	0xb2, 0xf8, 0x65, 0xe9, 0xbf, 0xa1, 0xa4, 0x7f, 0x70, 0x01, 0x38, 0x67, 0x28, 0x14, 0xda, 0x6f,
+	0x12, 0xf0, 0x11, 0x63, 0x3f, 0x39, 0x19, 0x52, 0xc3, 0x24, 0x66, 0x65, 0x3c, 0x76, 0x59, 0x82,
+	0x58, 0xae, 0x67, 0x0d, 0x82, 0xf5, 0xea, 0x43, 0x9a, 0xa5, 0xb5, 0x7b, 0x44, 0x1d, 0x79, 0x76,
+	0xfa, 0x59, 0xac, 0x52, 0x5f, 0x68, 0x5f, 0x54, 0xd5, 0x38, 0xa0, 0xd2, 0x8e, 0x20, 0xa7, 0x6a,
+	0xe2, 0x47, 0xa8, 0x59, 0x58, 0xe9, 0x74, 0x3a, 0x94, 0x34, 0x2b, 0xf2, 0x3d, 0x4e, 0xe3, 0xb0,
+	0x73, 0xf6, 0x1c, 0x57, 0x0a, 0xc9, 0x60, 0xb4, 0x8f, 0x2b, 0x85, 0x45, 0xed, 0xd7, 0x5b, 0xa0,
+	0x5d, 0xe4, 0x84, 0x5c, 0xa6, 0x01, 0xe4, 0xcd, 0x77, 0x83, 0xf1, 0xd9, 0x73, 0x6c, 0xf0, 0x1a,
+	0x20, 0xef, 0xfe, 0xe7, 0x57, 0xbc, 0x14, 0xb9, 0xe1, 0xf8, 0x5e, 0x70, 0x8a, 0xc6, 0x02, 0x8e,
+	0x72, 0x06, 0x93, 0xec, 0xfb, 0x93, 0x24, 0xbf, 0xf7, 0x24, 0xfb, 0xf1, 0x49, 0x7c, 0x4e, 0xf4,
+	0x2b, 0xc8, 0x8d, 0xc7, 0x63, 0x4a, 0x9a, 0x72, 0x8e, 0x45, 0x3e, 0xc7, 0xcb, 0xeb, 0xcd, 0x21,
+	0xd7, 0xd6, 0x9f, 0x22, 0xc2, 0xb8, 0xf3, 0x5f, 0xcb, 0x90, 0x8f, 0x5c, 0x29, 0xeb, 0x5f, 0x2c,
+	0x5b, 0x3f, 0x36, 0xcc, 0xa0, 0x69, 0x3f, 0x71, 0xe8, 0x48, 0x1f, 0x0c, 0x2d, 0x62, 0xfb, 0xaf,
+	0xae, 0xb7, 0x2c, 0xbb, 0x6a, 0xf8, 0x07, 0xbc, 0x47, 0x0e, 0x1d, 0x1d, 0x72, 0xed, 0x79, 0xb6,
+	0x2e, 0x71, 0xce, 0xe4, 0x0b, 0x86, 0x39, 0xb6, 0x5d, 0xae, 0x45, 0xcf, 0x60, 0xcb, 0xb2, 0xe7,
+	0xce, 0x29, 0x8a, 0xe9, 0xba, 0x65, 0xcf, 0x4e, 0x38, 0xc7, 0x48, 0x4e, 0xb6, 0x34, 0xc7, 0x48,
+	0xce, 0x54, 0x82, 0x4d, 0x3a, 0xf1, 0x02, 0x2b, 0x8f, 0xfa, 0x36, 0xa2, 0xb2, 0x22, 0x3a, 0xf1,
+	0x4f, 0xba, 0x7b, 0xf4, 0x5c, 0x13, 0xe9, 0x5b, 0x6a, 0xd6, 0x44, 0xba, 0xf6, 0x16, 0x7e, 0x4a,
+	0x79, 0x62, 0xeb, 0x07, 0x65, 0xdd, 0xb2, 0x5d, 0xc2, 0x9e, 0x51, 0xe6, 0x4c, 0x2a, 0x2a, 0xef,
+	0x3d, 0x81, 0x3d, 0x28, 0x37, 0x25, 0x32, 0xee, 0xc1, 0x6b, 0xf8, 0x49, 0x48, 0xe7, 0x90, 0x11,
+	0x3d, 0x8b, 0xb2, 0x49, 0x7f, 0x44, 0x65, 0xbe, 0xeb, 0xb3, 0x61, 0x01, 0x8c, 0xfb, 0x56, 0x87,
+	0xfb, 0x21, 0x99, 0x4d, 0xbd, 0xd0, 0xbf, 0xd0, 0x2f, 0x51, 0xb1, 0x77, 0x7d, 0xa6, 0x16, 0xf5,
+	0x7c, 0xd7, 0x02, 0x9f, 0xfe, 0x04, 0x0a, 0x86, 0x69, 0x5a, 0xe2, 0x65, 0xad, 0xce, 0xd3, 0x7d,
+	0x1b, 0x78, 0x49, 0xea, 0xfc, 0x0e, 0xb9, 0x56, 0xac, 0x04, 0x9c, 0x7c, 0x5c, 0xb7, 0x3d, 0xe7,
+	0x03, 0x5e, 0x33, 0xa2, 0xd2, 0x9d, 0x2a, 0x6c, 0xcc, 0x03, 0xa2, 0x02, 0x2c, 0xbe, 0x27, 0x1f,
+	0x64, 0xdb, 0xc4, 0xfe, 0x44, 0x1b, 0xea, 0x67, 0x1b, 0x19, 0xf9, 0x6d, 0xc6, 0xcb, 0xe4, 0x41,
+	0x62, 0xe7, 0x3f, 0x52, 0x32, 0xfa, 0xf7, 0xff, 0xb7, 0xa3, 0x3f, 0x8c, 0x96, 0xd2, 0x8b, 0x8b,
+	0xa2, 0x65, 0x51, 0x8d, 0x96, 0xd2, 0x8b, 0xcb, 0xa3, 0xa5, 0xf4, 0xe2, 0x82, 0x68, 0x59, 0x52,
+	0xa3, 0xa5, 0xf4, 0xe2, 0x9c, 0x68, 0x51, 0x7c, 0x3b, 0xb8, 0xc8, 0xb7, 0xe5, 0x88, 0x6f, 0x07,
+	0x57, 0xf0, 0xed, 0xe0, 0x02, 0xdf, 0x52, 0x11, 0xdf, 0x0e, 0x2e, 0xf5, 0xed, 0xd9, 0x8b, 0x2b,
+	0x67, 0xd9, 0xb3, 0x2b, 0xac, 0xdb, 0xb3, 0x17, 0x57, 0xcd, 0xb2, 0x67, 0xe7, 0xad, 0xdb, 0x57,
+	0xf0, 0x09, 0x9d, 0x78, 0xa7, 0xd4, 0xb2, 0x4f, 0xf5, 0x91, 0x37, 0xd1, 0xc9, 0x74, 0x40, 0x88,
+	0x49, 0xe6, 0x87, 0x96, 0x48, 0xb7, 0x9f, 0xfa, 0x06, 0x6f, 0xbd, 0x49, 0x5d, 0xc2, 0x67, 0x03,
+	0xed, 0x87, 0xcd, 0xbb, 0xfd, 0x1f, 0x3f, 0xef, 0xfe, 0x21, 0x05, 0x39, 0x75, 0x5b, 0x42, 0xbf,
+	0x07, 0xb7, 0x2d, 0x5b, 0x9c, 0x5f, 0x5c, 0x90, 0x78, 0xdb, 0x96, 0xad, 0x7e, 0x4c, 0xa0, 0xac,
+	0xc8, 0xb9, 0xf6, 0x91, 0xe4, 0x9b, 0x63, 0xff, 0x7f, 0x74, 0xf3, 0xf9, 0x15, 0x14, 0xcf, 0x88,
+	0x6d, 0x52, 0x47, 0x77, 0xc5, 0xd7, 0x6c, 0x03, 0xdd, 0x33, 0x4e, 0x2f, 0x4f, 0x90, 0x47, 0xc2,
+	0x4a, 0x7e, 0x02, 0x37, 0xe8, 0x19, 0xa7, 0xe7, 0x65, 0xca, 0x2f, 0xe1, 0xd3, 0x79, 0x33, 0x5c,
+	0x96, 0x33, 0x0f, 0x67, 0x26, 0xf8, 0xb1, 0x93, 0xe7, 0xbb, 0x73, 0x93, 0xa7, 0xfd, 0xfd, 0xfb,
+	0xaa, 0x1f, 0x2f, 0x77, 0xaa, 0x2b, 0xb0, 0xcc, 0x9d, 0xd6, 0xfe, 0x69, 0x05, 0xd6, 0x5e, 0x11,
+	0x8f, 0x7f, 0x5a, 0xe8, 0x37, 0xf0, 0x9f, 0xc7, 0xbe, 0xd5, 0xcb, 0x96, 0xef, 0x44, 0x2f, 0x2a,
+	0xf6, 0x55, 0x60, 0x63, 0x21, 0xfc, 0x98, 0x0f, 0x7d, 0x0e, 0x2b, 0x13, 0xf1, 0xe5, 0x9a, 0x6c,
+	0x66, 0xef, 0x9d, 0xff, 0x65, 0x9b, 0x6f, 0xed, 0x5b, 0xa0, 0x0a, 0x64, 0xa9, 0xf8, 0x66, 0x89,
+	0x13, 0x2c, 0xce, 0x9b, 0x3c, 0xf6, 0x51, 0x53, 0x63, 0x01, 0xab, 0x36, 0xa8, 0x09, 0xab, 0xd4,
+	0x9e, 0x28, 0x9f, 0xb7, 0xf0, 0x3c, 0x9a, 0xe7, 0x46, 0xf4, 0x2b, 0x98, 0xc6, 0x02, 0x8e, 0x19,
+	0x22, 0x0c, 0x79, 0xe2, 0xbd, 0x0b, 0xbf, 0xb5, 0xe0, 0xd9, 0x95, 0x2d, 0xff, 0xec, 0xea, 0x5f,
+	0x82, 0xb0, 0x66, 0x3c, 0x42, 0x81, 0xfe, 0x3f, 0x7f, 0xfd, 0x2c, 0xd5, 0x3c, 0xf7, 0xb2, 0xe5,
+	0xdd, 0x19, 0xc2, 0xf0, 0x7d, 0x78, 0x63, 0x01, 0x2b, 0x06, 0xa8, 0x0a, 0x40, 0xb9, 0xe7, 0xfc,
+	0xca, 0x56, 0xb8, 0xf9, 0xfd, 0x19, 0xf3, 0xd8, 0xab, 0x65, 0xc6, 0x11, 0x5a, 0xa1, 0x37, 0xb0,
+	0x42, 0xed, 0x09, 0x27, 0x48, 0x73, 0x82, 0xa7, 0xd7, 0x38, 0x48, 0x0b, 0x6e, 0x99, 0xa4, 0x40,
+	0x07, 0xe0, 0x9f, 0xc4, 0xf0, 0x04, 0xca, 0x96, 0x6f, 0x47, 0xd9, 0xa2, 0x2f, 0x72, 0x99, 0xa5,
+	0x84, 0xa3, 0xd7, 0x90, 0xa3, 0xe2, 0x39, 0xb5, 0x2b, 0xf3, 0x87, 0x99, 0x7f, 0x3c, 0x73, 0x35,
+	0xf3, 0xce, 0x75, 0xd8, 0x23, 0x88, 0x6a, 0x8c, 0x2a, 0x00, 0x34, 0x38, 0x04, 0xe3, 0x87, 0xb9,
+	0xb3, 0xb7, 0x7c, 0x38, 0xeb, 0x8c, 0x62, 0x84, 0x7a, 0xb0, 0x46, 0xed, 0x89, 0xfa, 0xcc, 0xcc,
+	0x0f, 0x77, 0xb3, 0xe5, 0x47, 0x73, 0x5d, 0x9a, 0x73, 0x54, 0xd0, 0x58, 0xc0, 0x71, 0x0a, 0xf4,
+	0x4b, 0x40, 0x34, 0x5e, 0x03, 0xc4, 0xe1, 0x6f, 0xb6, 0xfc, 0xf8, 0x3a, 0xcf, 0xc5, 0x8d, 0x05,
+	0x3c, 0x87, 0xa9, 0x9a, 0x81, 0x15, 0x47, 0x00, 0xb4, 0xdf, 0x02, 0xff, 0x24, 0x43, 0xe6, 0xb2,
+	0x7c, 0x8e, 0x7d, 0x19, 0x1c, 0xb9, 0x89, 0x67, 0x71, 0x2d, 0x3a, 0x67, 0x04, 0x5c, 0xec, 0x72,
+	0x64, 0x70, 0x2c, 0x57, 0x87, 0x0c, 0x71, 0x1c, 0x71, 0x04, 0x27, 0x3f, 0x69, 0x7c, 0x78, 0x91,
+	0x39, 0xdf, 0x17, 0x05, 0x1c, 0x87, 0x96, 0xe8, 0xe7, 0x4a, 0x3d, 0x11, 0x29, 0x7d, 0xf7, 0xbc,
+	0x7a, 0x22, 0x88, 0x22, 0x05, 0xe5, 0xe7, 0x61, 0x41, 0x59, 0x3a, 0x27, 0xde, 0x63, 0x9f, 0xca,
+	0xaa, 0x15, 0xe5, 0x35, 0xe4, 0xc6, 0xa2, 0x5a, 0x78, 0x36, 0x71, 0x5c, 0x99, 0xc2, 0x1f, 0x5f,
+	0x58, 0x52, 0x14, 0x9e, 0x88, 0x31, 0xfa, 0x62, 0xa6, 0xb6, 0x88, 0x04, 0x7e, 0x78, 0x49, 0x6d,
+	0x51, 0x08, 0xe3, 0x35, 0xe6, 0x18, 0x6e, 0x44, 0x0a, 0x84, 0x92, 0xd7, 0xe5, 0xab, 0xd7, 0x19,
+	0x65, 0x82, 0x59, 0x3a, 0x54, 0x8f, 0xd4, 0x1c, 0x91, 0xf3, 0x3f, 0xb9, 0xa0, 0xe6, 0x28, 0x6c,
+	0x6a, 0xed, 0x79, 0xcd, 0xaf, 0xbe, 0x43, 0x6d, 0x7f, 0x9d, 0x64, 0xc2, 0x7f, 0x74, 0x41, 0xfd,
+	0x89, 0x5c, 0xb7, 0x62, 0x8a, 0xfa, 0xfc, 0x9b, 0x94, 0x80, 0x49, 0xe4, 0x7e, 0xe9, 0xda, 0x27,
+	0xfa, 0xbc, 0xfa, 0x87, 0x3c, 0xe8, 0xb3, 0xb0, 0x1a, 0x65, 0xe7, 0x6d, 0x1e, 0xb1, 0x03, 0x6c,
+	0xb5, 0x1c, 0xbd, 0x89, 0x95, 0xa3, 0xdc, 0xcc, 0x9b, 0x8c, 0x0b, 0x4e, 0x86, 0x67, 0xea, 0x51,
+	0x35, 0x52, 0x8f, 0xf2, 0x73, 0x03, 0x77, 0x38, 0xc7, 0x1d, 0xb5, 0x20, 0xf5, 0x67, 0x0b, 0xd2,
+	0x2a, 0x27, 0xfa, 0xe4, 0x0a, 0x05, 0x29, 0x60, 0x9c, 0xa9, 0x48, 0xfa, 0xdc, 0x8a, 0xb4, 0xc6,
+	0x99, 0x3f, 0xbd, 0x56, 0xf7, 0x32, 0xbf, 0x24, 0x69, 0x25, 0x48, 0x89, 0x42, 0x82, 0x36, 0xa0,
+	0xd0, 0xed, 0x55, 0x7a, 0xfd, 0x6e, 0xe4, 0x93, 0xeb, 0x14, 0x24, 0xdb, 0xaf, 0x0b, 0x09, 0xfe,
+	0x23, 0x0a, 0x8c, 0xdb, 0xb8, 0x90, 0xd4, 0xfe, 0x26, 0x01, 0x59, 0xa5, 0x7a, 0x30, 0x43, 0x5c,
+	0xaf, 0x74, 0xdb, 0xad, 0x88, 0xe1, 0x1a, 0x64, 0xfb, 0xad, 0x6e, 0xbf, 0xd3, 0x69, 0xe3, 0x1e,
+	0xff, 0x5e, 0x7b, 0x13, 0x6e, 0x34, 0x5b, 0x5f, 0x56, 0xde, 0x34, 0x6b, 0x7a, 0xad, 0xfe, 0x65,
+	0xf3, 0xb0, 0xae, 0x37, 0x6b, 0x85, 0xa4, 0x2a, 0x66, 0x50, 0xbd, 0xf7, 0x4d, 0xa7, 0x5e, 0x58,
+	0x44, 0x59, 0x58, 0xe9, 0x35, 0xdf, 0xd6, 0xdb, 0xfd, 0x5e, 0x61, 0x89, 0xcd, 0xe0, 0x63, 0x70,
+	0xfd, 0x0b, 0x01, 0x59, 0x46, 0x08, 0x56, 0x9b, 0xad, 0x5e, 0x1d, 0xb7, 0x2a, 0x6f, 0x74, 0xe1,
+	0x5b, 0x4a, 0xc8, 0xd4, 0x49, 0x0a, 0x2b, 0x55, 0x80, 0xb4, 0x23, 0x17, 0x41, 0xfb, 0xeb, 0x04,
+	0x14, 0x2a, 0xe3, 0xb1, 0x5c, 0x2b, 0xf1, 0x19, 0x3e, 0x7a, 0x00, 0xab, 0xc4, 0x36, 0x8e, 0x87,
+	0xc4, 0x3f, 0x95, 0xe0, 0xe5, 0x37, 0x8d, 0x63, 0xd2, 0x18, 0x6e, 0x1f, 0x57, 0x78, 0x9d, 0x8d,
+	0xe2, 0xf6, 0x71, 0x05, 0xfd, 0x14, 0xf2, 0x42, 0xc2, 0x1a, 0xc6, 0x7a, 0xb3, 0x22, 0xbf, 0xc5,
+	0x8a, 0x0a, 0x91, 0x06, 0x39, 0x63, 0x30, 0x20, 0xae, 0xdb, 0xa2, 0x26, 0x69, 0xd6, 0xe4, 0x01,
+	0x71, 0x44, 0xa6, 0xfd, 0x77, 0x02, 0xd6, 0x43, 0x77, 0x79, 0xb6, 0x72, 0x8f, 0x2f, 0xff, 0x4a,
+	0xec, 0x35, 0xc0, 0x98, 0x38, 0xb2, 0xd8, 0x6e, 0x2f, 0xf3, 0x76, 0xf7, 0xff, 0xa9, 0xc7, 0xc6,
+	0xb3, 0xac, 0xc5, 0x0e, 0x37, 0x10, 0x03, 0xac, 0x98, 0xef, 0x4c, 0x21, 0xa7, 0xea, 0xd8, 0x05,
+	0x1a, 0xa7, 0xc4, 0xf6, 0x58, 0x27, 0xef, 0x31, 0xdf, 0x45, 0xcf, 0x1a, 0x15, 0xb2, 0xe5, 0xe2,
+	0x82, 0x43, 0xcb, 0x19, 0x4c, 0x2c, 0xaf, 0x59, 0x93, 0xc7, 0xe3, 0x31, 0x29, 0xda, 0x81, 0x34,
+	0x15, 0xfb, 0x82, 0xe9, 0xff, 0xb2, 0xc5, 0x1f, 0x6b, 0xff, 0x99, 0x80, 0xb5, 0x6e, 0xac, 0xe5,
+	0x8d, 0xff, 0x4e, 0x28, 0x71, 0xd5, 0xdf, 0x09, 0xa1, 0xd7, 0x80, 0x8c, 0xf1, 0x58, 0x97, 0x69,
+	0x10, 0xfd, 0x9d, 0xd1, 0xee, 0xdc, 0xc5, 0x09, 0x78, 0x0a, 0x46, 0x3c, 0x6a, 0xfa, 0xb0, 0xa5,
+	0x92, 0x51, 0x7b, 0xe2, 0x13, 0xce, 0xee, 0x9b, 0x73, 0x56, 0xbb, 0xb1, 0x80, 0xd7, 0x8d, 0x59,
+	0xb1, 0xda, 0x23, 0xfc, 0x63, 0x12, 0x0a, 0xdd, 0xeb, 0xf4, 0x08, 0xdd, 0xdf, 0xad, 0x47, 0xe8,
+	0x5e, 0xad, 0x47, 0xf8, 0x3e, 0x35, 0xe3, 0xbb, 0x1f, 0xb2, 0x64, 0xdc, 0x82, 0x4d, 0x5f, 0xdc,
+	0x6e, 0xf5, 0x15, 0xd5, 0xa2, 0x9a, 0xff, 0xfd, 0x56, 0x93, 0xc9, 0x96, 0x34, 0x0b, 0x36, 0xbb,
+	0x96, 0x7d, 0x3a, 0x24, 0xf1, 0x67, 0xa7, 0x1d, 0x48, 0x7b, 0x86, 0x73, 0x4a, 0xbc, 0x20, 0x85,
+	0x82, 0x31, 0x7a, 0x1e, 0xdc, 0x06, 0x19, 0x1f, 0x3b, 0x73, 0x9b, 0x29, 0x8e, 0xc0, 0xc1, 0x1d,
+	0xfb, 0x02, 0xb6, 0xe2, 0x53, 0xc9, 0xdb, 0xf6, 0x22, 0x2c, 0x42, 0x32, 0x60, 0x77, 0x2f, 0xe8,
+	0xce, 0x70, 0x58, 0xb1, 0x02, 0xef, 0xbb, 0x3f, 0x94, 0xf7, 0xdd, 0x4b, 0xbd, 0xef, 0x5e, 0xcf,
+	0xfb, 0xee, 0xb9, 0xde, 0x97, 0xff, 0x2e, 0x01, 0x99, 0xba, 0x0f, 0x44, 0x18, 0xb2, 0xaf, 0x88,
+	0x57, 0x9f, 0x0a, 0x38, 0x52, 0xf7, 0xd8, 0xb9, 0x77, 0x68, 0xe7, 0xa3, 0x0b, 0x10, 0xd2, 0x35,
+	0x0c, 0xd9, 0xee, 0x85, 0x9c, 0xdd, 0x4b, 0x39, 0xe3, 0xfe, 0x57, 0x31, 0xdc, 0xa1, 0xce, 0x69,
+	0x91, 0x8e, 0x89, 0x3d, 0xa0, 0x8e, 0x59, 0x14, 0xbf, 0x78, 0x0c, 0xed, 0xfe, 0xa0, 0x74, 0x6a,
+	0x79, 0xef, 0x26, 0xc7, 0xc5, 0x01, 0x1d, 0x3d, 0xf1, 0x51, 0x4f, 0x04, 0xea, 0x53, 0xf9, 0xbb,
+	0xc8, 0xb3, 0xbd, 0x27, 0xa7, 0x34, 0xfc, 0x21, 0xe5, 0x71, 0x8a, 0xcb, 0x9f, 0xfd, 0x4f, 0x00,
+	0x00, 0x00, 0xff, 0xff, 0x1e, 0x03, 0xf8, 0x72, 0x6a, 0x39, 0x00, 0x00,
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
diff --git a/vendor/modules.txt b/vendor/modules.txt
index f0e9ca1..470d3e6 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -74,12 +74,12 @@
 github.com/olekukonko/tablewriter
 # github.com/opencord/cordctl v0.0.0-20190909161711-01e9c1f04bf4
 github.com/opencord/cordctl/pkg/format
-# github.com/opencord/device-management-interface v1.4.0
+# github.com/opencord/device-management-interface v1.17.0
 github.com/opencord/device-management-interface/go/dmi
 # github.com/opencord/omci-lib-go/v2 v2.2.3
 github.com/opencord/omci-lib-go/v2
 github.com/opencord/omci-lib-go/v2/generated
-# github.com/opencord/voltha-protos/v5 v5.4.11
+# github.com/opencord/voltha-protos/v5 v5.6.2
 github.com/opencord/voltha-protos/v5/go/ext/config
 github.com/opencord/voltha-protos/v5/go/extension
 github.com/opencord/voltha-protos/v5/go/openolt