diff --git a/go/dmi/sw_management_service.pb.go b/go/dmi/sw_management_service.pb.go
index c3c2718..d61b85b 100644
--- a/go/dmi/sw_management_service.pb.go
+++ b/go/dmi/sw_management_service.pb.go
@@ -22,6 +22,71 @@
 // proto package needs to be updated.
 const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
 
+type GetSoftwareVersionInformationResponse_Reason int32
+
+const (
+	GetSoftwareVersionInformationResponse_UNDEFINED_REASON GetSoftwareVersionInformationResponse_Reason = 0
+	GetSoftwareVersionInformationResponse_UNKNOWN_DEVICE   GetSoftwareVersionInformationResponse_Reason = 1
+	GetSoftwareVersionInformationResponse_INTERNAL_ERROR   GetSoftwareVersionInformationResponse_Reason = 2
+)
+
+var GetSoftwareVersionInformationResponse_Reason_name = map[int32]string{
+	0: "UNDEFINED_REASON",
+	1: "UNKNOWN_DEVICE",
+	2: "INTERNAL_ERROR",
+}
+
+var GetSoftwareVersionInformationResponse_Reason_value = map[string]int32{
+	"UNDEFINED_REASON": 0,
+	"UNKNOWN_DEVICE":   1,
+	"INTERNAL_ERROR":   2,
+}
+
+func (x GetSoftwareVersionInformationResponse_Reason) String() string {
+	return proto.EnumName(GetSoftwareVersionInformationResponse_Reason_name, int32(x))
+}
+
+func (GetSoftwareVersionInformationResponse_Reason) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_000929e4bec891d7, []int{1, 0}
+}
+
+type ConfigResponse_Reason int32
+
+const (
+	ConfigResponse_UNDEFINED_REASON              ConfigResponse_Reason = 0
+	ConfigResponse_UNKNOWN_DEVICE                ConfigResponse_Reason = 1
+	ConfigResponse_INTERNAL_ERROR                ConfigResponse_Reason = 2
+	ConfigResponse_ERROR_FETCHING_CONFIG         ConfigResponse_Reason = 3
+	ConfigResponse_INVALID_CONFIG                ConfigResponse_Reason = 4
+	ConfigResponse_OPERATION_ALREADY_IN_PROGRESS ConfigResponse_Reason = 5
+)
+
+var ConfigResponse_Reason_name = map[int32]string{
+	0: "UNDEFINED_REASON",
+	1: "UNKNOWN_DEVICE",
+	2: "INTERNAL_ERROR",
+	3: "ERROR_FETCHING_CONFIG",
+	4: "INVALID_CONFIG",
+	5: "OPERATION_ALREADY_IN_PROGRESS",
+}
+
+var ConfigResponse_Reason_value = map[string]int32{
+	"UNDEFINED_REASON":              0,
+	"UNKNOWN_DEVICE":                1,
+	"INTERNAL_ERROR":                2,
+	"ERROR_FETCHING_CONFIG":         3,
+	"INVALID_CONFIG":                4,
+	"OPERATION_ALREADY_IN_PROGRESS": 5,
+}
+
+func (x ConfigResponse_Reason) String() string {
+	return proto.EnumName(ConfigResponse_Reason_name, int32(x))
+}
+
+func (ConfigResponse_Reason) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_000929e4bec891d7, []int{4, 0}
+}
+
 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"`
@@ -70,12 +135,12 @@
 }
 
 type GetSoftwareVersionInformationResponse struct {
-	Status               Status                      `protobuf:"varint,1,opt,name=status,proto3,enum=dmi.Status" json:"status,omitempty"`
-	Reason               Reason                      `protobuf:"varint,2,opt,name=reason,proto3,enum=dmi.Reason" json:"reason,omitempty"`
-	Info                 *SoftwareVersionInformation `protobuf:"bytes,3,opt,name=info,proto3" json:"info,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}                    `json:"-"`
-	XXX_unrecognized     []byte                      `json:"-"`
-	XXX_sizecache        int32                       `json:"-"`
+	Status               Status                                       `protobuf:"varint,1,opt,name=status,proto3,enum=dmi.Status" json:"status,omitempty"`
+	Reason               GetSoftwareVersionInformationResponse_Reason `protobuf:"varint,2,opt,name=reason,proto3,enum=dmi.GetSoftwareVersionInformationResponse_Reason" json:"reason,omitempty"`
+	Info                 *SoftwareVersionInformation                  `protobuf:"bytes,3,opt,name=info,proto3" json:"info,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}                                     `json:"-"`
+	XXX_unrecognized     []byte                                       `json:"-"`
+	XXX_sizecache        int32                                        `json:"-"`
 }
 
 func (m *GetSoftwareVersionInformationResponse) Reset()         { *m = GetSoftwareVersionInformationResponse{} }
@@ -110,11 +175,11 @@
 	return Status_UNDEFINED_STATUS
 }
 
-func (m *GetSoftwareVersionInformationResponse) GetReason() Reason {
+func (m *GetSoftwareVersionInformationResponse) GetReason() GetSoftwareVersionInformationResponse_Reason {
 	if m != nil {
 		return m.Reason
 	}
-	return Reason_UNDEFINED_REASON
+	return GetSoftwareVersionInformationResponse_UNDEFINED_REASON
 }
 
 func (m *GetSoftwareVersionInformationResponse) GetInfo() *SoftwareVersionInformation {
@@ -222,11 +287,11 @@
 }
 
 type ConfigResponse struct {
-	Status               Status   `protobuf:"varint,1,opt,name=status,proto3,enum=dmi.Status" json:"status,omitempty"`
-	Reason               Reason   `protobuf:"varint,2,opt,name=reason,proto3,enum=dmi.Reason" json:"reason,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	Status               Status                `protobuf:"varint,1,opt,name=status,proto3,enum=dmi.Status" json:"status,omitempty"`
+	Reason               ConfigResponse_Reason `protobuf:"varint,2,opt,name=reason,proto3,enum=dmi.ConfigResponse_Reason" json:"reason,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
+	XXX_unrecognized     []byte                `json:"-"`
+	XXX_sizecache        int32                 `json:"-"`
 }
 
 func (m *ConfigResponse) Reset()         { *m = ConfigResponse{} }
@@ -261,14 +326,16 @@
 	return Status_UNDEFINED_STATUS
 }
 
-func (m *ConfigResponse) GetReason() Reason {
+func (m *ConfigResponse) GetReason() ConfigResponse_Reason {
 	if m != nil {
 		return m.Reason
 	}
-	return Reason_UNDEFINED_REASON
+	return ConfigResponse_UNDEFINED_REASON
 }
 
 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.RegisterType((*SoftwareVersionInformation)(nil), "dmi.SoftwareVersionInformation")
 	proto.RegisterType((*GetSoftwareVersionInformationResponse)(nil), "dmi.GetSoftwareVersionInformationResponse")
 	proto.RegisterType((*DownloadImageRequest)(nil), "dmi.DownloadImageRequest")
@@ -279,40 +346,49 @@
 func init() { proto.RegisterFile("dmi/sw_management_service.proto", fileDescriptor_000929e4bec891d7) }
 
 var fileDescriptor_000929e4bec891d7 = []byte{
-	// 528 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x54, 0xd1, 0x8a, 0x13, 0x3d,
-	0x14, 0x66, 0xda, 0x9f, 0x85, 0x9e, 0xfe, 0x6d, 0x77, 0xe3, 0x0a, 0x75, 0x40, 0xba, 0x54, 0x84,
-	0xb2, 0xb0, 0x9d, 0xa5, 0xdd, 0x1b, 0x5d, 0x11, 0xd4, 0x85, 0xb5, 0x17, 0x0a, 0x4e, 0xad, 0x17,
-	0xbd, 0x19, 0xd2, 0x49, 0x3a, 0x1b, 0x68, 0x92, 0x31, 0xc9, 0x4c, 0xf5, 0x45, 0x7c, 0x04, 0x9f,
-	0xcf, 0x47, 0x90, 0x24, 0x53, 0xbb, 0x65, 0xb7, 0xa0, 0xe2, 0xdd, 0xe4, 0x3b, 0xe7, 0xfb, 0xce,
-	0xc9, 0x39, 0xdf, 0x04, 0x7a, 0x84, 0xb3, 0x48, 0xaf, 0x13, 0x8e, 0x05, 0xce, 0x28, 0xa7, 0xc2,
-	0x24, 0x9a, 0xaa, 0x92, 0xa5, 0x74, 0x98, 0x2b, 0x69, 0x24, 0xaa, 0x13, 0xce, 0xc2, 0x23, 0x9b,
-	0x95, 0x4a, 0xce, 0xa5, 0xd0, 0x1e, 0x0f, 0xff, 0xb7, 0xd0, 0xcd, 0xba, 0x3a, 0xa1, 0x4a, 0x86,
-	0x71, 0x9c, 0x55, 0xcc, 0xfe, 0xb7, 0x00, 0xc2, 0xa9, 0x5c, 0x9a, 0x35, 0x56, 0xf4, 0x13, 0x55,
-	0x9a, 0x49, 0x31, 0x11, 0x4b, 0xa9, 0x38, 0x36, 0x4c, 0x0a, 0xf4, 0x1c, 0x3a, 0x38, 0x35, 0xac,
-	0xa4, 0x49, 0xe9, 0x83, 0xba, 0x1b, 0x9c, 0xd4, 0x07, 0xcd, 0xd1, 0xd1, 0x90, 0x70, 0x36, 0x9c,
-	0x58, 0xa5, 0x8a, 0x16, 0xb7, 0x7d, 0x66, 0x75, 0xd4, 0xe8, 0x05, 0x1c, 0x6a, 0x83, 0x05, 0x59,
-	0x7c, 0xdd, 0x92, 0x6b, 0xfb, 0xc8, 0x9d, 0x2a, 0x75, 0xc3, 0xee, 0x7f, 0x0f, 0xe0, 0xe9, 0x35,
-	0x35, 0xfb, 0x7b, 0x8b, 0xa9, 0xce, 0xa5, 0xd0, 0x14, 0x3d, 0x81, 0x03, 0x6d, 0xb0, 0x29, 0x6c,
-	0x6b, 0xc1, 0xa0, 0x3d, 0x6a, 0x3a, 0xf5, 0xa9, 0x83, 0xe2, 0x2a, 0x64, 0x93, 0x14, 0xc5, 0x5a,
-	0x8a, 0x6e, 0xed, 0x56, 0x52, 0xec, 0xa0, 0xb8, 0x0a, 0xa1, 0x31, 0xfc, 0xc7, 0xc4, 0x52, 0x76,
-	0xeb, 0x27, 0xc1, 0xa0, 0x39, 0xea, 0x79, 0x9d, 0xfd, 0x0d, 0xb8, 0xe4, 0xfe, 0x17, 0x38, 0xbe,
-	0x92, 0x6b, 0xb1, 0x92, 0x98, 0xb8, 0x1b, 0xc5, 0xf4, 0x73, 0x41, 0xb5, 0x41, 0xa7, 0xd0, 0x24,
-	0xd4, 0xee, 0x28, 0x29, 0x0a, 0x46, 0x5c, 0x6f, 0xcd, 0x51, 0xc3, 0x69, 0xce, 0x0a, 0x46, 0x62,
-	0xf0, 0x51, 0xfb, 0x8d, 0x2e, 0x00, 0xdc, 0x52, 0x12, 0x57, 0xbe, 0xe6, 0x52, 0x1f, 0x6e, 0x87,
-	0x74, 0xbb, 0x68, 0x83, 0x6d, 0x90, 0xfe, 0x1c, 0x5a, 0x6f, 0xa4, 0x58, 0xb2, 0xec, 0x6f, 0x4a,
-	0x3e, 0x06, 0x48, 0x1d, 0x39, 0x29, 0xd4, 0xca, 0x95, 0x6c, 0xc4, 0x0d, 0x8f, 0xcc, 0xd4, 0xaa,
-	0x3f, 0x87, 0xf6, 0x46, 0xfb, 0x5f, 0x8f, 0x79, 0xf4, 0xa3, 0x06, 0xbd, 0xf7, 0xd8, 0x7a, 0x65,
-	0x33, 0xdc, 0x77, 0xbf, 0x8c, 0x3d, 0xf5, 0xbe, 0x46, 0x1f, 0x00, 0xdd, 0xdd, 0x3e, 0xea, 0x38,
-	0xb9, 0xb7, 0x58, 0x11, 0x8b, 0x4e, 0xae, 0xc2, 0x53, 0x07, 0xfc, 0x9e, 0x4f, 0x5e, 0x42, 0x6b,
-	0x67, 0x51, 0xe8, 0x91, 0x23, 0xdf, 0xb7, 0xbc, 0xf0, 0x70, 0x3b, 0x7c, 0x7f, 0xc3, 0xf3, 0x00,
-	0x5d, 0x40, 0xeb, 0x95, 0x75, 0x38, 0x36, 0xd4, 0xf3, 0xef, 0x74, 0x73, 0x1f, 0xeb, 0x12, 0x8e,
-	0x63, 0x5a, 0x52, 0x65, 0x3e, 0xca, 0xa9, 0xb7, 0xf8, 0x1f, 0x90, 0xaf, 0x21, 0x9c, 0xe5, 0x04,
-	0x1b, 0x8b, 0x28, 0x53, 0xe4, 0x7e, 0x25, 0x85, 0xf2, 0x3f, 0x27, 0x72, 0x8c, 0x1d, 0x0b, 0x84,
-	0x0f, 0x76, 0x30, 0x7f, 0xf3, 0xf3, 0xe0, 0xf5, 0xe5, 0xfc, 0x59, 0xc6, 0xcc, 0x4d, 0xb1, 0x18,
-	0xa6, 0x92, 0x47, 0x32, 0xa7, 0x22, 0x95, 0x8a, 0x44, 0xde, 0x0f, 0x67, 0xdb, 0x77, 0xe5, 0x8c,
-	0x09, 0x43, 0xd5, 0x12, 0xa7, 0x34, 0x2a, 0xc7, 0x51, 0x26, 0x23, 0xc2, 0xd9, 0xe2, 0xc0, 0x3d,
-	0x15, 0xe3, 0x9f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x9c, 0xd0, 0x0a, 0x81, 0x87, 0x04, 0x00, 0x00,
+	// 671 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x54, 0x5f, 0x4f, 0x13, 0x4f,
+	0x14, 0xfd, 0x6d, 0xcb, 0xaf, 0x49, 0x6f, 0xa5, 0x2c, 0x23, 0x24, 0xd0, 0x84, 0x80, 0x35, 0x26,
+	0x84, 0x84, 0x16, 0x0b, 0x2f, 0x8a, 0x31, 0xa9, 0xed, 0xb6, 0x6c, 0xc4, 0x2d, 0x4e, 0x5b, 0x8c,
+	0xbc, 0x6c, 0x86, 0xee, 0xb4, 0x4c, 0xc2, 0xce, 0xd4, 0xd9, 0xd9, 0x56, 0xdf, 0xfd, 0x08, 0xc6,
+	0xf8, 0x31, 0xfd, 0x08, 0x66, 0x67, 0xb6, 0x56, 0xfe, 0x25, 0x60, 0x7c, 0xdb, 0x3d, 0x73, 0xce,
+	0xb9, 0x77, 0xf7, 0x9e, 0x3b, 0xb0, 0x19, 0x84, 0xac, 0x1a, 0x4d, 0xfd, 0x90, 0x70, 0x32, 0xa2,
+	0x21, 0xe5, 0xca, 0x8f, 0xa8, 0x9c, 0xb0, 0x01, 0xad, 0x8c, 0xa5, 0x50, 0x02, 0x65, 0x83, 0x90,
+	0x95, 0x96, 0x13, 0xd6, 0x40, 0x84, 0xa1, 0xe0, 0x91, 0xc1, 0x4b, 0x8f, 0x12, 0xe8, 0x62, 0x9a,
+	0xbe, 0xa1, 0xd4, 0x86, 0x85, 0x64, 0x94, 0x2a, 0xcb, 0xdf, 0x2d, 0x28, 0x75, 0xc5, 0x50, 0x4d,
+	0x89, 0xa4, 0xa7, 0x54, 0x46, 0x4c, 0x70, 0x97, 0x0f, 0x85, 0x0c, 0x89, 0x62, 0x82, 0xa3, 0x97,
+	0xb0, 0x44, 0x06, 0x8a, 0x4d, 0xa8, 0x3f, 0x31, 0x87, 0xd1, 0x9a, 0xb5, 0x95, 0xdd, 0x2e, 0xd4,
+	0x96, 0x2b, 0x41, 0xc8, 0x2a, 0x6e, 0xe2, 0x94, 0xca, 0x70, 0xd1, 0x30, 0xd3, 0xd7, 0x08, 0xbd,
+	0x02, 0x3b, 0x52, 0x84, 0x07, 0xe7, 0x5f, 0xe6, 0xe2, 0xcc, 0x5d, 0xe2, 0xa5, 0x94, 0x3a, 0x53,
+	0x97, 0xbf, 0x65, 0xe0, 0x59, 0x9b, 0xaa, 0xbb, 0x7b, 0xc3, 0x34, 0x1a, 0x0b, 0x1e, 0x51, 0xf4,
+	0x14, 0x72, 0x91, 0x22, 0x2a, 0x4e, 0x5a, 0xb3, 0xb6, 0x8b, 0xb5, 0x82, 0x76, 0xef, 0x6a, 0x08,
+	0xa7, 0x47, 0xc8, 0x85, 0x9c, 0xa4, 0x24, 0x12, 0x7c, 0x2d, 0xa3, 0x49, 0xcf, 0x35, 0xe9, 0x5e,
+	0x05, 0x2a, 0x58, 0x0b, 0x71, 0x6a, 0x80, 0xf6, 0x61, 0x81, 0xf1, 0xa1, 0x58, 0xcb, 0x6e, 0x59,
+	0xdb, 0x85, 0xda, 0xa6, 0xa9, 0x76, 0xb7, 0x8b, 0x26, 0x97, 0x5b, 0x90, 0x33, 0x36, 0x68, 0x05,
+	0xec, 0xbe, 0xd7, 0x74, 0x5a, 0xae, 0xe7, 0x34, 0x7d, 0xec, 0xd4, 0xbb, 0x1d, 0xcf, 0xfe, 0x0f,
+	0x21, 0x28, 0xf6, 0xbd, 0xb7, 0x5e, 0xe7, 0x83, 0xe7, 0x37, 0x9d, 0x53, 0xb7, 0xe1, 0xd8, 0x56,
+	0x82, 0xb9, 0x5e, 0xcf, 0xc1, 0x5e, 0xfd, 0xd8, 0x77, 0x30, 0xee, 0x60, 0x3b, 0x53, 0xfe, 0x0c,
+	0x2b, 0x4d, 0x31, 0xe5, 0x97, 0x82, 0x04, 0xfa, 0xff, 0x61, 0xfa, 0x29, 0xa6, 0x91, 0x42, 0x3b,
+	0x50, 0x08, 0x68, 0x92, 0x08, 0x3f, 0x8e, 0x59, 0xa0, 0xff, 0x44, 0xa1, 0x96, 0xd7, 0xbd, 0xf5,
+	0x63, 0x16, 0x60, 0x30, 0xa7, 0xc9, 0x33, 0x3a, 0x00, 0xd0, 0x11, 0xf0, 0xf5, 0x67, 0x64, 0x34,
+	0x75, 0x75, 0x3e, 0x92, 0x3f, 0x9b, 0xcf, 0xb3, 0x19, 0x52, 0x3e, 0x83, 0xc5, 0x86, 0xe0, 0x43,
+	0x36, 0xfa, 0x9b, 0x92, 0x1b, 0x00, 0x03, 0x2d, 0xf6, 0x63, 0x79, 0xa9, 0x4b, 0xe6, 0x71, 0xde,
+	0x20, 0x7d, 0x79, 0x59, 0xfe, 0x9a, 0x81, 0xe2, 0xcc, 0xfc, 0x21, 0x53, 0xad, 0x5d, 0x9b, 0x6a,
+	0x49, 0x93, 0xae, 0x3a, 0x5d, 0x1b, 0x5f, 0xf9, 0x87, 0xf5, 0x6f, 0x46, 0x81, 0xd6, 0x61, 0x55,
+	0x3f, 0xfa, 0x2d, 0xa7, 0xd7, 0x38, 0x72, 0xbd, 0xb6, 0xdf, 0xe8, 0x78, 0x2d, 0xb7, 0x6d, 0x67,
+	0x0d, 0xfd, 0xb4, 0x7e, 0xec, 0x36, 0x67, 0xd8, 0x02, 0x7a, 0x02, 0x1b, 0x9d, 0x13, 0x07, 0xd7,
+	0x7b, 0x6e, 0xc7, 0xf3, 0xeb, 0xc7, 0xd8, 0xa9, 0x37, 0x3f, 0xfa, 0xae, 0xe7, 0x9f, 0xe0, 0x4e,
+	0x1b, 0x3b, 0xdd, 0xae, 0xfd, 0x7f, 0xed, 0x67, 0x06, 0x36, 0x3d, 0x92, 0x2c, 0xd1, 0x2c, 0x4f,
+	0xef, 0x7e, 0x6f, 0x7c, 0xd7, 0x2c, 0x3c, 0x7a, 0x0f, 0xe8, 0x66, 0x6a, 0xd1, 0x92, 0xfe, 0xf0,
+	0x23, 0x22, 0x83, 0x04, 0x75, 0x9b, 0xa5, 0x9d, 0xfb, 0xe7, 0x1b, 0xbd, 0x86, 0xc5, 0x2b, 0x99,
+	0x42, 0xeb, 0x5a, 0x7c, 0x5b, 0xce, 0x4a, 0xf6, 0x3c, 0x27, 0x66, 0x16, 0x7b, 0x16, 0x3a, 0x80,
+	0xc5, 0x7a, 0xb2, 0xfa, 0x44, 0x51, 0xa3, 0xbf, 0xd1, 0xcd, 0x6d, 0xaa, 0x43, 0x58, 0xc1, 0x74,
+	0x42, 0xa5, 0xea, 0x89, 0xae, 0xd9, 0xfd, 0x07, 0x88, 0xdb, 0x50, 0xea, 0x8f, 0x03, 0xa2, 0x12,
+	0x44, 0xaa, 0x78, 0x6c, 0x46, 0x1e, 0x4b, 0x73, 0x6b, 0xa1, 0x2b, 0x31, 0x30, 0x8d, 0x3f, 0xbe,
+	0x25, 0x1a, 0x7b, 0xd6, 0x9b, 0xc3, 0xb3, 0x17, 0x23, 0xa6, 0x2e, 0xe2, 0xf3, 0xca, 0x40, 0x84,
+	0x55, 0x31, 0xa6, 0x7c, 0x20, 0x64, 0x50, 0x35, 0xd1, 0xdd, 0x9d, 0x5f, 0xb8, 0xbb, 0x8c, 0x2b,
+	0x2a, 0x87, 0x64, 0x40, 0xab, 0x93, 0xfd, 0xea, 0x48, 0x54, 0x83, 0x90, 0x9d, 0xe7, 0xf4, 0x1d,
+	0xba, 0xff, 0x2b, 0x00, 0x00, 0xff, 0xff, 0x55, 0x2e, 0xda, 0x40, 0xa0, 0x05, 0x00, 0x00,
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
