Remove prototype for project configs

This has since been launched under src/config and the prototype is not
obsolete.

Change-Id: I33d09b6b28bcaf77106b52d469aaa3f562141bc1
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/infra/proto/+/2349955
Tested-by: C Shapiro <shapiroc@chromium.org>
Auto-Submit: C Shapiro <shapiroc@chromium.org>
Reviewed-by: David Burger <dburger@chromium.org>
Commit-Queue: David Burger <dburger@chromium.org>
diff --git a/go/prototype/common.pb.go b/go/prototype/common.pb.go
deleted file mode 100644
index 641ecb5..0000000
--- a/go/prototype/common.pb.go
+++ /dev/null
@@ -1,252 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// source: prototype/common.proto
-
-package prototype
-
-import (
-	fmt "fmt"
-	proto "github.com/golang/protobuf/proto"
-	math "math"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the proto package it is being compiled against.
-// A compilation error at this line likely means your copy of the
-// proto package needs to be updated.
-const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
-
-type Presence_Indicator int32
-
-const (
-	Presence_PRESENCE_UNKNOWN Presence_Indicator = 0
-	Presence_PRESENT          Presence_Indicator = 1
-	Presence_NOT_PRESENT      Presence_Indicator = 2
-)
-
-var Presence_Indicator_name = map[int32]string{
-	0: "PRESENCE_UNKNOWN",
-	1: "PRESENT",
-	2: "NOT_PRESENT",
-}
-
-var Presence_Indicator_value = map[string]int32{
-	"PRESENCE_UNKNOWN": 0,
-	"PRESENT":          1,
-	"NOT_PRESENT":      2,
-}
-
-func (x Presence_Indicator) String() string {
-	return proto.EnumName(Presence_Indicator_name, int32(x))
-}
-
-func (Presence_Indicator) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_e4a0830c57d57f2a, []int{0, 0}
-}
-
-type ByteSize_Unit int32
-
-const (
-	ByteSize_UNIT_UNDEFINED ByteSize_Unit = 0
-	ByteSize_BYTE           ByteSize_Unit = 1
-	ByteSize_KB             ByteSize_Unit = 2
-	ByteSize_MB             ByteSize_Unit = 3
-	ByteSize_GB             ByteSize_Unit = 4
-)
-
-var ByteSize_Unit_name = map[int32]string{
-	0: "UNIT_UNDEFINED",
-	1: "BYTE",
-	2: "KB",
-	3: "MB",
-	4: "GB",
-}
-
-var ByteSize_Unit_value = map[string]int32{
-	"UNIT_UNDEFINED": 0,
-	"BYTE":           1,
-	"KB":             2,
-	"MB":             3,
-	"GB":             4,
-}
-
-func (x ByteSize_Unit) String() string {
-	return proto.EnumName(ByteSize_Unit_name, int32(x))
-}
-
-func (ByteSize_Unit) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_e4a0830c57d57f2a, []int{1, 0}
-}
-
-type Presence struct {
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *Presence) Reset()         { *m = Presence{} }
-func (m *Presence) String() string { return proto.CompactTextString(m) }
-func (*Presence) ProtoMessage()    {}
-func (*Presence) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e4a0830c57d57f2a, []int{0}
-}
-
-func (m *Presence) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Presence.Unmarshal(m, b)
-}
-func (m *Presence) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Presence.Marshal(b, m, deterministic)
-}
-func (m *Presence) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Presence.Merge(m, src)
-}
-func (m *Presence) XXX_Size() int {
-	return xxx_messageInfo_Presence.Size(m)
-}
-func (m *Presence) XXX_DiscardUnknown() {
-	xxx_messageInfo_Presence.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Presence proto.InternalMessageInfo
-
-type ByteSize struct {
-	Value                int32         `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
-	Unit                 ByteSize_Unit `protobuf:"varint,2,opt,name=unit,proto3,enum=prototype.ByteSize_Unit" json:"unit,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
-	XXX_unrecognized     []byte        `json:"-"`
-	XXX_sizecache        int32         `json:"-"`
-}
-
-func (m *ByteSize) Reset()         { *m = ByteSize{} }
-func (m *ByteSize) String() string { return proto.CompactTextString(m) }
-func (*ByteSize) ProtoMessage()    {}
-func (*ByteSize) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e4a0830c57d57f2a, []int{1}
-}
-
-func (m *ByteSize) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_ByteSize.Unmarshal(m, b)
-}
-func (m *ByteSize) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_ByteSize.Marshal(b, m, deterministic)
-}
-func (m *ByteSize) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_ByteSize.Merge(m, src)
-}
-func (m *ByteSize) XXX_Size() int {
-	return xxx_messageInfo_ByteSize.Size(m)
-}
-func (m *ByteSize) XXX_DiscardUnknown() {
-	xxx_messageInfo_ByteSize.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_ByteSize proto.InternalMessageInfo
-
-func (m *ByteSize) GetValue() int32 {
-	if m != nil {
-		return m.Value
-	}
-	return 0
-}
-
-func (m *ByteSize) GetUnit() ByteSize_Unit {
-	if m != nil {
-		return m.Unit
-	}
-	return ByteSize_UNIT_UNDEFINED
-}
-
-// 4-digit hex encoded strings
-type UsbDeviceId struct {
-	VendorId             string   `protobuf:"bytes,1,opt,name=vendor_id,json=vendorId,proto3" json:"vendor_id,omitempty"`
-	ProductId            string   `protobuf:"bytes,2,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"`
-	BcdDevice            string   `protobuf:"bytes,3,opt,name=bcd_device,json=bcdDevice,proto3" json:"bcd_device,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *UsbDeviceId) Reset()         { *m = UsbDeviceId{} }
-func (m *UsbDeviceId) String() string { return proto.CompactTextString(m) }
-func (*UsbDeviceId) ProtoMessage()    {}
-func (*UsbDeviceId) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e4a0830c57d57f2a, []int{2}
-}
-
-func (m *UsbDeviceId) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_UsbDeviceId.Unmarshal(m, b)
-}
-func (m *UsbDeviceId) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_UsbDeviceId.Marshal(b, m, deterministic)
-}
-func (m *UsbDeviceId) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_UsbDeviceId.Merge(m, src)
-}
-func (m *UsbDeviceId) XXX_Size() int {
-	return xxx_messageInfo_UsbDeviceId.Size(m)
-}
-func (m *UsbDeviceId) XXX_DiscardUnknown() {
-	xxx_messageInfo_UsbDeviceId.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_UsbDeviceId proto.InternalMessageInfo
-
-func (m *UsbDeviceId) GetVendorId() string {
-	if m != nil {
-		return m.VendorId
-	}
-	return ""
-}
-
-func (m *UsbDeviceId) GetProductId() string {
-	if m != nil {
-		return m.ProductId
-	}
-	return ""
-}
-
-func (m *UsbDeviceId) GetBcdDevice() string {
-	if m != nil {
-		return m.BcdDevice
-	}
-	return ""
-}
-
-func init() {
-	proto.RegisterEnum("prototype.Presence_Indicator", Presence_Indicator_name, Presence_Indicator_value)
-	proto.RegisterEnum("prototype.ByteSize_Unit", ByteSize_Unit_name, ByteSize_Unit_value)
-	proto.RegisterType((*Presence)(nil), "prototype.Presence")
-	proto.RegisterType((*ByteSize)(nil), "prototype.ByteSize")
-	proto.RegisterType((*UsbDeviceId)(nil), "prototype.UsbDeviceId")
-}
-
-func init() { proto.RegisterFile("prototype/common.proto", fileDescriptor_e4a0830c57d57f2a) }
-
-var fileDescriptor_e4a0830c57d57f2a = []byte{
-	// 329 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x3c, 0x8f, 0x51, 0x6b, 0xea, 0x30,
-	0x14, 0xc7, 0x6d, 0xad, 0xde, 0xf6, 0x08, 0xde, 0x10, 0xe4, 0x52, 0xb8, 0x5c, 0x90, 0x3e, 0xf9,
-	0x70, 0x69, 0x61, 0xb2, 0xb7, 0xc1, 0xa0, 0xb3, 0x1b, 0x45, 0x16, 0xa5, 0xb6, 0x8c, 0xed, 0xa5,
-	0xd8, 0x24, 0xd3, 0xc0, 0xda, 0x48, 0x6c, 0x05, 0xf7, 0x19, 0xf6, 0xa1, 0x47, 0xd3, 0xe9, 0xd3,
-	0xc9, 0xff, 0xf7, 0xcb, 0x39, 0x9c, 0x03, 0x7f, 0x0e, 0x4a, 0xd6, 0xb2, 0x3e, 0x1f, 0x78, 0x40,
-	0x65, 0x59, 0xca, 0xca, 0xd7, 0x00, 0x3b, 0x57, 0xee, 0x2d, 0xc1, 0x5e, 0x2b, 0x7e, 0xe4, 0x15,
-	0xe5, 0xde, 0x3d, 0x38, 0x71, 0xc5, 0x04, 0xdd, 0xd6, 0x52, 0xe1, 0x09, 0xa0, 0x75, 0x12, 0x6d,
-	0x22, 0xf2, 0x10, 0xe5, 0x19, 0x59, 0x92, 0xd5, 0x0b, 0x41, 0x3d, 0x3c, 0x82, 0x5f, 0x1d, 0x4d,
-	0x91, 0x81, 0x7f, 0xc3, 0x88, 0xac, 0xd2, 0xfc, 0x02, 0x4c, 0xef, 0xcb, 0x00, 0x3b, 0x3c, 0xd7,
-	0x7c, 0x23, 0x3e, 0x39, 0x9e, 0xc0, 0xe0, 0xb4, 0xfd, 0x68, 0xb8, 0x6b, 0x4c, 0x8d, 0xd9, 0x20,
-	0xe9, 0x02, 0xfe, 0x0f, 0x56, 0x53, 0x89, 0xda, 0x35, 0xa7, 0xc6, 0x6c, 0x7c, 0xe3, 0xfa, 0xd7,
-	0x4d, 0xfc, 0x4b, 0xa3, 0x9f, 0x55, 0xa2, 0x4e, 0xf4, 0x2f, 0xef, 0x0e, 0xac, 0x36, 0x61, 0x0c,
-	0xe3, 0x8c, 0xc4, 0x69, 0x9e, 0x91, 0x45, 0xf4, 0x18, 0x93, 0x68, 0x81, 0x7a, 0xd8, 0x06, 0x2b,
-	0x7c, 0x4d, 0x23, 0x64, 0xe0, 0x21, 0x98, 0xcb, 0x10, 0x99, 0x6d, 0x7d, 0x0e, 0x51, 0xbf, 0xad,
-	0x4f, 0x21, 0xb2, 0xbc, 0x3d, 0x8c, 0xb2, 0x63, 0xb1, 0xe0, 0x27, 0x41, 0x79, 0xcc, 0xf0, 0x5f,
-	0x70, 0x4e, 0xbc, 0x62, 0x52, 0xe5, 0x82, 0xe9, 0xa5, 0x9c, 0xc4, 0xee, 0x40, 0xcc, 0xf0, 0x3f,
-	0x80, 0x83, 0x92, 0xac, 0xa1, 0x75, 0x6b, 0x4d, 0x6d, 0x9d, 0x1f, 0xd2, 0xe9, 0x82, 0xb2, 0x9c,
-	0xe9, 0x59, 0x6e, 0xbf, 0xd3, 0x05, 0x65, 0xdd, 0xf0, 0xf0, 0xf6, 0x6d, 0xbe, 0x93, 0x3e, 0xdd,
-	0x2b, 0x59, 0x8a, 0xa6, 0xf4, 0xa5, 0xda, 0x05, 0x97, 0x20, 0x8f, 0x81, 0xa8, 0xde, 0xd5, 0x36,
-	0xd0, 0x97, 0x06, 0x3b, 0x19, 0x5c, 0x4f, 0x2e, 0x86, 0xfa, 0x39, 0xff, 0x0e, 0x00, 0x00, 0xff,
-	0xff, 0x81, 0x32, 0x21, 0xe9, 0xa8, 0x01, 0x00, 0x00,
-}
diff --git a/go/prototype/component.pb.go b/go/prototype/component.pb.go
deleted file mode 100644
index 7999e9f..0000000
--- a/go/prototype/component.pb.go
+++ /dev/null
@@ -1,755 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// source: prototype/component.proto
-
-package prototype
-
-import (
-	fmt "fmt"
-	proto "github.com/golang/protobuf/proto"
-	descriptor "github.com/golang/protobuf/protoc-gen-go/descriptor"
-	math "math"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the proto package it is being compiled against.
-// A compilation error at this line likely means your copy of the
-// proto package needs to be updated.
-const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
-
-type Component_Soc_Architecture int32
-
-const (
-	Component_Soc_ARCHITECTURE_UNDEFINED Component_Soc_Architecture = 0
-	Component_Soc_X86                    Component_Soc_Architecture = 1
-	Component_Soc_X86_64                 Component_Soc_Architecture = 2
-	Component_Soc_ARM                    Component_Soc_Architecture = 3
-	Component_Soc_ARM64                  Component_Soc_Architecture = 4
-)
-
-var Component_Soc_Architecture_name = map[int32]string{
-	0: "ARCHITECTURE_UNDEFINED",
-	1: "X86",
-	2: "X86_64",
-	3: "ARM",
-	4: "ARM64",
-}
-
-var Component_Soc_Architecture_value = map[string]int32{
-	"ARCHITECTURE_UNDEFINED": 0,
-	"X86":                    1,
-	"X86_64":                 2,
-	"ARM":                    3,
-	"ARM64":                  4,
-}
-
-func (x Component_Soc_Architecture) String() string {
-	return proto.EnumName(Component_Soc_Architecture_name, int32(x))
-}
-
-func (Component_Soc_Architecture) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_04855929ef1e786b, []int{1, 0, 0}
-}
-
-type Component_Soc_Family int32
-
-const (
-	Component_Soc_FAMILY_UNDEFINED Component_Soc_Family = 0
-	Component_Soc_RK3399           Component_Soc_Family = 1
-	Component_Soc_GEMINI_LAKE      Component_Soc_Family = 2
-)
-
-var Component_Soc_Family_name = map[int32]string{
-	0: "FAMILY_UNDEFINED",
-	1: "RK3399",
-	2: "GEMINI_LAKE",
-}
-
-var Component_Soc_Family_value = map[string]int32{
-	"FAMILY_UNDEFINED": 0,
-	"RK3399":           1,
-	"GEMINI_LAKE":      2,
-}
-
-func (x Component_Soc_Family) String() string {
-	return proto.EnumName(Component_Soc_Family_name, int32(x))
-}
-
-func (Component_Soc_Family) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_04855929ef1e786b, []int{1, 0, 1}
-}
-
-type Component_Memory_Type int32
-
-const (
-	Component_Memory_TYPE_UNDEFINED Component_Memory_Type = 0
-	Component_Memory_DDR            Component_Memory_Type = 1
-	Component_Memory_DDR2           Component_Memory_Type = 2
-	Component_Memory_DDR3           Component_Memory_Type = 3
-	Component_Memory_DDR4           Component_Memory_Type = 4
-	Component_Memory_LP_DDR3        Component_Memory_Type = 5
-	Component_Memory_LP_DDR4        Component_Memory_Type = 6
-)
-
-var Component_Memory_Type_name = map[int32]string{
-	0: "TYPE_UNDEFINED",
-	1: "DDR",
-	2: "DDR2",
-	3: "DDR3",
-	4: "DDR4",
-	5: "LP_DDR3",
-	6: "LP_DDR4",
-}
-
-var Component_Memory_Type_value = map[string]int32{
-	"TYPE_UNDEFINED": 0,
-	"DDR":            1,
-	"DDR2":           2,
-	"DDR3":           3,
-	"DDR4":           4,
-	"LP_DDR3":        5,
-	"LP_DDR4":        6,
-}
-
-func (x Component_Memory_Type) String() string {
-	return proto.EnumName(Component_Memory_Type_name, int32(x))
-}
-
-func (Component_Memory_Type) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_04855929ef1e786b, []int{1, 1, 0}
-}
-
-type Component_Camera_Feature int32
-
-const (
-	Component_Camera_FEATURE_UNKNOWN Component_Camera_Feature = 0
-	Component_Camera_ACTIVITY_LED    Component_Camera_Feature = 1
-)
-
-var Component_Camera_Feature_name = map[int32]string{
-	0: "FEATURE_UNKNOWN",
-	1: "ACTIVITY_LED",
-}
-
-var Component_Camera_Feature_value = map[string]int32{
-	"FEATURE_UNKNOWN": 0,
-	"ACTIVITY_LED":    1,
-}
-
-func (x Component_Camera_Feature) String() string {
-	return proto.EnumName(Component_Camera_Feature_name, int32(x))
-}
-
-func (Component_Camera_Feature) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_04855929ef1e786b, []int{1, 3, 0}
-}
-
-type Component_Camera_ClockType int32
-
-const (
-	Component_Camera_CLOCK_TYPE_UNDEFINED Component_Camera_ClockType = 0
-	Component_Camera_MONOTONIC            Component_Camera_ClockType = 1
-	Component_Camera_BOOTTIME             Component_Camera_ClockType = 2
-)
-
-var Component_Camera_ClockType_name = map[int32]string{
-	0: "CLOCK_TYPE_UNDEFINED",
-	1: "MONOTONIC",
-	2: "BOOTTIME",
-}
-
-var Component_Camera_ClockType_value = map[string]int32{
-	"CLOCK_TYPE_UNDEFINED": 0,
-	"MONOTONIC":            1,
-	"BOOTTIME":             2,
-}
-
-func (x Component_Camera_ClockType) String() string {
-	return proto.EnumName(Component_Camera_ClockType_name, int32(x))
-}
-
-func (Component_Camera_ClockType) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_04855929ef1e786b, []int{1, 3, 1}
-}
-
-type ComponentId struct {
-	Value                string   `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *ComponentId) Reset()         { *m = ComponentId{} }
-func (m *ComponentId) String() string { return proto.CompactTextString(m) }
-func (*ComponentId) ProtoMessage()    {}
-func (*ComponentId) Descriptor() ([]byte, []int) {
-	return fileDescriptor_04855929ef1e786b, []int{0}
-}
-
-func (m *ComponentId) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_ComponentId.Unmarshal(m, b)
-}
-func (m *ComponentId) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_ComponentId.Marshal(b, m, deterministic)
-}
-func (m *ComponentId) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_ComponentId.Merge(m, src)
-}
-func (m *ComponentId) XXX_Size() int {
-	return xxx_messageInfo_ComponentId.Size(m)
-}
-func (m *ComponentId) XXX_DiscardUnknown() {
-	xxx_messageInfo_ComponentId.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_ComponentId proto.InternalMessageInfo
-
-func (m *ComponentId) GetValue() string {
-	if m != nil {
-		return m.Value
-	}
-	return ""
-}
-
-type Component struct {
-	Id *ComponentId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
-	// Types that are valid to be assigned to Type:
-	//	*Component_Soc_
-	//	*Component_Memory_
-	//	*Component_Bluetooth_
-	//	*Component_Camera_
-	//	*Component_Touchscreen_
-	Type                 isComponent_Type `protobuf_oneof:"type"`
-	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
-	XXX_unrecognized     []byte           `json:"-"`
-	XXX_sizecache        int32            `json:"-"`
-}
-
-func (m *Component) Reset()         { *m = Component{} }
-func (m *Component) String() string { return proto.CompactTextString(m) }
-func (*Component) ProtoMessage()    {}
-func (*Component) Descriptor() ([]byte, []int) {
-	return fileDescriptor_04855929ef1e786b, []int{1}
-}
-
-func (m *Component) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Component.Unmarshal(m, b)
-}
-func (m *Component) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Component.Marshal(b, m, deterministic)
-}
-func (m *Component) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Component.Merge(m, src)
-}
-func (m *Component) XXX_Size() int {
-	return xxx_messageInfo_Component.Size(m)
-}
-func (m *Component) XXX_DiscardUnknown() {
-	xxx_messageInfo_Component.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Component proto.InternalMessageInfo
-
-func (m *Component) GetId() *ComponentId {
-	if m != nil {
-		return m.Id
-	}
-	return nil
-}
-
-type isComponent_Type interface {
-	isComponent_Type()
-}
-
-type Component_Soc_ struct {
-	Soc *Component_Soc `protobuf:"bytes,2,opt,name=soc,proto3,oneof"`
-}
-
-type Component_Memory_ struct {
-	Memory *Component_Memory `protobuf:"bytes,3,opt,name=memory,proto3,oneof"`
-}
-
-type Component_Bluetooth_ struct {
-	Bluetooth *Component_Bluetooth `protobuf:"bytes,4,opt,name=bluetooth,proto3,oneof"`
-}
-
-type Component_Camera_ struct {
-	Camera *Component_Camera `protobuf:"bytes,5,opt,name=camera,proto3,oneof"`
-}
-
-type Component_Touchscreen_ struct {
-	Touchscreen *Component_Touchscreen `protobuf:"bytes,6,opt,name=touchscreen,proto3,oneof"`
-}
-
-func (*Component_Soc_) isComponent_Type() {}
-
-func (*Component_Memory_) isComponent_Type() {}
-
-func (*Component_Bluetooth_) isComponent_Type() {}
-
-func (*Component_Camera_) isComponent_Type() {}
-
-func (*Component_Touchscreen_) isComponent_Type() {}
-
-func (m *Component) GetType() isComponent_Type {
-	if m != nil {
-		return m.Type
-	}
-	return nil
-}
-
-func (m *Component) GetSoc() *Component_Soc {
-	if x, ok := m.GetType().(*Component_Soc_); ok {
-		return x.Soc
-	}
-	return nil
-}
-
-func (m *Component) GetMemory() *Component_Memory {
-	if x, ok := m.GetType().(*Component_Memory_); ok {
-		return x.Memory
-	}
-	return nil
-}
-
-func (m *Component) GetBluetooth() *Component_Bluetooth {
-	if x, ok := m.GetType().(*Component_Bluetooth_); ok {
-		return x.Bluetooth
-	}
-	return nil
-}
-
-func (m *Component) GetCamera() *Component_Camera {
-	if x, ok := m.GetType().(*Component_Camera_); ok {
-		return x.Camera
-	}
-	return nil
-}
-
-func (m *Component) GetTouchscreen() *Component_Touchscreen {
-	if x, ok := m.GetType().(*Component_Touchscreen_); ok {
-		return x.Touchscreen
-	}
-	return nil
-}
-
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*Component) XXX_OneofWrappers() []interface{} {
-	return []interface{}{
-		(*Component_Soc_)(nil),
-		(*Component_Memory_)(nil),
-		(*Component_Bluetooth_)(nil),
-		(*Component_Camera_)(nil),
-		(*Component_Touchscreen_)(nil),
-	}
-}
-
-type Component_Soc struct {
-	Family               Component_Soc_Family `protobuf:"varint,1,opt,name=family,proto3,enum=prototype.Component_Soc_Family" json:"family,omitempty"`
-	Model                string               `protobuf:"bytes,2,opt,name=model,proto3" json:"model,omitempty"`
-	Cores                int32                `protobuf:"varint,3,opt,name=cores,proto3" json:"cores,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
-	XXX_unrecognized     []byte               `json:"-"`
-	XXX_sizecache        int32                `json:"-"`
-}
-
-func (m *Component_Soc) Reset()         { *m = Component_Soc{} }
-func (m *Component_Soc) String() string { return proto.CompactTextString(m) }
-func (*Component_Soc) ProtoMessage()    {}
-func (*Component_Soc) Descriptor() ([]byte, []int) {
-	return fileDescriptor_04855929ef1e786b, []int{1, 0}
-}
-
-func (m *Component_Soc) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Component_Soc.Unmarshal(m, b)
-}
-func (m *Component_Soc) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Component_Soc.Marshal(b, m, deterministic)
-}
-func (m *Component_Soc) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Component_Soc.Merge(m, src)
-}
-func (m *Component_Soc) XXX_Size() int {
-	return xxx_messageInfo_Component_Soc.Size(m)
-}
-func (m *Component_Soc) XXX_DiscardUnknown() {
-	xxx_messageInfo_Component_Soc.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Component_Soc proto.InternalMessageInfo
-
-func (m *Component_Soc) GetFamily() Component_Soc_Family {
-	if m != nil {
-		return m.Family
-	}
-	return Component_Soc_FAMILY_UNDEFINED
-}
-
-func (m *Component_Soc) GetModel() string {
-	if m != nil {
-		return m.Model
-	}
-	return ""
-}
-
-func (m *Component_Soc) GetCores() int32 {
-	if m != nil {
-		return m.Cores
-	}
-	return 0
-}
-
-var E_Component_Soc_Arch = &proto.ExtensionDesc{
-	ExtendedType:  (*descriptor.EnumValueOptions)(nil),
-	ExtensionType: (Component_Soc_Architecture)(nil),
-	Field:         1914503,
-	Name:          "prototype.Component.Soc.arch",
-	Tag:           "varint,1914503,opt,name=arch,enum=prototype.Component_Soc_Architecture",
-	Filename:      "prototype/component.proto",
-}
-
-type Component_Memory struct {
-	Type                 Component_Memory_Type `protobuf:"varint,1,opt,name=type,proto3,enum=prototype.Component_Memory_Type" json:"type,omitempty"`
-	SpeedMhz             int32                 `protobuf:"varint,2,opt,name=speed_mhz,json=speedMhz,proto3" json:"speed_mhz,omitempty"`
-	Size                 *ByteSize             `protobuf:"bytes,3,opt,name=size,proto3" json:"size,omitempty"`
-	PartNumber           string                `protobuf:"bytes,4,opt,name=part_number,json=partNumber,proto3" json:"part_number,omitempty"`
-	ManufacturerId       *PartnerId            `protobuf:"bytes,5,opt,name=manufacturer_id,json=manufacturerId,proto3" json:"manufacturer_id,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
-	XXX_unrecognized     []byte                `json:"-"`
-	XXX_sizecache        int32                 `json:"-"`
-}
-
-func (m *Component_Memory) Reset()         { *m = Component_Memory{} }
-func (m *Component_Memory) String() string { return proto.CompactTextString(m) }
-func (*Component_Memory) ProtoMessage()    {}
-func (*Component_Memory) Descriptor() ([]byte, []int) {
-	return fileDescriptor_04855929ef1e786b, []int{1, 1}
-}
-
-func (m *Component_Memory) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Component_Memory.Unmarshal(m, b)
-}
-func (m *Component_Memory) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Component_Memory.Marshal(b, m, deterministic)
-}
-func (m *Component_Memory) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Component_Memory.Merge(m, src)
-}
-func (m *Component_Memory) XXX_Size() int {
-	return xxx_messageInfo_Component_Memory.Size(m)
-}
-func (m *Component_Memory) XXX_DiscardUnknown() {
-	xxx_messageInfo_Component_Memory.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Component_Memory proto.InternalMessageInfo
-
-func (m *Component_Memory) GetType() Component_Memory_Type {
-	if m != nil {
-		return m.Type
-	}
-	return Component_Memory_TYPE_UNDEFINED
-}
-
-func (m *Component_Memory) GetSpeedMhz() int32 {
-	if m != nil {
-		return m.SpeedMhz
-	}
-	return 0
-}
-
-func (m *Component_Memory) GetSize() *ByteSize {
-	if m != nil {
-		return m.Size
-	}
-	return nil
-}
-
-func (m *Component_Memory) GetPartNumber() string {
-	if m != nil {
-		return m.PartNumber
-	}
-	return ""
-}
-
-func (m *Component_Memory) GetManufacturerId() *PartnerId {
-	if m != nil {
-		return m.ManufacturerId
-	}
-	return nil
-}
-
-type Component_Bluetooth struct {
-	UsbDeviceId          *UsbDeviceId `protobuf:"bytes,1,opt,name=usb_device_id,json=usbDeviceId,proto3" json:"usb_device_id,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
-	XXX_unrecognized     []byte       `json:"-"`
-	XXX_sizecache        int32        `json:"-"`
-}
-
-func (m *Component_Bluetooth) Reset()         { *m = Component_Bluetooth{} }
-func (m *Component_Bluetooth) String() string { return proto.CompactTextString(m) }
-func (*Component_Bluetooth) ProtoMessage()    {}
-func (*Component_Bluetooth) Descriptor() ([]byte, []int) {
-	return fileDescriptor_04855929ef1e786b, []int{1, 2}
-}
-
-func (m *Component_Bluetooth) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Component_Bluetooth.Unmarshal(m, b)
-}
-func (m *Component_Bluetooth) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Component_Bluetooth.Marshal(b, m, deterministic)
-}
-func (m *Component_Bluetooth) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Component_Bluetooth.Merge(m, src)
-}
-func (m *Component_Bluetooth) XXX_Size() int {
-	return xxx_messageInfo_Component_Bluetooth.Size(m)
-}
-func (m *Component_Bluetooth) XXX_DiscardUnknown() {
-	xxx_messageInfo_Component_Bluetooth.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Component_Bluetooth proto.InternalMessageInfo
-
-func (m *Component_Bluetooth) GetUsbDeviceId() *UsbDeviceId {
-	if m != nil {
-		return m.UsbDeviceId
-	}
-	return nil
-}
-
-type Component_Camera struct {
-	Features             []Component_Camera_Feature `protobuf:"varint,1,rep,packed,name=features,proto3,enum=prototype.Component_Camera_Feature" json:"features,omitempty"`
-	ClockType            Component_Camera_ClockType `protobuf:"varint,2,opt,name=clock_type,json=clockType,proto3,enum=prototype.Component_Camera_ClockType" json:"clock_type,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
-	XXX_unrecognized     []byte                     `json:"-"`
-	XXX_sizecache        int32                      `json:"-"`
-}
-
-func (m *Component_Camera) Reset()         { *m = Component_Camera{} }
-func (m *Component_Camera) String() string { return proto.CompactTextString(m) }
-func (*Component_Camera) ProtoMessage()    {}
-func (*Component_Camera) Descriptor() ([]byte, []int) {
-	return fileDescriptor_04855929ef1e786b, []int{1, 3}
-}
-
-func (m *Component_Camera) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Component_Camera.Unmarshal(m, b)
-}
-func (m *Component_Camera) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Component_Camera.Marshal(b, m, deterministic)
-}
-func (m *Component_Camera) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Component_Camera.Merge(m, src)
-}
-func (m *Component_Camera) XXX_Size() int {
-	return xxx_messageInfo_Component_Camera.Size(m)
-}
-func (m *Component_Camera) XXX_DiscardUnknown() {
-	xxx_messageInfo_Component_Camera.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Component_Camera proto.InternalMessageInfo
-
-func (m *Component_Camera) GetFeatures() []Component_Camera_Feature {
-	if m != nil {
-		return m.Features
-	}
-	return nil
-}
-
-func (m *Component_Camera) GetClockType() Component_Camera_ClockType {
-	if m != nil {
-		return m.ClockType
-	}
-	return Component_Camera_CLOCK_TYPE_UNDEFINED
-}
-
-type Component_Touchscreen struct {
-	VendorId             string   `protobuf:"bytes,1,opt,name=vendor_id,json=vendorId,proto3" json:"vendor_id,omitempty"`
-	ProductId            string   `protobuf:"bytes,2,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"`
-	FwVersion            string   `protobuf:"bytes,3,opt,name=fw_version,json=fwVersion,proto3" json:"fw_version,omitempty"`
-	FwPath               string   `protobuf:"bytes,4,opt,name=fw_path,json=fwPath,proto3" json:"fw_path,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *Component_Touchscreen) Reset()         { *m = Component_Touchscreen{} }
-func (m *Component_Touchscreen) String() string { return proto.CompactTextString(m) }
-func (*Component_Touchscreen) ProtoMessage()    {}
-func (*Component_Touchscreen) Descriptor() ([]byte, []int) {
-	return fileDescriptor_04855929ef1e786b, []int{1, 4}
-}
-
-func (m *Component_Touchscreen) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Component_Touchscreen.Unmarshal(m, b)
-}
-func (m *Component_Touchscreen) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Component_Touchscreen.Marshal(b, m, deterministic)
-}
-func (m *Component_Touchscreen) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Component_Touchscreen.Merge(m, src)
-}
-func (m *Component_Touchscreen) XXX_Size() int {
-	return xxx_messageInfo_Component_Touchscreen.Size(m)
-}
-func (m *Component_Touchscreen) XXX_DiscardUnknown() {
-	xxx_messageInfo_Component_Touchscreen.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Component_Touchscreen proto.InternalMessageInfo
-
-func (m *Component_Touchscreen) GetVendorId() string {
-	if m != nil {
-		return m.VendorId
-	}
-	return ""
-}
-
-func (m *Component_Touchscreen) GetProductId() string {
-	if m != nil {
-		return m.ProductId
-	}
-	return ""
-}
-
-func (m *Component_Touchscreen) GetFwVersion() string {
-	if m != nil {
-		return m.FwVersion
-	}
-	return ""
-}
-
-func (m *Component_Touchscreen) GetFwPath() string {
-	if m != nil {
-		return m.FwPath
-	}
-	return ""
-}
-
-type ComponentList struct {
-	Value                []*Component `protobuf:"bytes,1,rep,name=value,proto3" json:"value,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
-	XXX_unrecognized     []byte       `json:"-"`
-	XXX_sizecache        int32        `json:"-"`
-}
-
-func (m *ComponentList) Reset()         { *m = ComponentList{} }
-func (m *ComponentList) String() string { return proto.CompactTextString(m) }
-func (*ComponentList) ProtoMessage()    {}
-func (*ComponentList) Descriptor() ([]byte, []int) {
-	return fileDescriptor_04855929ef1e786b, []int{2}
-}
-
-func (m *ComponentList) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_ComponentList.Unmarshal(m, b)
-}
-func (m *ComponentList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_ComponentList.Marshal(b, m, deterministic)
-}
-func (m *ComponentList) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_ComponentList.Merge(m, src)
-}
-func (m *ComponentList) XXX_Size() int {
-	return xxx_messageInfo_ComponentList.Size(m)
-}
-func (m *ComponentList) XXX_DiscardUnknown() {
-	xxx_messageInfo_ComponentList.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_ComponentList proto.InternalMessageInfo
-
-func (m *ComponentList) GetValue() []*Component {
-	if m != nil {
-		return m.Value
-	}
-	return nil
-}
-
-func init() {
-	proto.RegisterEnum("prototype.Component_Soc_Architecture", Component_Soc_Architecture_name, Component_Soc_Architecture_value)
-	proto.RegisterEnum("prototype.Component_Soc_Family", Component_Soc_Family_name, Component_Soc_Family_value)
-	proto.RegisterEnum("prototype.Component_Memory_Type", Component_Memory_Type_name, Component_Memory_Type_value)
-	proto.RegisterEnum("prototype.Component_Camera_Feature", Component_Camera_Feature_name, Component_Camera_Feature_value)
-	proto.RegisterEnum("prototype.Component_Camera_ClockType", Component_Camera_ClockType_name, Component_Camera_ClockType_value)
-	proto.RegisterType((*ComponentId)(nil), "prototype.ComponentId")
-	proto.RegisterType((*Component)(nil), "prototype.Component")
-	proto.RegisterExtension(E_Component_Soc_Arch)
-	proto.RegisterType((*Component_Soc)(nil), "prototype.Component.Soc")
-	proto.RegisterType((*Component_Memory)(nil), "prototype.Component.Memory")
-	proto.RegisterType((*Component_Bluetooth)(nil), "prototype.Component.Bluetooth")
-	proto.RegisterType((*Component_Camera)(nil), "prototype.Component.Camera")
-	proto.RegisterType((*Component_Touchscreen)(nil), "prototype.Component.Touchscreen")
-	proto.RegisterType((*ComponentList)(nil), "prototype.ComponentList")
-}
-
-func init() { proto.RegisterFile("prototype/component.proto", fileDescriptor_04855929ef1e786b) }
-
-var fileDescriptor_04855929ef1e786b = []byte{
-	// 956 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x55, 0xdd, 0x6e, 0xe3, 0x44,
-	0x14, 0x4e, 0x9c, 0xc4, 0x89, 0x4f, 0xda, 0xae, 0x99, 0xad, 0xba, 0x26, 0x2b, 0xd8, 0x90, 0x15,
-	0xb0, 0x42, 0xc8, 0x41, 0x49, 0xb6, 0xec, 0x82, 0x00, 0x25, 0x71, 0xb2, 0xb1, 0x9a, 0x9f, 0x6a,
-	0xea, 0x96, 0x2d, 0x48, 0x58, 0x8e, 0x3d, 0x49, 0x2c, 0x62, 0x8f, 0xe5, 0x9f, 0x56, 0xe9, 0x1d,
-	0x17, 0x88, 0x37, 0xe1, 0x19, 0xb8, 0xe5, 0x59, 0xb8, 0x41, 0x48, 0xbc, 0x03, 0xf2, 0xd8, 0xf9,
-	0x59, 0x36, 0xdb, 0xbb, 0x39, 0xdf, 0x7c, 0xe7, 0x9c, 0xf1, 0x37, 0xdf, 0xf1, 0xc0, 0xfb, 0x9e,
-	0x4f, 0x43, 0x1a, 0xae, 0x3c, 0x52, 0x37, 0xa9, 0xe3, 0x51, 0x97, 0xb8, 0xa1, 0xcc, 0x30, 0x24,
-	0x6c, 0xb6, 0x2a, 0x27, 0x6f, 0xb0, 0x1c, 0xea, 0x26, 0x94, 0xca, 0xa3, 0x2d, 0xee, 0x19, 0x7e,
-	0xe8, 0x12, 0x3f, 0xdd, 0xa8, 0xce, 0x29, 0x9d, 0x2f, 0x49, 0x9d, 0x45, 0xd3, 0x68, 0x56, 0xb7,
-	0x48, 0x60, 0xfa, 0xb6, 0x17, 0xd2, 0x94, 0x51, 0x7b, 0x0a, 0xe5, 0xee, 0xba, 0xa1, 0x6a, 0xa1,
-	0x63, 0x28, 0xdc, 0x18, 0xcb, 0x88, 0x48, 0xd9, 0x6a, 0xf6, 0x99, 0x80, 0x93, 0xa0, 0xf6, 0x57,
-	0x19, 0x84, 0x0d, 0x0b, 0x7d, 0x02, 0x9c, 0x6d, 0x31, 0x42, 0xb9, 0x71, 0x22, 0x6f, 0x5a, 0xcb,
-	0x3b, 0x75, 0x30, 0x67, 0x5b, 0xe8, 0x73, 0xc8, 0x05, 0xd4, 0x94, 0x38, 0x46, 0x94, 0xf6, 0x11,
-	0xe5, 0x0b, 0x6a, 0x0e, 0x32, 0x38, 0xa6, 0xa1, 0xe7, 0xc0, 0x3b, 0xc4, 0xa1, 0xfe, 0x4a, 0xca,
-	0xb1, 0x84, 0xc7, 0x7b, 0x13, 0x46, 0x8c, 0x32, 0xc8, 0xe0, 0x94, 0x8c, 0xbe, 0x05, 0x61, 0xba,
-	0x8c, 0x48, 0x48, 0x69, 0xb8, 0x90, 0xf2, 0x2c, 0xf3, 0xc3, 0xbd, 0x99, 0x9d, 0x35, 0x6b, 0x90,
-	0xc1, 0xdb, 0x94, 0xb8, 0xad, 0x69, 0x38, 0xc4, 0x37, 0xa4, 0xc2, 0x3d, 0x6d, 0xbb, 0x8c, 0x12,
-	0xb7, 0x4d, 0xc8, 0x48, 0x81, 0x72, 0x48, 0x23, 0x73, 0x11, 0x98, 0x3e, 0x21, 0xae, 0xc4, 0xb3,
-	0xdc, 0xea, 0xde, 0x5c, 0x6d, 0xcb, 0x1b, 0x64, 0xf0, 0x6e, 0x5a, 0xe5, 0x1f, 0x0e, 0x72, 0x17,
-	0xd4, 0x44, 0x5f, 0x02, 0x3f, 0x33, 0x1c, 0x7b, 0xb9, 0x62, 0xaa, 0x1e, 0x35, 0x9e, 0xbc, 0x4b,
-	0x2c, 0xb9, 0xcf, 0x68, 0x38, 0xa5, 0xc7, 0xd7, 0xe5, 0x50, 0x8b, 0x2c, 0x99, 0xc8, 0x02, 0x4e,
-	0x82, 0x18, 0x35, 0xa9, 0x4f, 0x02, 0xa6, 0x64, 0x01, 0x27, 0x41, 0xed, 0x02, 0x0e, 0xda, 0xbe,
-	0xb9, 0xb0, 0x43, 0x62, 0x86, 0x91, 0x4f, 0x50, 0x05, 0x4e, 0xda, 0xb8, 0x3b, 0x50, 0xb5, 0x5e,
-	0x57, 0xbb, 0xc4, 0x3d, 0xfd, 0x72, 0xac, 0xf4, 0xfa, 0xea, 0xb8, 0xa7, 0x88, 0x19, 0x54, 0x84,
-	0xdc, 0xeb, 0x17, 0xa7, 0x62, 0x16, 0x01, 0xf0, 0xaf, 0x5f, 0x9c, 0xea, 0xa7, 0x2d, 0x91, 0x8b,
-	0xc1, 0x36, 0x1e, 0x89, 0x39, 0x24, 0x40, 0xa1, 0x8d, 0x47, 0xa7, 0x2d, 0x31, 0x5f, 0x53, 0x81,
-	0xef, 0xaf, 0x8f, 0x22, 0xf6, 0xdb, 0x23, 0x75, 0x78, 0xfd, 0x46, 0xa1, 0xf7, 0x80, 0xc7, 0x67,
-	0xcd, 0xe6, 0xcb, 0x97, 0x62, 0xb6, 0x52, 0xf8, 0xe3, 0xef, 0xdf, 0x8b, 0x79, 0x74, 0x02, 0xe5,
-	0x57, 0xbd, 0x91, 0x3a, 0x56, 0xf5, 0x61, 0xfb, 0xac, 0x27, 0x72, 0x09, 0xce, 0x35, 0x7e, 0x82,
-	0xbc, 0xe1, 0x9b, 0x0b, 0xf4, 0x91, 0x9c, 0x98, 0x56, 0x5e, 0x9b, 0x56, 0xee, 0xb9, 0x91, 0x73,
-	0x15, 0x1b, 0x71, 0xe2, 0x85, 0x36, 0x75, 0x03, 0xe9, 0xb7, 0x7f, 0x43, 0xa6, 0xd3, 0xc7, 0xef,
-	0xd4, 0x69, 0xf7, 0x4b, 0x31, 0xab, 0x5b, 0xf9, 0x93, 0x03, 0x3e, 0xb1, 0x0f, 0x6a, 0x41, 0x3e,
-	0xce, 0x49, 0xd5, 0xae, 0xde, 0xe3, 0x34, 0x59, 0x5b, 0x79, 0x04, 0x33, 0x36, 0x7a, 0x0c, 0x42,
-	0xe0, 0x11, 0x62, 0xe9, 0xce, 0xe2, 0x8e, 0x09, 0x5e, 0xc0, 0x25, 0x06, 0x8c, 0x16, 0x77, 0xe8,
-	0x53, 0xc8, 0x07, 0xf6, 0x1d, 0x49, 0xcd, 0xfb, 0x70, 0xa7, 0x64, 0x67, 0x15, 0x92, 0x0b, 0xfb,
-	0x8e, 0x60, 0x46, 0x40, 0x4f, 0xa0, 0x1c, 0xcf, 0xa8, 0xee, 0x46, 0xce, 0x94, 0xf8, 0xcc, 0xb2,
-	0x02, 0x86, 0x18, 0x1a, 0x33, 0x04, 0x7d, 0x03, 0x0f, 0x1c, 0xc3, 0x8d, 0x66, 0x06, 0x3b, 0xbc,
-	0xaf, 0xdb, 0x56, 0x6a, 0xcd, 0xe3, 0x9d, 0xa2, 0xe7, 0xc9, 0x98, 0xab, 0x16, 0x3e, 0xda, 0x25,
-	0xab, 0x56, 0xed, 0x47, 0xc8, 0xc7, 0x67, 0x46, 0x08, 0x8e, 0xb4, 0xeb, 0xf3, 0xb7, 0xae, 0x55,
-	0x51, 0xb0, 0x98, 0x45, 0x25, 0xc8, 0x2b, 0x0a, 0x6e, 0x88, 0x5c, 0xba, 0x6a, 0x8a, 0xb9, 0x74,
-	0xd5, 0x12, 0xf3, 0xa8, 0x0c, 0xc5, 0xe1, 0xb9, 0xce, 0xe0, 0xc2, 0x36, 0x68, 0x89, 0x7c, 0xe5,
-	0x15, 0x08, 0x9b, 0x39, 0x42, 0x5f, 0xc1, 0x61, 0x14, 0x4c, 0x75, 0x8b, 0xdc, 0xd8, 0x26, 0xd1,
-	0xf7, 0xfe, 0x12, 0x2e, 0x83, 0xa9, 0xc2, 0xb6, 0x55, 0x0b, 0x97, 0xa3, 0x6d, 0x50, 0xf9, 0x95,
-	0x03, 0x3e, 0x19, 0x2a, 0xf4, 0x1d, 0x94, 0x66, 0xc4, 0x88, 0x8f, 0x1f, 0x48, 0xd9, 0x6a, 0xee,
-	0xd9, 0x51, 0xe3, 0xe9, 0x3d, 0x33, 0x28, 0xf7, 0x13, 0x2e, 0xde, 0x24, 0x21, 0x05, 0xc0, 0x5c,
-	0x52, 0xf3, 0x67, 0x9d, 0xdd, 0x29, 0x77, 0x8f, 0x33, 0xd2, 0x12, 0xdd, 0x98, 0xcd, 0x2e, 0x56,
-	0x30, 0xd7, 0xcb, 0xda, 0x17, 0x50, 0x4c, 0x4b, 0xa3, 0x87, 0xf0, 0xa0, 0xdf, 0x6b, 0xa7, 0x43,
-	0x71, 0x36, 0x9e, 0x7c, 0x3f, 0x16, 0x33, 0x48, 0x84, 0x83, 0x76, 0x57, 0x53, 0xaf, 0x54, 0xed,
-	0x5a, 0x1f, 0xf6, 0x14, 0x31, 0x5b, 0xeb, 0x80, 0xb0, 0xa9, 0x84, 0x24, 0x38, 0xee, 0x0e, 0x27,
-	0xdd, 0x33, 0xfd, 0x2d, 0xd1, 0x0f, 0x41, 0x18, 0x4d, 0xc6, 0x13, 0x6d, 0x32, 0x56, 0xbb, 0x62,
-	0x16, 0x1d, 0x40, 0xa9, 0x33, 0x99, 0x68, 0x9a, 0x3a, 0x8a, 0xbd, 0xff, 0x4b, 0x16, 0xca, 0x3b,
-	0x3f, 0x88, 0xd8, 0x63, 0x37, 0xc4, 0xb5, 0xa8, 0xbf, 0xd6, 0x53, 0xc0, 0xa5, 0x04, 0x50, 0x2d,
-	0xf4, 0x01, 0x80, 0xe7, 0x53, 0x2b, 0x32, 0xc3, 0x78, 0x37, 0x19, 0x79, 0x21, 0x45, 0x92, 0xed,
-	0xd9, 0xad, 0x7e, 0x43, 0xfc, 0xc0, 0xa6, 0x2e, 0x33, 0xa2, 0x80, 0x85, 0xd9, 0xed, 0x55, 0x02,
-	0xa0, 0x47, 0x50, 0x9c, 0xdd, 0xea, 0x9e, 0x91, 0xfe, 0x27, 0x05, 0xcc, 0xcf, 0x6e, 0xcf, 0x8d,
-	0x70, 0xd1, 0xe1, 0x93, 0x69, 0xa8, 0x7d, 0x0d, 0x87, 0x1b, 0xa9, 0x86, 0x76, 0x10, 0xa2, 0xcf,
-	0xb6, 0x8f, 0x41, 0xee, 0x7f, 0xfe, 0xdb, 0x10, 0xd3, 0x27, 0xa2, 0xf3, 0xfc, 0x87, 0xe6, 0x9c,
-	0xca, 0xe6, 0xc2, 0xa7, 0x8e, 0x1d, 0x39, 0x32, 0xf5, 0xe7, 0xf5, 0x75, 0x40, 0x83, 0xba, 0xed,
-	0xce, 0x7c, 0x23, 0x79, 0x85, 0xea, 0x73, 0x5a, 0xdf, 0xd4, 0x99, 0xf2, 0x6c, 0xd9, 0xfc, 0x2f,
-	0x00, 0x00, 0xff, 0xff, 0xef, 0xa1, 0x64, 0x0c, 0x00, 0x07, 0x00, 0x00,
-}
diff --git a/go/prototype/config.pb.go b/go/prototype/config.pb.go
deleted file mode 100644
index 9df0e61..0000000
--- a/go/prototype/config.pb.go
+++ /dev/null
@@ -1,150 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// source: prototype/config.proto
-
-package prototype
-
-import (
-	fmt "fmt"
-	proto "github.com/golang/protobuf/proto"
-	math "math"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the proto package it is being compiled against.
-// A compilation error at this line likely means your copy of the
-// proto package needs to be updated.
-const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
-
-type Config struct {
-	Partners             *PartnerList            `protobuf:"bytes,1,opt,name=partners,proto3" json:"partners,omitempty"`
-	Components           *ComponentList          `protobuf:"bytes,2,opt,name=components,proto3" json:"components,omitempty"`
-	Programs             *ProgramList            `protobuf:"bytes,3,opt,name=programs,proto3" json:"programs,omitempty"`
-	Designs              *DesignList             `protobuf:"bytes,4,opt,name=designs,proto3" json:"designs,omitempty"`
-	DeviceBrands         *DeviceBrandList        `protobuf:"bytes,8,opt,name=device_brands,json=deviceBrands,proto3" json:"device_brands,omitempty"`
-	DeviceProjects       *DeviceProjectList      `protobuf:"bytes,5,opt,name=device_projects,json=deviceProjects,proto3" json:"device_projects,omitempty"`
-	BuildTargets         *BuildTargetList        `protobuf:"bytes,6,opt,name=build_targets,json=buildTargets,proto3" json:"build_targets,omitempty"`
-	VariantBuildConfigs  *VariantBuildConfigList `protobuf:"bytes,7,opt,name=variant_build_configs,json=variantBuildConfigs,proto3" json:"variant_build_configs,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
-	XXX_unrecognized     []byte                  `json:"-"`
-	XXX_sizecache        int32                   `json:"-"`
-}
-
-func (m *Config) Reset()         { *m = Config{} }
-func (m *Config) String() string { return proto.CompactTextString(m) }
-func (*Config) ProtoMessage()    {}
-func (*Config) Descriptor() ([]byte, []int) {
-	return fileDescriptor_2fb895343ee1aa54, []int{0}
-}
-
-func (m *Config) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Config.Unmarshal(m, b)
-}
-func (m *Config) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Config.Marshal(b, m, deterministic)
-}
-func (m *Config) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Config.Merge(m, src)
-}
-func (m *Config) XXX_Size() int {
-	return xxx_messageInfo_Config.Size(m)
-}
-func (m *Config) XXX_DiscardUnknown() {
-	xxx_messageInfo_Config.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Config proto.InternalMessageInfo
-
-func (m *Config) GetPartners() *PartnerList {
-	if m != nil {
-		return m.Partners
-	}
-	return nil
-}
-
-func (m *Config) GetComponents() *ComponentList {
-	if m != nil {
-		return m.Components
-	}
-	return nil
-}
-
-func (m *Config) GetPrograms() *ProgramList {
-	if m != nil {
-		return m.Programs
-	}
-	return nil
-}
-
-func (m *Config) GetDesigns() *DesignList {
-	if m != nil {
-		return m.Designs
-	}
-	return nil
-}
-
-func (m *Config) GetDeviceBrands() *DeviceBrandList {
-	if m != nil {
-		return m.DeviceBrands
-	}
-	return nil
-}
-
-func (m *Config) GetDeviceProjects() *DeviceProjectList {
-	if m != nil {
-		return m.DeviceProjects
-	}
-	return nil
-}
-
-func (m *Config) GetBuildTargets() *BuildTargetList {
-	if m != nil {
-		return m.BuildTargets
-	}
-	return nil
-}
-
-func (m *Config) GetVariantBuildConfigs() *VariantBuildConfigList {
-	if m != nil {
-		return m.VariantBuildConfigs
-	}
-	return nil
-}
-
-func init() {
-	proto.RegisterType((*Config)(nil), "prototype.Config")
-}
-
-func init() { proto.RegisterFile("prototype/config.proto", fileDescriptor_2fb895343ee1aa54) }
-
-var fileDescriptor_2fb895343ee1aa54 = []byte{
-	// 375 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x92, 0xcf, 0x4b, 0xfb, 0x30,
-	0x18, 0xc6, 0xd9, 0x77, 0x5f, 0xb7, 0x19, 0x7f, 0x41, 0x65, 0x33, 0x0e, 0x11, 0xf5, 0xe4, 0xc5,
-	0x06, 0x36, 0x04, 0x3d, 0x09, 0x9b, 0xde, 0x3c, 0x0c, 0x51, 0x0f, 0x5e, 0x4a, 0xda, 0x66, 0x5d,
-	0x64, 0x4d, 0x4a, 0x92, 0x15, 0xf6, 0xb7, 0x7b, 0x91, 0xbe, 0xe9, 0x8f, 0x8c, 0x7a, 0x2b, 0xcf,
-	0xe7, 0x79, 0x9e, 0xf7, 0x4d, 0x1a, 0x34, 0xca, 0x94, 0x34, 0xd2, 0x6c, 0x33, 0x46, 0x22, 0x29,
-	0x96, 0x3c, 0xf1, 0x41, 0xf0, 0xf6, 0x6b, 0x7d, 0x7c, 0xee, 0x5a, 0xd2, 0x4c, 0x0a, 0x26, 0x8c,
-	0x75, 0x8d, 0xcf, 0x1a, 0x94, 0x51, 0x65, 0x04, 0x53, 0x25, 0x70, 0x6a, 0x63, 0xa6, 0x79, 0x22,
-	0xfe, 0x08, 0x28, 0x99, 0x28, 0x9a, 0x96, 0xe0, 0xd2, 0x0d, 0xe4, 0x3c, 0x62, 0x41, 0xa6, 0xe4,
-	0x37, 0x8b, 0xaa, 0x49, 0x8f, 0x0d, 0xd7, 0x2a, 0x22, 0x66, 0xc5, 0x55, 0x1c, 0x14, 0x33, 0xb7,
-	0x24, 0x5a, 0x29, 0x99, 0xf2, 0x4d, 0x2a, 0xf5, 0x9d, 0xcc, 0x99, 0x5a, 0xd3, 0xed, 0xce, 0x51,
-	0x6e, 0x7e, 0xba, 0xa8, 0x37, 0x07, 0xc1, 0x9b, 0xa0, 0x41, 0xb9, 0xa7, 0xc6, 0x9d, 0xab, 0xce,
-	0xed, 0xc1, 0x64, 0xe4, 0xd7, 0xc5, 0xfe, 0xc2, 0xa2, 0x57, 0xae, 0xcd, 0x5b, 0xed, 0xf3, 0x1e,
-	0x10, 0xaa, 0x8f, 0xad, 0xf1, 0x3f, 0x48, 0x61, 0x27, 0x35, 0xaf, 0x20, 0xe4, 0x1c, 0x2f, 0x4c,
-	0xb3, 0x87, 0xd4, 0xb8, 0xdb, 0x9e, 0x66, 0x51, 0x39, 0xad, 0xf4, 0x79, 0x04, 0xf5, 0xed, 0x85,
-	0x69, 0xfc, 0x1f, 0x22, 0x43, 0x27, 0xf2, 0x0c, 0x04, 0x12, 0x95, 0xcb, 0x7b, 0x42, 0x47, 0xe5,
-	0x85, 0x85, 0x8a, 0x8a, 0x58, 0xe3, 0x01, 0xc4, 0xc6, 0x3b, 0xb1, 0x82, 0xcf, 0x0a, 0x0c, 0xd9,
-	0xc3, 0xb8, 0x11, 0xb4, 0xf7, 0x82, 0x4e, 0x76, 0x6f, 0x5c, 0xe3, 0x3d, 0xa8, 0xb8, 0x68, 0x55,
-	0x2c, 0xac, 0x01, 0x4a, 0x8e, 0x63, 0x57, 0x82, 0x3d, 0xc2, 0x0d, 0x5f, 0xc7, 0x81, 0xa1, 0x2a,
-	0x61, 0x46, 0xe3, 0x5e, 0x6b, 0x8f, 0x59, 0xc1, 0xdf, 0x01, 0xdb, 0x3d, 0xc2, 0x46, 0xd0, 0xde,
-	0x07, 0x1a, 0xe6, 0x54, 0x71, 0x2a, 0x4c, 0x60, 0x8b, 0xec, 0x4f, 0xd4, 0xb8, 0x0f, 0x45, 0xd7,
-	0x4e, 0xd1, 0xa7, 0xf5, 0x41, 0x9f, 0xfd, 0xb3, 0xd0, 0x77, 0x9a, 0xb7, 0x74, 0x3d, 0xbb, 0xff,
-	0x9a, 0x26, 0xd2, 0xaf, 0xde, 0x88, 0x2f, 0x55, 0xe2, 0x3c, 0x18, 0xc2, 0xc5, 0x52, 0x51, 0x02,
-	0xcd, 0x24, 0x91, 0xa4, 0x1e, 0x11, 0xf6, 0xe0, 0x73, 0xfa, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x5f,
-	0xcc, 0x15, 0xb8, 0x20, 0x03, 0x00, 0x00,
-}
diff --git a/go/prototype/design.pb.go b/go/prototype/design.pb.go
deleted file mode 100644
index 3b58551..0000000
--- a/go/prototype/design.pb.go
+++ /dev/null
@@ -1,759 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// source: prototype/design.proto
-
-package prototype
-
-import (
-	fmt "fmt"
-	proto "github.com/golang/protobuf/proto"
-	math "math"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the proto package it is being compiled against.
-// A compilation error at this line likely means your copy of the
-// proto package needs to be updated.
-const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
-
-type DesignOptions_Fingerprint_Location int32
-
-const (
-	DesignOptions_Fingerprint_FINGERPRINT_LOCATION_UNKNOWN DesignOptions_Fingerprint_Location = 0
-	DesignOptions_Fingerprint_POWER_BUTTON_TOP_LEFT        DesignOptions_Fingerprint_Location = 1
-	DesignOptions_Fingerprint_KEYBOARD_TOP_RIGHT           DesignOptions_Fingerprint_Location = 2
-	DesignOptions_Fingerprint_KEYBOARD_BOTTOM_RIGHT        DesignOptions_Fingerprint_Location = 3
-)
-
-var DesignOptions_Fingerprint_Location_name = map[int32]string{
-	0: "FINGERPRINT_LOCATION_UNKNOWN",
-	1: "POWER_BUTTON_TOP_LEFT",
-	2: "KEYBOARD_TOP_RIGHT",
-	3: "KEYBOARD_BOTTOM_RIGHT",
-}
-
-var DesignOptions_Fingerprint_Location_value = map[string]int32{
-	"FINGERPRINT_LOCATION_UNKNOWN": 0,
-	"POWER_BUTTON_TOP_LEFT":        1,
-	"KEYBOARD_TOP_RIGHT":           2,
-	"KEYBOARD_BOTTOM_RIGHT":        3,
-}
-
-func (x DesignOptions_Fingerprint_Location) String() string {
-	return proto.EnumName(DesignOptions_Fingerprint_Location_name, int32(x))
-}
-
-func (DesignOptions_Fingerprint_Location) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_8c60c33a46259324, []int{3, 1, 0}
-}
-
-type DesignOptions_Stylus_Category int32
-
-const (
-	DesignOptions_Stylus_STYLUS_CATEGORY_UNKNOWN DesignOptions_Stylus_Category = 0
-	DesignOptions_Stylus_INTERNAL                DesignOptions_Stylus_Category = 1
-	DesignOptions_Stylus_EXTERNAL                DesignOptions_Stylus_Category = 2
-)
-
-var DesignOptions_Stylus_Category_name = map[int32]string{
-	0: "STYLUS_CATEGORY_UNKNOWN",
-	1: "INTERNAL",
-	2: "EXTERNAL",
-}
-
-var DesignOptions_Stylus_Category_value = map[string]int32{
-	"STYLUS_CATEGORY_UNKNOWN": 0,
-	"INTERNAL":                1,
-	"EXTERNAL":                2,
-}
-
-func (x DesignOptions_Stylus_Category) String() string {
-	return proto.EnumName(DesignOptions_Stylus_Category_name, int32(x))
-}
-
-func (DesignOptions_Stylus_Category) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_8c60c33a46259324, []int{3, 2, 0}
-}
-
-type Design_FormFactor int32
-
-const (
-	Design_FORM_FACTOR_UNDEFINED Design_FormFactor = 0
-	Design_CLAMSHELL             Design_FormFactor = 1
-	Design_CONVERTIBLE           Design_FormFactor = 2
-	Design_DETACHABLE            Design_FormFactor = 3
-	Design_CHROMEBASE            Design_FormFactor = 4
-	Design_CHROMEBOX             Design_FormFactor = 5
-	Design_CHROMEBIT             Design_FormFactor = 6
-	Design_CHROMESLATE           Design_FormFactor = 7
-)
-
-var Design_FormFactor_name = map[int32]string{
-	0: "FORM_FACTOR_UNDEFINED",
-	1: "CLAMSHELL",
-	2: "CONVERTIBLE",
-	3: "DETACHABLE",
-	4: "CHROMEBASE",
-	5: "CHROMEBOX",
-	6: "CHROMEBIT",
-	7: "CHROMESLATE",
-}
-
-var Design_FormFactor_value = map[string]int32{
-	"FORM_FACTOR_UNDEFINED": 0,
-	"CLAMSHELL":             1,
-	"CONVERTIBLE":           2,
-	"DETACHABLE":            3,
-	"CHROMEBASE":            4,
-	"CHROMEBOX":             5,
-	"CHROMEBIT":             6,
-	"CHROMESLATE":           7,
-}
-
-func (x Design_FormFactor) String() string {
-	return proto.EnumName(Design_FormFactor_name, int32(x))
-}
-
-func (Design_FormFactor) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_8c60c33a46259324, []int{4, 0}
-}
-
-type ProgramId struct {
-	Value                string   `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *ProgramId) Reset()         { *m = ProgramId{} }
-func (m *ProgramId) String() string { return proto.CompactTextString(m) }
-func (*ProgramId) ProtoMessage()    {}
-func (*ProgramId) Descriptor() ([]byte, []int) {
-	return fileDescriptor_8c60c33a46259324, []int{0}
-}
-
-func (m *ProgramId) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_ProgramId.Unmarshal(m, b)
-}
-func (m *ProgramId) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_ProgramId.Marshal(b, m, deterministic)
-}
-func (m *ProgramId) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_ProgramId.Merge(m, src)
-}
-func (m *ProgramId) XXX_Size() int {
-	return xxx_messageInfo_ProgramId.Size(m)
-}
-func (m *ProgramId) XXX_DiscardUnknown() {
-	xxx_messageInfo_ProgramId.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_ProgramId proto.InternalMessageInfo
-
-func (m *ProgramId) GetValue() string {
-	if m != nil {
-		return m.Value
-	}
-	return ""
-}
-
-type DesignId struct {
-	Value                string   `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *DesignId) Reset()         { *m = DesignId{} }
-func (m *DesignId) String() string { return proto.CompactTextString(m) }
-func (*DesignId) ProtoMessage()    {}
-func (*DesignId) Descriptor() ([]byte, []int) {
-	return fileDescriptor_8c60c33a46259324, []int{1}
-}
-
-func (m *DesignId) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_DesignId.Unmarshal(m, b)
-}
-func (m *DesignId) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_DesignId.Marshal(b, m, deterministic)
-}
-func (m *DesignId) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_DesignId.Merge(m, src)
-}
-func (m *DesignId) XXX_Size() int {
-	return xxx_messageInfo_DesignId.Size(m)
-}
-func (m *DesignId) XXX_DiscardUnknown() {
-	xxx_messageInfo_DesignId.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_DesignId proto.InternalMessageInfo
-
-func (m *DesignId) GetValue() string {
-	if m != nil {
-		return m.Value
-	}
-	return ""
-}
-
-type DesignVariantId struct {
-	Value                string   `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *DesignVariantId) Reset()         { *m = DesignVariantId{} }
-func (m *DesignVariantId) String() string { return proto.CompactTextString(m) }
-func (*DesignVariantId) ProtoMessage()    {}
-func (*DesignVariantId) Descriptor() ([]byte, []int) {
-	return fileDescriptor_8c60c33a46259324, []int{2}
-}
-
-func (m *DesignVariantId) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_DesignVariantId.Unmarshal(m, b)
-}
-func (m *DesignVariantId) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_DesignVariantId.Marshal(b, m, deterministic)
-}
-func (m *DesignVariantId) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_DesignVariantId.Merge(m, src)
-}
-func (m *DesignVariantId) XXX_Size() int {
-	return xxx_messageInfo_DesignVariantId.Size(m)
-}
-func (m *DesignVariantId) XXX_DiscardUnknown() {
-	xxx_messageInfo_DesignVariantId.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_DesignVariantId proto.InternalMessageInfo
-
-func (m *DesignVariantId) GetValue() string {
-	if m != nil {
-		return m.Value
-	}
-	return ""
-}
-
-type DesignOptions struct {
-	Fingerprint          *DesignOptions_Fingerprint `protobuf:"bytes,1,opt,name=fingerprint,proto3" json:"fingerprint,omitempty"`
-	FrontCamera          *DesignOptions_Feature     `protobuf:"bytes,2,opt,name=front_camera,json=frontCamera,proto3" json:"front_camera,omitempty"`
-	RearCamera           *DesignOptions_Feature     `protobuf:"bytes,3,opt,name=rear_camera,json=rearCamera,proto3" json:"rear_camera,omitempty"`
-	BaseAccelerometer    *DesignOptions_Feature     `protobuf:"bytes,4,opt,name=base_accelerometer,json=baseAccelerometer,proto3" json:"base_accelerometer,omitempty"`
-	LidAccelerometer     *DesignOptions_Feature     `protobuf:"bytes,5,opt,name=lid_accelerometer,json=lidAccelerometer,proto3" json:"lid_accelerometer,omitempty"`
-	BaseGyroscope        *DesignOptions_Feature     `protobuf:"bytes,6,opt,name=base_gyroscope,json=baseGyroscope,proto3" json:"base_gyroscope,omitempty"`
-	LidGyroscope         *DesignOptions_Feature     `protobuf:"bytes,7,opt,name=lid_gyroscope,json=lidGyroscope,proto3" json:"lid_gyroscope,omitempty"`
-	BaseMagnetometer     *DesignOptions_Feature     `protobuf:"bytes,8,opt,name=base_magnetometer,json=baseMagnetometer,proto3" json:"base_magnetometer,omitempty"`
-	LidMagnetometer      *DesignOptions_Feature     `protobuf:"bytes,9,opt,name=lid_magnetometer,json=lidMagnetometer,proto3" json:"lid_magnetometer,omitempty"`
-	BaseLightSensor      *DesignOptions_Feature     `protobuf:"bytes,10,opt,name=base_light_sensor,json=baseLightSensor,proto3" json:"base_light_sensor,omitempty"`
-	LidLightSensor       *DesignOptions_Feature     `protobuf:"bytes,11,opt,name=lid_light_sensor,json=lidLightSensor,proto3" json:"lid_light_sensor,omitempty"`
-	Touchscreen          *DesignOptions_Feature     `protobuf:"bytes,12,opt,name=touchscreen,proto3" json:"touchscreen,omitempty"`
-	Stylus               *DesignOptions_Stylus      `protobuf:"bytes,13,opt,name=stylus,proto3" json:"stylus,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
-	XXX_unrecognized     []byte                     `json:"-"`
-	XXX_sizecache        int32                      `json:"-"`
-}
-
-func (m *DesignOptions) Reset()         { *m = DesignOptions{} }
-func (m *DesignOptions) String() string { return proto.CompactTextString(m) }
-func (*DesignOptions) ProtoMessage()    {}
-func (*DesignOptions) Descriptor() ([]byte, []int) {
-	return fileDescriptor_8c60c33a46259324, []int{3}
-}
-
-func (m *DesignOptions) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_DesignOptions.Unmarshal(m, b)
-}
-func (m *DesignOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_DesignOptions.Marshal(b, m, deterministic)
-}
-func (m *DesignOptions) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_DesignOptions.Merge(m, src)
-}
-func (m *DesignOptions) XXX_Size() int {
-	return xxx_messageInfo_DesignOptions.Size(m)
-}
-func (m *DesignOptions) XXX_DiscardUnknown() {
-	xxx_messageInfo_DesignOptions.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_DesignOptions proto.InternalMessageInfo
-
-func (m *DesignOptions) GetFingerprint() *DesignOptions_Fingerprint {
-	if m != nil {
-		return m.Fingerprint
-	}
-	return nil
-}
-
-func (m *DesignOptions) GetFrontCamera() *DesignOptions_Feature {
-	if m != nil {
-		return m.FrontCamera
-	}
-	return nil
-}
-
-func (m *DesignOptions) GetRearCamera() *DesignOptions_Feature {
-	if m != nil {
-		return m.RearCamera
-	}
-	return nil
-}
-
-func (m *DesignOptions) GetBaseAccelerometer() *DesignOptions_Feature {
-	if m != nil {
-		return m.BaseAccelerometer
-	}
-	return nil
-}
-
-func (m *DesignOptions) GetLidAccelerometer() *DesignOptions_Feature {
-	if m != nil {
-		return m.LidAccelerometer
-	}
-	return nil
-}
-
-func (m *DesignOptions) GetBaseGyroscope() *DesignOptions_Feature {
-	if m != nil {
-		return m.BaseGyroscope
-	}
-	return nil
-}
-
-func (m *DesignOptions) GetLidGyroscope() *DesignOptions_Feature {
-	if m != nil {
-		return m.LidGyroscope
-	}
-	return nil
-}
-
-func (m *DesignOptions) GetBaseMagnetometer() *DesignOptions_Feature {
-	if m != nil {
-		return m.BaseMagnetometer
-	}
-	return nil
-}
-
-func (m *DesignOptions) GetLidMagnetometer() *DesignOptions_Feature {
-	if m != nil {
-		return m.LidMagnetometer
-	}
-	return nil
-}
-
-func (m *DesignOptions) GetBaseLightSensor() *DesignOptions_Feature {
-	if m != nil {
-		return m.BaseLightSensor
-	}
-	return nil
-}
-
-func (m *DesignOptions) GetLidLightSensor() *DesignOptions_Feature {
-	if m != nil {
-		return m.LidLightSensor
-	}
-	return nil
-}
-
-func (m *DesignOptions) GetTouchscreen() *DesignOptions_Feature {
-	if m != nil {
-		return m.Touchscreen
-	}
-	return nil
-}
-
-func (m *DesignOptions) GetStylus() *DesignOptions_Stylus {
-	if m != nil {
-		return m.Stylus
-	}
-	return nil
-}
-
-// General feature presense proto that can be used
-// for any features that don't have specific attributes.
-// E.g. See Fingerprint below
-type DesignOptions_Feature struct {
-	Presence             Presence_Indicator `protobuf:"varint,1,opt,name=presence,proto3,enum=prototype.Presence_Indicator" json:"presence,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
-	XXX_unrecognized     []byte             `json:"-"`
-	XXX_sizecache        int32              `json:"-"`
-}
-
-func (m *DesignOptions_Feature) Reset()         { *m = DesignOptions_Feature{} }
-func (m *DesignOptions_Feature) String() string { return proto.CompactTextString(m) }
-func (*DesignOptions_Feature) ProtoMessage()    {}
-func (*DesignOptions_Feature) Descriptor() ([]byte, []int) {
-	return fileDescriptor_8c60c33a46259324, []int{3, 0}
-}
-
-func (m *DesignOptions_Feature) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_DesignOptions_Feature.Unmarshal(m, b)
-}
-func (m *DesignOptions_Feature) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_DesignOptions_Feature.Marshal(b, m, deterministic)
-}
-func (m *DesignOptions_Feature) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_DesignOptions_Feature.Merge(m, src)
-}
-func (m *DesignOptions_Feature) XXX_Size() int {
-	return xxx_messageInfo_DesignOptions_Feature.Size(m)
-}
-func (m *DesignOptions_Feature) XXX_DiscardUnknown() {
-	xxx_messageInfo_DesignOptions_Feature.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_DesignOptions_Feature proto.InternalMessageInfo
-
-func (m *DesignOptions_Feature) GetPresence() Presence_Indicator {
-	if m != nil {
-		return m.Presence
-	}
-	return Presence_PRESENCE_UNKNOWN
-}
-
-type DesignOptions_Fingerprint struct {
-	Presence             Presence_Indicator                 `protobuf:"varint,1,opt,name=presence,proto3,enum=prototype.Presence_Indicator" json:"presence,omitempty"`
-	Location             DesignOptions_Fingerprint_Location `protobuf:"varint,2,opt,name=location,proto3,enum=prototype.DesignOptions_Fingerprint_Location" json:"location,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}                           `json:"-"`
-	XXX_unrecognized     []byte                             `json:"-"`
-	XXX_sizecache        int32                              `json:"-"`
-}
-
-func (m *DesignOptions_Fingerprint) Reset()         { *m = DesignOptions_Fingerprint{} }
-func (m *DesignOptions_Fingerprint) String() string { return proto.CompactTextString(m) }
-func (*DesignOptions_Fingerprint) ProtoMessage()    {}
-func (*DesignOptions_Fingerprint) Descriptor() ([]byte, []int) {
-	return fileDescriptor_8c60c33a46259324, []int{3, 1}
-}
-
-func (m *DesignOptions_Fingerprint) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_DesignOptions_Fingerprint.Unmarshal(m, b)
-}
-func (m *DesignOptions_Fingerprint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_DesignOptions_Fingerprint.Marshal(b, m, deterministic)
-}
-func (m *DesignOptions_Fingerprint) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_DesignOptions_Fingerprint.Merge(m, src)
-}
-func (m *DesignOptions_Fingerprint) XXX_Size() int {
-	return xxx_messageInfo_DesignOptions_Fingerprint.Size(m)
-}
-func (m *DesignOptions_Fingerprint) XXX_DiscardUnknown() {
-	xxx_messageInfo_DesignOptions_Fingerprint.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_DesignOptions_Fingerprint proto.InternalMessageInfo
-
-func (m *DesignOptions_Fingerprint) GetPresence() Presence_Indicator {
-	if m != nil {
-		return m.Presence
-	}
-	return Presence_PRESENCE_UNKNOWN
-}
-
-func (m *DesignOptions_Fingerprint) GetLocation() DesignOptions_Fingerprint_Location {
-	if m != nil {
-		return m.Location
-	}
-	return DesignOptions_Fingerprint_FINGERPRINT_LOCATION_UNKNOWN
-}
-
-type DesignOptions_Stylus struct {
-	Presence             Presence_Indicator            `protobuf:"varint,1,opt,name=presence,proto3,enum=prototype.Presence_Indicator" json:"presence,omitempty"`
-	Category             DesignOptions_Stylus_Category `protobuf:"varint,2,opt,name=category,proto3,enum=prototype.DesignOptions_Stylus_Category" json:"category,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}                      `json:"-"`
-	XXX_unrecognized     []byte                        `json:"-"`
-	XXX_sizecache        int32                         `json:"-"`
-}
-
-func (m *DesignOptions_Stylus) Reset()         { *m = DesignOptions_Stylus{} }
-func (m *DesignOptions_Stylus) String() string { return proto.CompactTextString(m) }
-func (*DesignOptions_Stylus) ProtoMessage()    {}
-func (*DesignOptions_Stylus) Descriptor() ([]byte, []int) {
-	return fileDescriptor_8c60c33a46259324, []int{3, 2}
-}
-
-func (m *DesignOptions_Stylus) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_DesignOptions_Stylus.Unmarshal(m, b)
-}
-func (m *DesignOptions_Stylus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_DesignOptions_Stylus.Marshal(b, m, deterministic)
-}
-func (m *DesignOptions_Stylus) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_DesignOptions_Stylus.Merge(m, src)
-}
-func (m *DesignOptions_Stylus) XXX_Size() int {
-	return xxx_messageInfo_DesignOptions_Stylus.Size(m)
-}
-func (m *DesignOptions_Stylus) XXX_DiscardUnknown() {
-	xxx_messageInfo_DesignOptions_Stylus.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_DesignOptions_Stylus proto.InternalMessageInfo
-
-func (m *DesignOptions_Stylus) GetPresence() Presence_Indicator {
-	if m != nil {
-		return m.Presence
-	}
-	return Presence_PRESENCE_UNKNOWN
-}
-
-func (m *DesignOptions_Stylus) GetCategory() DesignOptions_Stylus_Category {
-	if m != nil {
-		return m.Category
-	}
-	return DesignOptions_Stylus_STYLUS_CATEGORY_UNKNOWN
-}
-
-type Design struct {
-	Id                   *DesignId         `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
-	ProgramId            *ProgramId        `protobuf:"bytes,2,opt,name=program_id,json=programId,proto3" json:"program_id,omitempty"`
-	OdmId                *PartnerId        `protobuf:"bytes,3,opt,name=odm_id,json=odmId,proto3" json:"odm_id,omitempty"`
-	Name                 string            `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
-	Variants             []*Design_Variant `protobuf:"bytes,6,rep,name=variants,proto3" json:"variants,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
-	XXX_unrecognized     []byte            `json:"-"`
-	XXX_sizecache        int32             `json:"-"`
-}
-
-func (m *Design) Reset()         { *m = Design{} }
-func (m *Design) String() string { return proto.CompactTextString(m) }
-func (*Design) ProtoMessage()    {}
-func (*Design) Descriptor() ([]byte, []int) {
-	return fileDescriptor_8c60c33a46259324, []int{4}
-}
-
-func (m *Design) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Design.Unmarshal(m, b)
-}
-func (m *Design) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Design.Marshal(b, m, deterministic)
-}
-func (m *Design) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Design.Merge(m, src)
-}
-func (m *Design) XXX_Size() int {
-	return xxx_messageInfo_Design.Size(m)
-}
-func (m *Design) XXX_DiscardUnknown() {
-	xxx_messageInfo_Design.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Design proto.InternalMessageInfo
-
-func (m *Design) GetId() *DesignId {
-	if m != nil {
-		return m.Id
-	}
-	return nil
-}
-
-func (m *Design) GetProgramId() *ProgramId {
-	if m != nil {
-		return m.ProgramId
-	}
-	return nil
-}
-
-func (m *Design) GetOdmId() *PartnerId {
-	if m != nil {
-		return m.OdmId
-	}
-	return nil
-}
-
-func (m *Design) GetName() string {
-	if m != nil {
-		return m.Name
-	}
-	return ""
-}
-
-func (m *Design) GetVariants() []*Design_Variant {
-	if m != nil {
-		return m.Variants
-	}
-	return nil
-}
-
-type Design_Variant struct {
-	Id                   *DesignVariantId  `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
-	FormFactor           Design_FormFactor `protobuf:"varint,2,opt,name=form_factor,json=formFactor,proto3,enum=prototype.Design_FormFactor" json:"form_factor,omitempty"`
-	DesignOptions        *DesignOptions    `protobuf:"bytes,3,opt,name=design_options,json=designOptions,proto3" json:"design_options,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
-	XXX_unrecognized     []byte            `json:"-"`
-	XXX_sizecache        int32             `json:"-"`
-}
-
-func (m *Design_Variant) Reset()         { *m = Design_Variant{} }
-func (m *Design_Variant) String() string { return proto.CompactTextString(m) }
-func (*Design_Variant) ProtoMessage()    {}
-func (*Design_Variant) Descriptor() ([]byte, []int) {
-	return fileDescriptor_8c60c33a46259324, []int{4, 0}
-}
-
-func (m *Design_Variant) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Design_Variant.Unmarshal(m, b)
-}
-func (m *Design_Variant) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Design_Variant.Marshal(b, m, deterministic)
-}
-func (m *Design_Variant) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Design_Variant.Merge(m, src)
-}
-func (m *Design_Variant) XXX_Size() int {
-	return xxx_messageInfo_Design_Variant.Size(m)
-}
-func (m *Design_Variant) XXX_DiscardUnknown() {
-	xxx_messageInfo_Design_Variant.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Design_Variant proto.InternalMessageInfo
-
-func (m *Design_Variant) GetId() *DesignVariantId {
-	if m != nil {
-		return m.Id
-	}
-	return nil
-}
-
-func (m *Design_Variant) GetFormFactor() Design_FormFactor {
-	if m != nil {
-		return m.FormFactor
-	}
-	return Design_FORM_FACTOR_UNDEFINED
-}
-
-func (m *Design_Variant) GetDesignOptions() *DesignOptions {
-	if m != nil {
-		return m.DesignOptions
-	}
-	return nil
-}
-
-type DesignList struct {
-	Value                []*Design `protobuf:"bytes,1,rep,name=value,proto3" json:"value,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
-	XXX_unrecognized     []byte    `json:"-"`
-	XXX_sizecache        int32     `json:"-"`
-}
-
-func (m *DesignList) Reset()         { *m = DesignList{} }
-func (m *DesignList) String() string { return proto.CompactTextString(m) }
-func (*DesignList) ProtoMessage()    {}
-func (*DesignList) Descriptor() ([]byte, []int) {
-	return fileDescriptor_8c60c33a46259324, []int{5}
-}
-
-func (m *DesignList) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_DesignList.Unmarshal(m, b)
-}
-func (m *DesignList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_DesignList.Marshal(b, m, deterministic)
-}
-func (m *DesignList) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_DesignList.Merge(m, src)
-}
-func (m *DesignList) XXX_Size() int {
-	return xxx_messageInfo_DesignList.Size(m)
-}
-func (m *DesignList) XXX_DiscardUnknown() {
-	xxx_messageInfo_DesignList.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_DesignList proto.InternalMessageInfo
-
-func (m *DesignList) GetValue() []*Design {
-	if m != nil {
-		return m.Value
-	}
-	return nil
-}
-
-func init() {
-	proto.RegisterEnum("prototype.DesignOptions_Fingerprint_Location", DesignOptions_Fingerprint_Location_name, DesignOptions_Fingerprint_Location_value)
-	proto.RegisterEnum("prototype.DesignOptions_Stylus_Category", DesignOptions_Stylus_Category_name, DesignOptions_Stylus_Category_value)
-	proto.RegisterEnum("prototype.Design_FormFactor", Design_FormFactor_name, Design_FormFactor_value)
-	proto.RegisterType((*ProgramId)(nil), "prototype.ProgramId")
-	proto.RegisterType((*DesignId)(nil), "prototype.DesignId")
-	proto.RegisterType((*DesignVariantId)(nil), "prototype.DesignVariantId")
-	proto.RegisterType((*DesignOptions)(nil), "prototype.DesignOptions")
-	proto.RegisterType((*DesignOptions_Feature)(nil), "prototype.DesignOptions.Feature")
-	proto.RegisterType((*DesignOptions_Fingerprint)(nil), "prototype.DesignOptions.Fingerprint")
-	proto.RegisterType((*DesignOptions_Stylus)(nil), "prototype.DesignOptions.Stylus")
-	proto.RegisterType((*Design)(nil), "prototype.Design")
-	proto.RegisterType((*Design_Variant)(nil), "prototype.Design.Variant")
-	proto.RegisterType((*DesignList)(nil), "prototype.DesignList")
-}
-
-func init() { proto.RegisterFile("prototype/design.proto", fileDescriptor_8c60c33a46259324) }
-
-var fileDescriptor_8c60c33a46259324 = []byte{
-	// 961 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x96, 0xd1, 0x6e, 0xa3, 0x46,
-	0x17, 0xc7, 0xd7, 0x4e, 0xe2, 0xd8, 0x87, 0xd8, 0x21, 0xf3, 0xed, 0xb7, 0xeb, 0x75, 0xb7, 0x6a,
-	0xea, 0x56, 0xda, 0xa8, 0x55, 0x6d, 0x29, 0x51, 0x54, 0xf5, 0xa2, 0xaa, 0x30, 0xc6, 0x09, 0x0d,
-	0x86, 0x68, 0x4c, 0x76, 0x37, 0xbd, 0x41, 0x2c, 0x8c, 0x09, 0x12, 0x30, 0xd6, 0x40, 0x56, 0x4a,
-	0x5f, 0xa2, 0x77, 0x7d, 0x89, 0x5e, 0xf7, 0x35, 0xfa, 0x22, 0x7d, 0x89, 0x8a, 0x61, 0x82, 0x71,
-	0xad, 0xa8, 0x48, 0x7b, 0xc7, 0x39, 0xfc, 0xff, 0x3f, 0xce, 0x99, 0x81, 0x39, 0xc0, 0x8b, 0x15,
-	0xa3, 0x19, 0xcd, 0x1e, 0x56, 0x64, 0xec, 0x93, 0x34, 0x0c, 0x92, 0x11, 0x4f, 0xa0, 0x4e, 0x99,
-	0x1f, 0x54, 0x24, 0x1e, 0x8d, 0x63, 0x2a, 0x24, 0x83, 0x97, 0xeb, 0xfc, 0xca, 0x65, 0x59, 0x42,
-	0x58, 0x71, 0x63, 0xf8, 0x25, 0x74, 0xae, 0x19, 0x0d, 0x98, 0x1b, 0xeb, 0x3e, 0x7a, 0x0e, 0x7b,
-	0x1f, 0xdd, 0xe8, 0x9e, 0xf4, 0x1b, 0xc7, 0x8d, 0x93, 0x0e, 0x2e, 0x82, 0xe1, 0x31, 0xb4, 0xa7,
-	0xfc, 0x71, 0x4f, 0x2a, 0xde, 0xc0, 0x61, 0xa1, 0x78, 0xeb, 0xb2, 0xd0, 0x4d, 0xb2, 0x27, 0x85,
-	0x7f, 0x4b, 0xd0, 0x2d, 0x94, 0xd6, 0x2a, 0x0b, 0x69, 0x92, 0xa2, 0x19, 0x48, 0xcb, 0x30, 0x09,
-	0x08, 0x5b, 0xb1, 0x30, 0xc9, 0xb8, 0x5a, 0x3a, 0xfd, 0x7a, 0x54, 0x96, 0x3b, 0xda, 0x90, 0x8f,
-	0x66, 0x6b, 0x2d, 0xae, 0x1a, 0x91, 0x0a, 0x07, 0x4b, 0x46, 0x93, 0xcc, 0xf1, 0xdc, 0x98, 0x30,
-	0xb7, 0xdf, 0xe4, 0xa0, 0xe3, 0xa7, 0x41, 0xc4, 0xcd, 0xee, 0x19, 0xc1, 0x12, 0x77, 0xa9, 0xdc,
-	0x84, 0x14, 0x90, 0x18, 0x71, 0xd9, 0x23, 0x63, 0xa7, 0x26, 0x03, 0x72, 0x93, 0x40, 0x58, 0x80,
-	0x3e, 0xb8, 0x29, 0x71, 0x5c, 0xcf, 0x23, 0x11, 0x61, 0x34, 0x26, 0x19, 0x61, 0xfd, 0xdd, 0x9a,
-	0xa4, 0xa3, 0xdc, 0xab, 0x54, 0xad, 0x68, 0x0e, 0x47, 0x51, 0xe8, 0xff, 0x8b, 0xb7, 0x57, 0x93,
-	0x27, 0x47, 0xa1, 0xbf, 0x89, 0xbb, 0x80, 0x1e, 0xaf, 0x2f, 0x78, 0x60, 0x34, 0xf5, 0xe8, 0x8a,
-	0xf4, 0x5b, 0x35, 0x59, 0xdd, 0xdc, 0x77, 0xf1, 0x68, 0x43, 0x1a, 0x74, 0xf3, 0xba, 0xd6, 0x9c,
-	0xfd, 0x9a, 0x9c, 0x83, 0x28, 0xf4, 0xd7, 0x98, 0x39, 0xf0, 0x9e, 0x9d, 0xd8, 0x0d, 0x12, 0x92,
-	0x89, 0xf6, 0xda, 0x75, 0xdb, 0xcb, 0xad, 0xf3, 0x8a, 0x13, 0x5d, 0x41, 0xde, 0xf2, 0x26, 0xad,
-	0x53, 0x93, 0x76, 0x18, 0x85, 0xfe, 0x06, 0xcc, 0x10, 0xb5, 0x45, 0x61, 0x70, 0x97, 0x39, 0x29,
-	0x49, 0x52, 0xca, 0xfa, 0x50, 0x97, 0x96, 0x5b, 0x8d, 0xdc, 0xb9, 0xe0, 0x46, 0xf4, 0x73, 0x51,
-	0xda, 0x06, 0x4c, 0xaa, 0x09, 0xeb, 0x45, 0xa1, 0x5f, 0x65, 0x4d, 0x40, 0xca, 0xe8, 0xbd, 0x77,
-	0x97, 0x7a, 0x8c, 0x90, 0xa4, 0x7f, 0x50, 0xf7, 0x65, 0xaf, 0x98, 0xd0, 0xf7, 0xd0, 0x4a, 0xb3,
-	0x87, 0xe8, 0x3e, 0xed, 0x77, 0xb9, 0xfd, 0x8b, 0x27, 0xed, 0x0b, 0x2e, 0xc3, 0x42, 0x3e, 0x98,
-	0xc2, 0xbe, 0x00, 0xa2, 0x1f, 0xa0, 0xbd, 0x62, 0x24, 0x25, 0x89, 0x57, 0x7c, 0xe8, 0xbd, 0xd3,
-	0xcf, 0x2b, 0x94, 0x6b, 0x71, 0x6b, 0xa4, 0x27, 0x7e, 0xe8, 0xb9, 0x19, 0x65, 0xb8, 0x94, 0x0f,
-	0x7e, 0x6b, 0x82, 0x54, 0xf9, 0x9a, 0x3f, 0x01, 0x85, 0x74, 0x68, 0x47, 0xd4, 0x73, 0xf3, 0x62,
-	0xf9, 0x77, 0xdf, 0x3b, 0xfd, 0xae, 0xce, 0x01, 0x32, 0x32, 0x84, 0x09, 0x97, 0xf6, 0xe1, 0xaf,
-	0xd0, 0x7e, 0xcc, 0xa2, 0x63, 0x78, 0x3d, 0xd3, 0xcd, 0x0b, 0x0d, 0x5f, 0x63, 0xdd, 0xb4, 0x1d,
-	0xc3, 0x52, 0x15, 0x5b, 0xb7, 0x4c, 0xe7, 0xc6, 0xbc, 0x32, 0xad, 0x77, 0xa6, 0xfc, 0x0c, 0xbd,
-	0x82, 0xff, 0x5f, 0x5b, 0xef, 0x34, 0xec, 0x4c, 0x6e, 0x6c, 0xdb, 0x32, 0x1d, 0xdb, 0xba, 0x76,
-	0x0c, 0x6d, 0x66, 0xcb, 0x0d, 0xf4, 0x02, 0xd0, 0x95, 0x76, 0x3b, 0xb1, 0x14, 0x3c, 0xe5, 0x69,
-	0xac, 0x5f, 0x5c, 0xda, 0x72, 0x33, 0xb7, 0x94, 0xf9, 0x89, 0x65, 0xdb, 0xd6, 0x5c, 0xdc, 0xda,
-	0x19, 0xfc, 0xd5, 0x80, 0x56, 0xb1, 0xd4, 0x9f, 0xb2, 0x18, 0x53, 0x68, 0x7b, 0x6e, 0x46, 0x02,
-	0xca, 0x1e, 0xc4, 0x62, 0x9c, 0xfc, 0xc7, 0xc6, 0x8e, 0x54, 0xa1, 0xc7, 0xa5, 0x73, 0xa8, 0x42,
-	0xfb, 0x31, 0x8b, 0x3e, 0x83, 0x97, 0x0b, 0xfb, 0xd6, 0xb8, 0x59, 0x38, 0xaa, 0x62, 0x6b, 0x17,
-	0x16, 0xbe, 0xad, 0x2c, 0xc1, 0x01, 0xb4, 0x75, 0xd3, 0xd6, 0xb0, 0xa9, 0x18, 0x72, 0x23, 0x8f,
-	0xb4, 0xf7, 0x22, 0x6a, 0x0e, 0xff, 0xd8, 0x85, 0x56, 0xf1, 0x40, 0xf4, 0x15, 0x34, 0x43, 0x5f,
-	0x9c, 0xee, 0xff, 0xdb, 0xaa, 0x47, 0xf7, 0x71, 0x33, 0xf4, 0xd1, 0x19, 0xc0, 0xaa, 0x98, 0x45,
-	0x4e, 0xe8, 0x8b, 0x13, 0xfc, 0xf9, 0x46, 0xdf, 0x62, 0x50, 0xe1, 0xce, 0xaa, 0x9c, 0x59, 0xdf,
-	0x42, 0x8b, 0xfa, 0xdc, 0xb0, 0xb3, 0x6d, 0x28, 0x46, 0x9d, 0xee, 0xe3, 0x3d, 0xea, 0xe7, 0x62,
-	0x04, 0xbb, 0x89, 0x1b, 0x13, 0x7e, 0x1e, 0x77, 0x30, 0xbf, 0x46, 0xe7, 0xd0, 0xfe, 0x58, 0x8c,
-	0xad, 0xb4, 0xdf, 0x3a, 0xde, 0x39, 0x91, 0x4e, 0x5f, 0x6d, 0x15, 0x38, 0x12, 0x83, 0x0d, 0x97,
-	0xd2, 0xc1, 0x9f, 0x0d, 0xd8, 0x17, 0x59, 0xf4, 0x4d, 0xa5, 0xbb, 0xc1, 0x96, 0xb9, 0x1c, 0x8a,
-	0xbc, 0xc9, 0x1f, 0x41, 0x5a, 0x52, 0x16, 0x3b, 0x4b, 0xd7, 0xcb, 0x28, 0x13, 0x5b, 0xf4, 0x7a,
-	0xfb, 0x89, 0x33, 0xca, 0xe2, 0x19, 0xd7, 0x60, 0x58, 0x96, 0xd7, 0xe8, 0x27, 0xe8, 0x15, 0xb3,
-	0xdf, 0xa1, 0xc5, 0x26, 0x8a, 0xb6, 0xfb, 0x4f, 0x6d, 0x32, 0xee, 0xfa, 0xd5, 0x70, 0xf8, 0x7b,
-	0x03, 0x60, 0xcd, 0xce, 0xdf, 0xc7, 0x99, 0x85, 0xe7, 0xce, 0x4c, 0x51, 0x6d, 0x0b, 0x3b, 0x37,
-	0xe6, 0x54, 0x9b, 0xe9, 0xa6, 0x36, 0x95, 0x9f, 0xa1, 0x2e, 0x74, 0x54, 0x43, 0x99, 0x2f, 0x2e,
-	0x35, 0x23, 0xdf, 0xdb, 0x43, 0x90, 0x54, 0xcb, 0x7c, 0xab, 0x61, 0x5b, 0x9f, 0x18, 0x9a, 0xdc,
-	0x44, 0x3d, 0x80, 0xa9, 0x66, 0x2b, 0xea, 0xa5, 0x92, 0xc7, 0x3b, 0x79, 0xac, 0x5e, 0x62, 0x6b,
-	0xae, 0x4d, 0x94, 0x85, 0x26, 0xef, 0x72, 0x7f, 0x11, 0x5b, 0xef, 0xe5, 0xbd, 0x4a, 0xa8, 0xdb,
-	0x72, 0x8b, 0xe3, 0x78, 0xb8, 0x30, 0x14, 0x5b, 0x93, 0xf7, 0x87, 0xe7, 0x00, 0x45, 0xe1, 0x46,
-	0x98, 0x66, 0xe8, 0xcd, 0xfa, 0xff, 0x21, 0xdf, 0x92, 0xa3, 0xad, 0xf6, 0xc4, 0x2f, 0xc5, 0xe4,
-	0xfc, 0x97, 0xb3, 0x80, 0x8e, 0xbc, 0x3b, 0x46, 0xe3, 0xf0, 0x3e, 0x1e, 0x51, 0x16, 0x8c, 0x1f,
-	0x03, 0x9a, 0x8e, 0xc3, 0x64, 0xc9, 0xdc, 0x31, 0xf7, 0x8e, 0x03, 0x3a, 0x2e, 0x21, 0x1f, 0x5a,
-	0xfc, 0xf2, 0xec, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xa5, 0xa9, 0x49, 0x2b, 0x54, 0x09, 0x00,
-	0x00,
-}
diff --git a/go/prototype/device_project.pb.go b/go/prototype/device_project.pb.go
deleted file mode 100644
index ad4f037..0000000
--- a/go/prototype/device_project.pb.go
+++ /dev/null
@@ -1,301 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// source: prototype/device_project.proto
-
-package prototype
-
-import (
-	fmt "fmt"
-	proto "github.com/golang/protobuf/proto"
-	math "math"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the proto package it is being compiled against.
-// A compilation error at this line likely means your copy of the
-// proto package needs to be updated.
-const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
-
-type DeviceBrandId struct {
-	Value                string   `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *DeviceBrandId) Reset()         { *m = DeviceBrandId{} }
-func (m *DeviceBrandId) String() string { return proto.CompactTextString(m) }
-func (*DeviceBrandId) ProtoMessage()    {}
-func (*DeviceBrandId) Descriptor() ([]byte, []int) {
-	return fileDescriptor_25cfb5d8af6fe022, []int{0}
-}
-
-func (m *DeviceBrandId) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_DeviceBrandId.Unmarshal(m, b)
-}
-func (m *DeviceBrandId) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_DeviceBrandId.Marshal(b, m, deterministic)
-}
-func (m *DeviceBrandId) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_DeviceBrandId.Merge(m, src)
-}
-func (m *DeviceBrandId) XXX_Size() int {
-	return xxx_messageInfo_DeviceBrandId.Size(m)
-}
-func (m *DeviceBrandId) XXX_DiscardUnknown() {
-	xxx_messageInfo_DeviceBrandId.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_DeviceBrandId proto.InternalMessageInfo
-
-func (m *DeviceBrandId) GetValue() string {
-	if m != nil {
-		return m.Value
-	}
-	return ""
-}
-
-type DeviceBrand struct {
-	Id                   *DeviceBrandId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
-	DesignId             *DesignId      `protobuf:"bytes,2,opt,name=design_id,json=designId,proto3" json:"design_id,omitempty"`
-	OemId                *PartnerId     `protobuf:"bytes,3,opt,name=oem_id,json=oemId,proto3" json:"oem_id,omitempty"`
-	BrandCode            string         `protobuf:"bytes,4,opt,name=brand_code,json=brandCode,proto3" json:"brand_code,omitempty"`
-	BrandName            string         `protobuf:"bytes,5,opt,name=brand_name,json=brandName,proto3" json:"brand_name,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
-	XXX_unrecognized     []byte         `json:"-"`
-	XXX_sizecache        int32          `json:"-"`
-}
-
-func (m *DeviceBrand) Reset()         { *m = DeviceBrand{} }
-func (m *DeviceBrand) String() string { return proto.CompactTextString(m) }
-func (*DeviceBrand) ProtoMessage()    {}
-func (*DeviceBrand) Descriptor() ([]byte, []int) {
-	return fileDescriptor_25cfb5d8af6fe022, []int{1}
-}
-
-func (m *DeviceBrand) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_DeviceBrand.Unmarshal(m, b)
-}
-func (m *DeviceBrand) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_DeviceBrand.Marshal(b, m, deterministic)
-}
-func (m *DeviceBrand) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_DeviceBrand.Merge(m, src)
-}
-func (m *DeviceBrand) XXX_Size() int {
-	return xxx_messageInfo_DeviceBrand.Size(m)
-}
-func (m *DeviceBrand) XXX_DiscardUnknown() {
-	xxx_messageInfo_DeviceBrand.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_DeviceBrand proto.InternalMessageInfo
-
-func (m *DeviceBrand) GetId() *DeviceBrandId {
-	if m != nil {
-		return m.Id
-	}
-	return nil
-}
-
-func (m *DeviceBrand) GetDesignId() *DesignId {
-	if m != nil {
-		return m.DesignId
-	}
-	return nil
-}
-
-func (m *DeviceBrand) GetOemId() *PartnerId {
-	if m != nil {
-		return m.OemId
-	}
-	return nil
-}
-
-func (m *DeviceBrand) GetBrandCode() string {
-	if m != nil {
-		return m.BrandCode
-	}
-	return ""
-}
-
-func (m *DeviceBrand) GetBrandName() string {
-	if m != nil {
-		return m.BrandName
-	}
-	return ""
-}
-
-type DeviceBrandList struct {
-	Value                []*DeviceBrand `protobuf:"bytes,1,rep,name=value,proto3" json:"value,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
-	XXX_unrecognized     []byte         `json:"-"`
-	XXX_sizecache        int32          `json:"-"`
-}
-
-func (m *DeviceBrandList) Reset()         { *m = DeviceBrandList{} }
-func (m *DeviceBrandList) String() string { return proto.CompactTextString(m) }
-func (*DeviceBrandList) ProtoMessage()    {}
-func (*DeviceBrandList) Descriptor() ([]byte, []int) {
-	return fileDescriptor_25cfb5d8af6fe022, []int{2}
-}
-
-func (m *DeviceBrandList) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_DeviceBrandList.Unmarshal(m, b)
-}
-func (m *DeviceBrandList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_DeviceBrandList.Marshal(b, m, deterministic)
-}
-func (m *DeviceBrandList) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_DeviceBrandList.Merge(m, src)
-}
-func (m *DeviceBrandList) XXX_Size() int {
-	return xxx_messageInfo_DeviceBrandList.Size(m)
-}
-func (m *DeviceBrandList) XXX_DiscardUnknown() {
-	xxx_messageInfo_DeviceBrandList.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_DeviceBrandList proto.InternalMessageInfo
-
-func (m *DeviceBrandList) GetValue() []*DeviceBrand {
-	if m != nil {
-		return m.Value
-	}
-	return nil
-}
-
-// Metadata around all of the logistics for the project
-type DeviceProject struct {
-	Id                   *DeviceBrandId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
-	Name                 string         `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
-	BugComponentId       string         `protobuf:"bytes,3,opt,name=bug_component_id,json=bugComponentId,proto3" json:"bug_component_id,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
-	XXX_unrecognized     []byte         `json:"-"`
-	XXX_sizecache        int32          `json:"-"`
-}
-
-func (m *DeviceProject) Reset()         { *m = DeviceProject{} }
-func (m *DeviceProject) String() string { return proto.CompactTextString(m) }
-func (*DeviceProject) ProtoMessage()    {}
-func (*DeviceProject) Descriptor() ([]byte, []int) {
-	return fileDescriptor_25cfb5d8af6fe022, []int{3}
-}
-
-func (m *DeviceProject) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_DeviceProject.Unmarshal(m, b)
-}
-func (m *DeviceProject) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_DeviceProject.Marshal(b, m, deterministic)
-}
-func (m *DeviceProject) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_DeviceProject.Merge(m, src)
-}
-func (m *DeviceProject) XXX_Size() int {
-	return xxx_messageInfo_DeviceProject.Size(m)
-}
-func (m *DeviceProject) XXX_DiscardUnknown() {
-	xxx_messageInfo_DeviceProject.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_DeviceProject proto.InternalMessageInfo
-
-func (m *DeviceProject) GetId() *DeviceBrandId {
-	if m != nil {
-		return m.Id
-	}
-	return nil
-}
-
-func (m *DeviceProject) GetName() string {
-	if m != nil {
-		return m.Name
-	}
-	return ""
-}
-
-func (m *DeviceProject) GetBugComponentId() string {
-	if m != nil {
-		return m.BugComponentId
-	}
-	return ""
-}
-
-type DeviceProjectList struct {
-	Value                []*DeviceProject `protobuf:"bytes,1,rep,name=value,proto3" json:"value,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
-	XXX_unrecognized     []byte           `json:"-"`
-	XXX_sizecache        int32            `json:"-"`
-}
-
-func (m *DeviceProjectList) Reset()         { *m = DeviceProjectList{} }
-func (m *DeviceProjectList) String() string { return proto.CompactTextString(m) }
-func (*DeviceProjectList) ProtoMessage()    {}
-func (*DeviceProjectList) Descriptor() ([]byte, []int) {
-	return fileDescriptor_25cfb5d8af6fe022, []int{4}
-}
-
-func (m *DeviceProjectList) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_DeviceProjectList.Unmarshal(m, b)
-}
-func (m *DeviceProjectList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_DeviceProjectList.Marshal(b, m, deterministic)
-}
-func (m *DeviceProjectList) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_DeviceProjectList.Merge(m, src)
-}
-func (m *DeviceProjectList) XXX_Size() int {
-	return xxx_messageInfo_DeviceProjectList.Size(m)
-}
-func (m *DeviceProjectList) XXX_DiscardUnknown() {
-	xxx_messageInfo_DeviceProjectList.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_DeviceProjectList proto.InternalMessageInfo
-
-func (m *DeviceProjectList) GetValue() []*DeviceProject {
-	if m != nil {
-		return m.Value
-	}
-	return nil
-}
-
-func init() {
-	proto.RegisterType((*DeviceBrandId)(nil), "prototype.DeviceBrandId")
-	proto.RegisterType((*DeviceBrand)(nil), "prototype.DeviceBrand")
-	proto.RegisterType((*DeviceBrandList)(nil), "prototype.DeviceBrandList")
-	proto.RegisterType((*DeviceProject)(nil), "prototype.DeviceProject")
-	proto.RegisterType((*DeviceProjectList)(nil), "prototype.DeviceProjectList")
-}
-
-func init() { proto.RegisterFile("prototype/device_project.proto", fileDescriptor_25cfb5d8af6fe022) }
-
-var fileDescriptor_25cfb5d8af6fe022 = []byte{
-	// 345 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x51, 0x4d, 0x4b, 0xc3, 0x40,
-	0x10, 0xa5, 0xe9, 0x07, 0x66, 0x8b, 0x5f, 0x6b, 0xa9, 0xa1, 0xa0, 0x48, 0x40, 0x08, 0x28, 0x89,
-	0xb4, 0x78, 0x16, 0x5a, 0x2f, 0x01, 0x91, 0x92, 0xa3, 0x97, 0x90, 0x64, 0xc7, 0xb8, 0x62, 0x76,
-	0xc2, 0x36, 0xa9, 0xf8, 0x3f, 0xfd, 0x41, 0xd2, 0x49, 0xd3, 0x26, 0xe8, 0xc5, 0xdb, 0xec, 0xbc,
-	0x37, 0x6f, 0xde, 0xbc, 0x65, 0x97, 0xb9, 0xc6, 0x02, 0x8b, 0xaf, 0x1c, 0x3c, 0x01, 0x6b, 0x99,
-	0x40, 0x98, 0x6b, 0x7c, 0x87, 0xa4, 0x70, 0x09, 0xe0, 0xe6, 0x0e, 0x9f, 0x9c, 0xef, 0xa9, 0x79,
-	0xa4, 0x0b, 0x05, 0xba, 0xe2, 0x4c, 0xc6, 0x4d, 0x8d, 0x95, 0x4c, 0x55, 0xd5, 0xb7, 0xaf, 0xd9,
-	0xe1, 0x23, 0x69, 0xce, 0x75, 0xa4, 0x84, 0x2f, 0xf8, 0x88, 0xf5, 0xd7, 0xd1, 0x47, 0x09, 0x56,
-	0xe7, 0xaa, 0xe3, 0x98, 0x41, 0xf5, 0xb0, 0xbf, 0x3b, 0x6c, 0xd8, 0xe0, 0x71, 0x87, 0x19, 0x52,
-	0x10, 0x65, 0x38, 0xb5, 0xdc, 0x9d, 0xb6, 0xdb, 0xd2, 0x0a, 0x0c, 0x29, 0xf8, 0x1d, 0x33, 0xab,
-	0x85, 0xa1, 0x14, 0x96, 0x41, 0x03, 0x67, 0xad, 0x81, 0x0d, 0xe6, 0x8b, 0xe0, 0x40, 0x6c, 0x2b,
-	0x7e, 0xc3, 0x06, 0x08, 0xd9, 0x86, 0xde, 0x25, 0xfa, 0xa8, 0x41, 0x5f, 0x56, 0x47, 0xf9, 0x22,
-	0xe8, 0x23, 0x64, 0xbe, 0xe0, 0x17, 0x8c, 0xc5, 0x9b, 0x6d, 0x61, 0x82, 0x02, 0xac, 0x1e, 0x79,
-	0x36, 0xa9, 0xb3, 0x40, 0x01, 0x7b, 0x58, 0x45, 0x19, 0x58, 0xfd, 0x06, 0xfc, 0x1c, 0x65, 0x60,
-	0x3f, 0xb0, 0xe3, 0x86, 0xe3, 0x27, 0xb9, 0x2a, 0xf8, 0xed, 0xfe, 0xfe, 0xae, 0x33, 0x9c, 0x8e,
-	0xff, 0x3e, 0xae, 0xce, 0xe5, 0xb3, 0x8e, 0x6f, 0x59, 0xfd, 0xc8, 0x3f, 0x82, 0xe1, 0xac, 0x47,
-	0xa6, 0x0c, 0x32, 0x45, 0x35, 0x77, 0xd8, 0x49, 0x5c, 0xa6, 0x61, 0x82, 0x59, 0x8e, 0x0a, 0x54,
-	0x51, 0x87, 0x60, 0x06, 0x47, 0x71, 0x99, 0x2e, 0xea, 0xb6, 0x2f, 0xec, 0x05, 0x3b, 0x6d, 0x2d,
-	0x26, 0xef, 0x6e, 0xdb, 0xfb, 0xef, 0xfd, 0x5b, 0xf2, 0xd6, 0xfd, 0xfc, 0xfe, 0x65, 0x96, 0xa2,
-	0x9b, 0xbc, 0x69, 0xcc, 0x64, 0x99, 0xb9, 0xa8, 0x53, 0xaf, 0x7e, 0xe0, 0xca, 0x93, 0xea, 0x55,
-	0x47, 0x1e, 0x49, 0x78, 0x29, 0x7a, 0x3b, 0xad, 0x78, 0x40, 0xe5, 0xec, 0x27, 0x00, 0x00, 0xff,
-	0xff, 0x2f, 0x38, 0x8d, 0x42, 0x98, 0x02, 0x00, 0x00,
-}
diff --git a/go/prototype/partner.pb.go b/go/prototype/partner.pb.go
deleted file mode 100644
index 8679cee..0000000
--- a/go/prototype/partner.pb.go
+++ /dev/null
@@ -1,180 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// source: prototype/partner.proto
-
-package prototype
-
-import (
-	fmt "fmt"
-	proto "github.com/golang/protobuf/proto"
-	math "math"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the proto package it is being compiled against.
-// A compilation error at this line likely means your copy of the
-// proto package needs to be updated.
-const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
-
-type PartnerId struct {
-	Value                string   `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *PartnerId) Reset()         { *m = PartnerId{} }
-func (m *PartnerId) String() string { return proto.CompactTextString(m) }
-func (*PartnerId) ProtoMessage()    {}
-func (*PartnerId) Descriptor() ([]byte, []int) {
-	return fileDescriptor_12fb452c5cc762de, []int{0}
-}
-
-func (m *PartnerId) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_PartnerId.Unmarshal(m, b)
-}
-func (m *PartnerId) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_PartnerId.Marshal(b, m, deterministic)
-}
-func (m *PartnerId) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_PartnerId.Merge(m, src)
-}
-func (m *PartnerId) XXX_Size() int {
-	return xxx_messageInfo_PartnerId.Size(m)
-}
-func (m *PartnerId) XXX_DiscardUnknown() {
-	xxx_messageInfo_PartnerId.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_PartnerId proto.InternalMessageInfo
-
-func (m *PartnerId) GetValue() string {
-	if m != nil {
-		return m.Value
-	}
-	return ""
-}
-
-type Partner struct {
-	Id                   *PartnerId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
-	Name                 string     `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
-	EmailGroup           string     `protobuf:"bytes,3,opt,name=email_group,json=emailGroup,proto3" json:"email_group,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
-	XXX_unrecognized     []byte     `json:"-"`
-	XXX_sizecache        int32      `json:"-"`
-}
-
-func (m *Partner) Reset()         { *m = Partner{} }
-func (m *Partner) String() string { return proto.CompactTextString(m) }
-func (*Partner) ProtoMessage()    {}
-func (*Partner) Descriptor() ([]byte, []int) {
-	return fileDescriptor_12fb452c5cc762de, []int{1}
-}
-
-func (m *Partner) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Partner.Unmarshal(m, b)
-}
-func (m *Partner) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Partner.Marshal(b, m, deterministic)
-}
-func (m *Partner) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Partner.Merge(m, src)
-}
-func (m *Partner) XXX_Size() int {
-	return xxx_messageInfo_Partner.Size(m)
-}
-func (m *Partner) XXX_DiscardUnknown() {
-	xxx_messageInfo_Partner.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Partner proto.InternalMessageInfo
-
-func (m *Partner) GetId() *PartnerId {
-	if m != nil {
-		return m.Id
-	}
-	return nil
-}
-
-func (m *Partner) GetName() string {
-	if m != nil {
-		return m.Name
-	}
-	return ""
-}
-
-func (m *Partner) GetEmailGroup() string {
-	if m != nil {
-		return m.EmailGroup
-	}
-	return ""
-}
-
-type PartnerList struct {
-	Value                []*Partner `protobuf:"bytes,1,rep,name=value,proto3" json:"value,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
-	XXX_unrecognized     []byte     `json:"-"`
-	XXX_sizecache        int32      `json:"-"`
-}
-
-func (m *PartnerList) Reset()         { *m = PartnerList{} }
-func (m *PartnerList) String() string { return proto.CompactTextString(m) }
-func (*PartnerList) ProtoMessage()    {}
-func (*PartnerList) Descriptor() ([]byte, []int) {
-	return fileDescriptor_12fb452c5cc762de, []int{2}
-}
-
-func (m *PartnerList) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_PartnerList.Unmarshal(m, b)
-}
-func (m *PartnerList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_PartnerList.Marshal(b, m, deterministic)
-}
-func (m *PartnerList) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_PartnerList.Merge(m, src)
-}
-func (m *PartnerList) XXX_Size() int {
-	return xxx_messageInfo_PartnerList.Size(m)
-}
-func (m *PartnerList) XXX_DiscardUnknown() {
-	xxx_messageInfo_PartnerList.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_PartnerList proto.InternalMessageInfo
-
-func (m *PartnerList) GetValue() []*Partner {
-	if m != nil {
-		return m.Value
-	}
-	return nil
-}
-
-func init() {
-	proto.RegisterType((*PartnerId)(nil), "prototype.PartnerId")
-	proto.RegisterType((*Partner)(nil), "prototype.Partner")
-	proto.RegisterType((*PartnerList)(nil), "prototype.PartnerList")
-}
-
-func init() { proto.RegisterFile("prototype/partner.proto", fileDescriptor_12fb452c5cc762de) }
-
-var fileDescriptor_12fb452c5cc762de = []byte{
-	// 209 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x8e, 0xcf, 0x4b, 0xc4, 0x30,
-	0x10, 0x85, 0xd9, 0xae, 0x3f, 0xe8, 0xe4, 0x36, 0x2c, 0xd8, 0x9b, 0x5a, 0x3c, 0xf4, 0x94, 0xc0,
-	0x2e, 0xe2, 0xdd, 0x8b, 0x08, 0x1e, 0xa4, 0x47, 0x2f, 0x12, 0x4d, 0x8c, 0x81, 0xa6, 0x13, 0xd2,
-	0x54, 0xf0, 0xbf, 0x17, 0xa7, 0x35, 0x1e, 0xf6, 0x36, 0xf3, 0xbe, 0xe4, 0x9b, 0x07, 0x17, 0x31,
-	0x51, 0xa6, 0xfc, 0x1d, 0xad, 0x8a, 0x3a, 0xe5, 0xd1, 0x26, 0xc9, 0x09, 0xd6, 0x05, 0xb4, 0xd7,
-	0x50, 0x3f, 0x2f, 0xec, 0xd1, 0xe0, 0x0e, 0x4e, 0xbf, 0xf4, 0x30, 0xdb, 0x66, 0x73, 0xb5, 0xe9,
-	0xea, 0x7e, 0x59, 0x5a, 0x03, 0xe7, 0xeb, 0x13, 0xbc, 0x81, 0xca, 0x1b, 0xa6, 0x62, 0xbf, 0x93,
-	0xc5, 0x22, 0x8b, 0xa2, 0xaf, 0xbc, 0x41, 0x84, 0x93, 0x51, 0x07, 0xdb, 0x54, 0x6c, 0xe1, 0x19,
-	0x2f, 0x41, 0xd8, 0xa0, 0xfd, 0xf0, 0xea, 0x12, 0xcd, 0xb1, 0xd9, 0x32, 0x02, 0x8e, 0x1e, 0x7e,
-	0x93, 0xf6, 0x0e, 0xc4, 0x6a, 0x79, 0xf2, 0x53, 0xc6, 0xee, 0xbf, 0xca, 0xb6, 0x13, 0x7b, 0x3c,
-	0x3e, 0xb6, 0xd6, 0xbb, 0xbf, 0x7d, 0x39, 0x38, 0x92, 0xef, 0x9f, 0x89, 0x82, 0x9f, 0x83, 0xa4,
-	0xe4, 0xd4, 0xdf, 0x42, 0x93, 0xf2, 0xe3, 0x47, 0xd2, 0x8a, 0x3f, 0x2b, 0x47, 0xaa, 0x58, 0xde,
-	0xce, 0x78, 0x3c, 0xfc, 0x04, 0x00, 0x00, 0xff, 0xff, 0x94, 0x0e, 0x3b, 0x60, 0x25, 0x01, 0x00,
-	0x00,
-}
diff --git a/go/prototype/program.pb.go b/go/prototype/program.pb.go
deleted file mode 100644
index 5e681a0..0000000
--- a/go/prototype/program.pb.go
+++ /dev/null
@@ -1,529 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// source: prototype/program.proto
-
-package prototype
-
-import (
-	fmt "fmt"
-	proto "github.com/golang/protobuf/proto"
-	math "math"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the proto package it is being compiled against.
-// A compilation error at this line likely means your copy of the
-// proto package needs to be updated.
-const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
-
-type Constraint_Level int32
-
-const (
-	Constraint_TYPE_UNKNOWN Constraint_Level = 0
-	Constraint_REQUIRED     Constraint_Level = 1
-	Constraint_PREFERRED    Constraint_Level = 2
-	Constraint_OPTIONAL     Constraint_Level = 3
-)
-
-var Constraint_Level_name = map[int32]string{
-	0: "TYPE_UNKNOWN",
-	1: "REQUIRED",
-	2: "PREFERRED",
-	3: "OPTIONAL",
-}
-
-var Constraint_Level_value = map[string]int32{
-	"TYPE_UNKNOWN": 0,
-	"REQUIRED":     1,
-	"PREFERRED":    2,
-	"OPTIONAL":     3,
-}
-
-func (x Constraint_Level) String() string {
-	return proto.EnumName(Constraint_Level_name, int32(x))
-}
-
-func (Constraint_Level) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_cafe880c4e08131d, []int{0, 0}
-}
-
-type ComponentQual_Status int32
-
-const (
-	ComponentQual_STATUS_UNKNOWN        ComponentQual_Status = 0
-	ComponentQual_REQUESTED             ComponentQual_Status = 1
-	ComponentQual_TECHNICALLY_QUALIFIED ComponentQual_Status = 2
-	ComponentQual_QUALIFIED             ComponentQual_Status = 3
-)
-
-var ComponentQual_Status_name = map[int32]string{
-	0: "STATUS_UNKNOWN",
-	1: "REQUESTED",
-	2: "TECHNICALLY_QUALIFIED",
-	3: "QUALIFIED",
-}
-
-var ComponentQual_Status_value = map[string]int32{
-	"STATUS_UNKNOWN":        0,
-	"REQUESTED":             1,
-	"TECHNICALLY_QUALIFIED": 2,
-	"QUALIFIED":             3,
-}
-
-func (x ComponentQual_Status) String() string {
-	return proto.EnumName(ComponentQual_Status_name, int32(x))
-}
-
-func (ComponentQual_Status) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_cafe880c4e08131d, []int{1, 0}
-}
-
-type Constraint struct {
-	Level Constraint_Level `protobuf:"varint,1,opt,name=level,proto3,enum=prototype.Constraint_Level" json:"level,omitempty"`
-	// Types that are valid to be assigned to Type:
-	//	*Constraint_Memory_
-	//	*Constraint_FrontCamera
-	//	*Constraint_RearCamera
-	Type                 isConstraint_Type `protobuf_oneof:"type"`
-	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
-	XXX_unrecognized     []byte            `json:"-"`
-	XXX_sizecache        int32             `json:"-"`
-}
-
-func (m *Constraint) Reset()         { *m = Constraint{} }
-func (m *Constraint) String() string { return proto.CompactTextString(m) }
-func (*Constraint) ProtoMessage()    {}
-func (*Constraint) Descriptor() ([]byte, []int) {
-	return fileDescriptor_cafe880c4e08131d, []int{0}
-}
-
-func (m *Constraint) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Constraint.Unmarshal(m, b)
-}
-func (m *Constraint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Constraint.Marshal(b, m, deterministic)
-}
-func (m *Constraint) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Constraint.Merge(m, src)
-}
-func (m *Constraint) XXX_Size() int {
-	return xxx_messageInfo_Constraint.Size(m)
-}
-func (m *Constraint) XXX_DiscardUnknown() {
-	xxx_messageInfo_Constraint.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Constraint proto.InternalMessageInfo
-
-func (m *Constraint) GetLevel() Constraint_Level {
-	if m != nil {
-		return m.Level
-	}
-	return Constraint_TYPE_UNKNOWN
-}
-
-type isConstraint_Type interface {
-	isConstraint_Type()
-}
-
-type Constraint_Memory_ struct {
-	Memory *Constraint_Memory `protobuf:"bytes,4,opt,name=memory,proto3,oneof"`
-}
-
-type Constraint_FrontCamera struct {
-	FrontCamera *Constraint_Camera `protobuf:"bytes,6,opt,name=front_camera,json=frontCamera,proto3,oneof"`
-}
-
-type Constraint_RearCamera struct {
-	RearCamera *Constraint_Camera `protobuf:"bytes,7,opt,name=rear_camera,json=rearCamera,proto3,oneof"`
-}
-
-func (*Constraint_Memory_) isConstraint_Type() {}
-
-func (*Constraint_FrontCamera) isConstraint_Type() {}
-
-func (*Constraint_RearCamera) isConstraint_Type() {}
-
-func (m *Constraint) GetType() isConstraint_Type {
-	if m != nil {
-		return m.Type
-	}
-	return nil
-}
-
-func (m *Constraint) GetMemory() *Constraint_Memory {
-	if x, ok := m.GetType().(*Constraint_Memory_); ok {
-		return x.Memory
-	}
-	return nil
-}
-
-func (m *Constraint) GetFrontCamera() *Constraint_Camera {
-	if x, ok := m.GetType().(*Constraint_FrontCamera); ok {
-		return x.FrontCamera
-	}
-	return nil
-}
-
-func (m *Constraint) GetRearCamera() *Constraint_Camera {
-	if x, ok := m.GetType().(*Constraint_RearCamera); ok {
-		return x.RearCamera
-	}
-	return nil
-}
-
-// XXX_OneofWrappers is for the internal use of the proto package.
-func (*Constraint) XXX_OneofWrappers() []interface{} {
-	return []interface{}{
-		(*Constraint_Memory_)(nil),
-		(*Constraint_FrontCamera)(nil),
-		(*Constraint_RearCamera)(nil),
-	}
-}
-
-type Constraint_Memory struct {
-	MinSize              *ByteSize               `protobuf:"bytes,1,opt,name=min_size,json=minSize,proto3" json:"min_size,omitempty"`
-	Types                []Component_Memory_Type `protobuf:"varint,2,rep,packed,name=types,proto3,enum=prototype.Component_Memory_Type" json:"types,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
-	XXX_unrecognized     []byte                  `json:"-"`
-	XXX_sizecache        int32                   `json:"-"`
-}
-
-func (m *Constraint_Memory) Reset()         { *m = Constraint_Memory{} }
-func (m *Constraint_Memory) String() string { return proto.CompactTextString(m) }
-func (*Constraint_Memory) ProtoMessage()    {}
-func (*Constraint_Memory) Descriptor() ([]byte, []int) {
-	return fileDescriptor_cafe880c4e08131d, []int{0, 0}
-}
-
-func (m *Constraint_Memory) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Constraint_Memory.Unmarshal(m, b)
-}
-func (m *Constraint_Memory) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Constraint_Memory.Marshal(b, m, deterministic)
-}
-func (m *Constraint_Memory) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Constraint_Memory.Merge(m, src)
-}
-func (m *Constraint_Memory) XXX_Size() int {
-	return xxx_messageInfo_Constraint_Memory.Size(m)
-}
-func (m *Constraint_Memory) XXX_DiscardUnknown() {
-	xxx_messageInfo_Constraint_Memory.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Constraint_Memory proto.InternalMessageInfo
-
-func (m *Constraint_Memory) GetMinSize() *ByteSize {
-	if m != nil {
-		return m.MinSize
-	}
-	return nil
-}
-
-func (m *Constraint_Memory) GetTypes() []Component_Memory_Type {
-	if m != nil {
-		return m.Types
-	}
-	return nil
-}
-
-type Constraint_Camera struct {
-	Presence             Presence_Indicator         `protobuf:"varint,1,opt,name=presence,proto3,enum=prototype.Presence_Indicator" json:"presence,omitempty"`
-	Features             []Component_Camera_Feature `protobuf:"varint,2,rep,packed,name=features,proto3,enum=prototype.Component_Camera_Feature" json:"features,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
-	XXX_unrecognized     []byte                     `json:"-"`
-	XXX_sizecache        int32                      `json:"-"`
-}
-
-func (m *Constraint_Camera) Reset()         { *m = Constraint_Camera{} }
-func (m *Constraint_Camera) String() string { return proto.CompactTextString(m) }
-func (*Constraint_Camera) ProtoMessage()    {}
-func (*Constraint_Camera) Descriptor() ([]byte, []int) {
-	return fileDescriptor_cafe880c4e08131d, []int{0, 1}
-}
-
-func (m *Constraint_Camera) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Constraint_Camera.Unmarshal(m, b)
-}
-func (m *Constraint_Camera) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Constraint_Camera.Marshal(b, m, deterministic)
-}
-func (m *Constraint_Camera) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Constraint_Camera.Merge(m, src)
-}
-func (m *Constraint_Camera) XXX_Size() int {
-	return xxx_messageInfo_Constraint_Camera.Size(m)
-}
-func (m *Constraint_Camera) XXX_DiscardUnknown() {
-	xxx_messageInfo_Constraint_Camera.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Constraint_Camera proto.InternalMessageInfo
-
-func (m *Constraint_Camera) GetPresence() Presence_Indicator {
-	if m != nil {
-		return m.Presence
-	}
-	return Presence_PRESENCE_UNKNOWN
-}
-
-func (m *Constraint_Camera) GetFeatures() []Component_Camera_Feature {
-	if m != nil {
-		return m.Features
-	}
-	return nil
-}
-
-type ComponentQual struct {
-	ComponentId          *ComponentId         `protobuf:"bytes,1,opt,name=component_id,json=componentId,proto3" json:"component_id,omitempty"`
-	Status               ComponentQual_Status `protobuf:"varint,2,opt,name=status,proto3,enum=prototype.ComponentQual_Status" json:"status,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
-	XXX_unrecognized     []byte               `json:"-"`
-	XXX_sizecache        int32                `json:"-"`
-}
-
-func (m *ComponentQual) Reset()         { *m = ComponentQual{} }
-func (m *ComponentQual) String() string { return proto.CompactTextString(m) }
-func (*ComponentQual) ProtoMessage()    {}
-func (*ComponentQual) Descriptor() ([]byte, []int) {
-	return fileDescriptor_cafe880c4e08131d, []int{1}
-}
-
-func (m *ComponentQual) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_ComponentQual.Unmarshal(m, b)
-}
-func (m *ComponentQual) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_ComponentQual.Marshal(b, m, deterministic)
-}
-func (m *ComponentQual) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_ComponentQual.Merge(m, src)
-}
-func (m *ComponentQual) XXX_Size() int {
-	return xxx_messageInfo_ComponentQual.Size(m)
-}
-func (m *ComponentQual) XXX_DiscardUnknown() {
-	xxx_messageInfo_ComponentQual.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_ComponentQual proto.InternalMessageInfo
-
-func (m *ComponentQual) GetComponentId() *ComponentId {
-	if m != nil {
-		return m.ComponentId
-	}
-	return nil
-}
-
-func (m *ComponentQual) GetStatus() ComponentQual_Status {
-	if m != nil {
-		return m.Status
-	}
-	return ComponentQual_STATUS_UNKNOWN
-}
-
-type Program struct {
-	Id                   *ProgramId             `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
-	Reqs                 []*Program_Requirement `protobuf:"bytes,2,rep,name=reqs,proto3" json:"reqs,omitempty"`
-	ComponentQuals       []*ComponentQual       `protobuf:"bytes,3,rep,name=component_quals,json=componentQuals,proto3" json:"component_quals,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
-	XXX_unrecognized     []byte                 `json:"-"`
-	XXX_sizecache        int32                  `json:"-"`
-}
-
-func (m *Program) Reset()         { *m = Program{} }
-func (m *Program) String() string { return proto.CompactTextString(m) }
-func (*Program) ProtoMessage()    {}
-func (*Program) Descriptor() ([]byte, []int) {
-	return fileDescriptor_cafe880c4e08131d, []int{2}
-}
-
-func (m *Program) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Program.Unmarshal(m, b)
-}
-func (m *Program) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Program.Marshal(b, m, deterministic)
-}
-func (m *Program) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Program.Merge(m, src)
-}
-func (m *Program) XXX_Size() int {
-	return xxx_messageInfo_Program.Size(m)
-}
-func (m *Program) XXX_DiscardUnknown() {
-	xxx_messageInfo_Program.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Program proto.InternalMessageInfo
-
-func (m *Program) GetId() *ProgramId {
-	if m != nil {
-		return m.Id
-	}
-	return nil
-}
-
-func (m *Program) GetReqs() []*Program_Requirement {
-	if m != nil {
-		return m.Reqs
-	}
-	return nil
-}
-
-func (m *Program) GetComponentQuals() []*ComponentQual {
-	if m != nil {
-		return m.ComponentQuals
-	}
-	return nil
-}
-
-type Program_Requirement struct {
-	FormFactors          []Design_FormFactor `protobuf:"varint,1,rep,packed,name=form_factors,json=formFactors,proto3,enum=prototype.Design_FormFactor" json:"form_factors,omitempty"`
-	Constraints          []*Constraint       `protobuf:"bytes,2,rep,name=constraints,proto3" json:"constraints,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
-	XXX_unrecognized     []byte              `json:"-"`
-	XXX_sizecache        int32               `json:"-"`
-}
-
-func (m *Program_Requirement) Reset()         { *m = Program_Requirement{} }
-func (m *Program_Requirement) String() string { return proto.CompactTextString(m) }
-func (*Program_Requirement) ProtoMessage()    {}
-func (*Program_Requirement) Descriptor() ([]byte, []int) {
-	return fileDescriptor_cafe880c4e08131d, []int{2, 0}
-}
-
-func (m *Program_Requirement) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Program_Requirement.Unmarshal(m, b)
-}
-func (m *Program_Requirement) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Program_Requirement.Marshal(b, m, deterministic)
-}
-func (m *Program_Requirement) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Program_Requirement.Merge(m, src)
-}
-func (m *Program_Requirement) XXX_Size() int {
-	return xxx_messageInfo_Program_Requirement.Size(m)
-}
-func (m *Program_Requirement) XXX_DiscardUnknown() {
-	xxx_messageInfo_Program_Requirement.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Program_Requirement proto.InternalMessageInfo
-
-func (m *Program_Requirement) GetFormFactors() []Design_FormFactor {
-	if m != nil {
-		return m.FormFactors
-	}
-	return nil
-}
-
-func (m *Program_Requirement) GetConstraints() []*Constraint {
-	if m != nil {
-		return m.Constraints
-	}
-	return nil
-}
-
-type ProgramList struct {
-	Value                []*Program `protobuf:"bytes,1,rep,name=value,proto3" json:"value,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
-	XXX_unrecognized     []byte     `json:"-"`
-	XXX_sizecache        int32      `json:"-"`
-}
-
-func (m *ProgramList) Reset()         { *m = ProgramList{} }
-func (m *ProgramList) String() string { return proto.CompactTextString(m) }
-func (*ProgramList) ProtoMessage()    {}
-func (*ProgramList) Descriptor() ([]byte, []int) {
-	return fileDescriptor_cafe880c4e08131d, []int{3}
-}
-
-func (m *ProgramList) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_ProgramList.Unmarshal(m, b)
-}
-func (m *ProgramList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_ProgramList.Marshal(b, m, deterministic)
-}
-func (m *ProgramList) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_ProgramList.Merge(m, src)
-}
-func (m *ProgramList) XXX_Size() int {
-	return xxx_messageInfo_ProgramList.Size(m)
-}
-func (m *ProgramList) XXX_DiscardUnknown() {
-	xxx_messageInfo_ProgramList.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_ProgramList proto.InternalMessageInfo
-
-func (m *ProgramList) GetValue() []*Program {
-	if m != nil {
-		return m.Value
-	}
-	return nil
-}
-
-func init() {
-	proto.RegisterEnum("prototype.Constraint_Level", Constraint_Level_name, Constraint_Level_value)
-	proto.RegisterEnum("prototype.ComponentQual_Status", ComponentQual_Status_name, ComponentQual_Status_value)
-	proto.RegisterType((*Constraint)(nil), "prototype.Constraint")
-	proto.RegisterType((*Constraint_Memory)(nil), "prototype.Constraint.Memory")
-	proto.RegisterType((*Constraint_Camera)(nil), "prototype.Constraint.Camera")
-	proto.RegisterType((*ComponentQual)(nil), "prototype.ComponentQual")
-	proto.RegisterType((*Program)(nil), "prototype.Program")
-	proto.RegisterType((*Program_Requirement)(nil), "prototype.Program.Requirement")
-	proto.RegisterType((*ProgramList)(nil), "prototype.ProgramList")
-}
-
-func init() { proto.RegisterFile("prototype/program.proto", fileDescriptor_cafe880c4e08131d) }
-
-var fileDescriptor_cafe880c4e08131d = []byte{
-	// 680 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x94, 0xcd, 0x6e, 0xda, 0x4a,
-	0x14, 0xc7, 0x63, 0x3e, 0x1c, 0x38, 0x06, 0x2e, 0x9a, 0x7b, 0x93, 0x4b, 0xe8, 0x17, 0xa2, 0x5d,
-	0xb0, 0x32, 0x2a, 0x51, 0x13, 0x65, 0x15, 0x11, 0x02, 0x8a, 0x55, 0x4a, 0xc8, 0x60, 0x54, 0xa5,
-	0x1b, 0xe4, 0x9a, 0x81, 0x5a, 0xc2, 0x1e, 0x67, 0x3c, 0x8e, 0x44, 0xd6, 0x95, 0xfa, 0x3a, 0x7d,
-	0x86, 0x3e, 0x46, 0x9f, 0xa6, 0xf2, 0x8c, 0x31, 0x8e, 0x42, 0xab, 0xee, 0xe6, 0xcc, 0xf9, 0xfd,
-	0xcf, 0x9c, 0xff, 0x19, 0x8f, 0xe1, 0x7f, 0x9f, 0x51, 0x4e, 0xf9, 0xda, 0x27, 0x6d, 0x9f, 0xd1,
-	0x25, 0xb3, 0x5c, 0x5d, 0xec, 0xa0, 0x62, 0x92, 0xa8, 0x1f, 0x6e, 0x19, 0x9b, 0xba, 0x2e, 0xf5,
-	0x24, 0x52, 0x3f, 0x7a, 0xb4, 0xef, 0x53, 0x8f, 0x78, 0x3c, 0x4e, 0xa5, 0x24, 0x73, 0x12, 0x38,
-	0xcb, 0x58, 0xd2, 0xfc, 0x91, 0x03, 0xe8, 0x51, 0x2f, 0xe0, 0xcc, 0x72, 0x3c, 0x8e, 0xde, 0x42,
-	0x7e, 0x45, 0xee, 0xc9, 0xaa, 0xa6, 0x34, 0x94, 0x56, 0xa5, 0xf3, 0x4c, 0x4f, 0x64, 0xfa, 0x96,
-	0xd2, 0x87, 0x11, 0x82, 0x25, 0x89, 0x4e, 0x40, 0x75, 0x89, 0x4b, 0xd9, 0xba, 0x96, 0x6b, 0x28,
-	0x2d, 0xad, 0xf3, 0x7c, 0xb7, 0xe6, 0x83, 0x60, 0xae, 0xf6, 0x70, 0x4c, 0xa3, 0x2e, 0x94, 0x16,
-	0x8c, 0x7a, 0x7c, 0x66, 0x5b, 0x2e, 0x61, 0x56, 0x4d, 0xfd, 0x93, 0xba, 0x27, 0x98, 0xab, 0x3d,
-	0xac, 0x09, 0x8d, 0x0c, 0xd1, 0x39, 0x68, 0x8c, 0x58, 0x6c, 0x53, 0x61, 0xff, 0xaf, 0x2a, 0x40,
-	0x24, 0x91, 0x51, 0xdd, 0x07, 0x55, 0xf6, 0x85, 0x74, 0x28, 0xb8, 0x8e, 0x37, 0x0b, 0x9c, 0x07,
-	0x22, 0xbc, 0x6b, 0x9d, 0x7f, 0x53, 0x75, 0x2e, 0xd6, 0x9c, 0x4c, 0x9c, 0x07, 0x82, 0xf7, 0x5d,
-	0xc7, 0x8b, 0x16, 0xe8, 0x04, 0xf2, 0x51, 0x26, 0xa8, 0x65, 0x1a, 0xd9, 0x56, 0xa5, 0xd3, 0x78,
-	0x74, 0xe8, 0x66, 0xf4, 0xb2, 0xb6, 0x6e, 0xae, 0x7d, 0x82, 0x25, 0x5e, 0xff, 0xaa, 0x80, 0x1a,
-	0x77, 0x7f, 0x06, 0x05, 0x9f, 0x91, 0x80, 0x78, 0x36, 0x89, 0xc7, 0xfd, 0x22, 0x55, 0x65, 0x1c,
-	0xa7, 0x74, 0xc3, 0x9b, 0x3b, 0xb6, 0xc5, 0x29, 0xc3, 0x09, 0x8e, 0xce, 0xa1, 0xb0, 0x20, 0x16,
-	0x0f, 0x59, 0xd2, 0xc0, 0xeb, 0x9d, 0x0d, 0xc8, 0x93, 0xf4, 0x81, 0x64, 0x71, 0x22, 0x6a, 0x5e,
-	0x42, 0x5e, 0x5c, 0x22, 0xaa, 0x42, 0xc9, 0xbc, 0x1d, 0xf7, 0x67, 0xd3, 0xd1, 0xfb, 0xd1, 0xf5,
-	0xc7, 0x51, 0x75, 0x0f, 0x95, 0xa0, 0x80, 0xfb, 0x37, 0x53, 0x03, 0xf7, 0x2f, 0xab, 0x0a, 0x2a,
-	0x43, 0x71, 0x8c, 0xfb, 0x83, 0x3e, 0x8e, 0xc2, 0x4c, 0x94, 0xbc, 0x1e, 0x9b, 0xc6, 0xf5, 0xa8,
-	0x3b, 0xac, 0x66, 0x2f, 0x54, 0xc8, 0x45, 0x07, 0x36, 0x7f, 0x2a, 0x50, 0x4e, 0x0e, 0xbd, 0x09,
-	0xad, 0x15, 0x3a, 0x83, 0x52, 0xf2, 0x05, 0xce, 0x9c, 0x79, 0x3c, 0xd2, 0xc3, 0x5d, 0x4d, 0x1a,
-	0x73, 0xac, 0xd9, 0xdb, 0x00, 0x9d, 0x82, 0x1a, 0x70, 0x8b, 0x87, 0x91, 0xb3, 0x68, 0x28, 0xaf,
-	0x76, 0x89, 0xa2, 0x43, 0xf4, 0x89, 0xc0, 0x70, 0x8c, 0x37, 0xa7, 0xa0, 0xca, 0x1d, 0x84, 0xa0,
-	0x32, 0x31, 0xbb, 0xe6, 0x74, 0x92, 0xb2, 0x55, 0x86, 0x62, 0x64, 0xab, 0x3f, 0x31, 0x85, 0xaf,
-	0x23, 0x38, 0x30, 0xfb, 0xbd, 0xab, 0x91, 0xd1, 0xeb, 0x0e, 0x87, 0xb7, 0xb3, 0x9b, 0x69, 0x77,
-	0x68, 0x0c, 0x0c, 0xe1, 0xb1, 0x0c, 0xc5, 0x6d, 0x98, 0x6d, 0x7e, 0xcf, 0xc0, 0xfe, 0x58, 0xbe,
-	0x44, 0xf4, 0x06, 0x32, 0x89, 0x99, 0xff, 0x1e, 0x5d, 0x96, 0xc8, 0x1b, 0x73, 0x9c, 0x71, 0xe6,
-	0xa8, 0x03, 0x39, 0x46, 0xee, 0xe4, 0xcd, 0x68, 0x9d, 0x97, 0x4f, 0x39, 0x1d, 0x93, 0xbb, 0xd0,
-	0x61, 0xc4, 0x25, 0x1e, 0xc7, 0x82, 0x45, 0x5d, 0xf8, 0x67, 0x3b, 0xb0, 0xbb, 0xd0, 0x5a, 0x05,
-	0xb5, 0xac, 0x90, 0xd7, 0x7e, 0x67, 0x1f, 0x57, 0xec, 0x74, 0x18, 0xd4, 0xbf, 0x29, 0xa0, 0xa5,
-	0x0a, 0xa3, 0x73, 0x28, 0x2d, 0x28, 0x73, 0x67, 0x0b, 0xcb, 0xe6, 0x94, 0x05, 0x35, 0x45, 0x7c,
-	0x28, 0xe9, 0xe7, 0x71, 0x29, 0xff, 0x04, 0x03, 0xca, 0xdc, 0x81, 0x80, 0xb0, 0xb6, 0x48, 0xd6,
-	0x01, 0x3a, 0x05, 0xcd, 0x4e, 0x1e, 0xd0, 0xc6, 0xce, 0xc1, 0xce, 0xe7, 0x85, 0xd3, 0x64, 0xf3,
-	0x14, 0xb4, 0xd8, 0xe9, 0xd0, 0x09, 0x38, 0x6a, 0x41, 0xfe, 0xde, 0x5a, 0x85, 0x44, 0x74, 0xa0,
-	0x75, 0xd0, 0xd3, 0x81, 0x60, 0x09, 0x5c, 0xbc, 0xfb, 0x74, 0xbc, 0xa4, 0xba, 0xfd, 0x85, 0x51,
-	0xd7, 0x09, 0x5d, 0x9d, 0xb2, 0x65, 0x7b, 0x13, 0xd0, 0xa0, 0xed, 0x78, 0x0b, 0x66, 0xb5, 0x85,
-	0xb8, 0xbd, 0xa4, 0xed, 0xa4, 0xca, 0x67, 0x55, 0x2c, 0x8f, 0x7f, 0x05, 0x00, 0x00, 0xff, 0xff,
-	0x72, 0x9c, 0x67, 0x13, 0x3c, 0x05, 0x00, 0x00,
-}
diff --git a/go/prototype/src/overlays/config.pb.go b/go/prototype/src/overlays/config.pb.go
deleted file mode 100644
index 2c5c4f6..0000000
--- a/go/prototype/src/overlays/config.pb.go
+++ /dev/null
@@ -1,162 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// source: prototype/src/overlays/config.proto
-
-package prototype
-
-import (
-	fmt "fmt"
-	proto "github.com/golang/protobuf/proto"
-	math "math"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the proto package it is being compiled against.
-// A compilation error at this line likely means your copy of the
-// proto package needs to be updated.
-const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
-
-type AudioConfig struct {
-	CardName             string   `protobuf:"bytes,1,opt,name=card_name,json=cardName,proto3" json:"card_name,omitempty"`
-	CardSettingsFile     string   `protobuf:"bytes,2,opt,name=card_settings_file,json=cardSettingsFile,proto3" json:"card_settings_file,omitempty"`
-	DspConfigFile        string   `protobuf:"bytes,3,opt,name=dsp_config_file,json=dspConfigFile,proto3" json:"dsp_config_file,omitempty"`
-	UcmConfigFile        string   `protobuf:"bytes,4,opt,name=ucm_config_file,json=ucmConfigFile,proto3" json:"ucm_config_file,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *AudioConfig) Reset()         { *m = AudioConfig{} }
-func (m *AudioConfig) String() string { return proto.CompactTextString(m) }
-func (*AudioConfig) ProtoMessage()    {}
-func (*AudioConfig) Descriptor() ([]byte, []int) {
-	return fileDescriptor_6afdcbbf32062cf7, []int{0}
-}
-
-func (m *AudioConfig) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_AudioConfig.Unmarshal(m, b)
-}
-func (m *AudioConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_AudioConfig.Marshal(b, m, deterministic)
-}
-func (m *AudioConfig) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_AudioConfig.Merge(m, src)
-}
-func (m *AudioConfig) XXX_Size() int {
-	return xxx_messageInfo_AudioConfig.Size(m)
-}
-func (m *AudioConfig) XXX_DiscardUnknown() {
-	xxx_messageInfo_AudioConfig.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_AudioConfig proto.InternalMessageInfo
-
-func (m *AudioConfig) GetCardName() string {
-	if m != nil {
-		return m.CardName
-	}
-	return ""
-}
-
-func (m *AudioConfig) GetCardSettingsFile() string {
-	if m != nil {
-		return m.CardSettingsFile
-	}
-	return ""
-}
-
-func (m *AudioConfig) GetDspConfigFile() string {
-	if m != nil {
-		return m.DspConfigFile
-	}
-	return ""
-}
-
-func (m *AudioConfig) GetUcmConfigFile() string {
-	if m != nil {
-		return m.UcmConfigFile
-	}
-	return ""
-}
-
-type OverlayConfig struct {
-	AudioConfig          *AudioConfig     `protobuf:"bytes,1,opt,name=audio_config,json=audioConfig,proto3" json:"audio_config,omitempty"`
-	Platform2Config      *Platform2Config `protobuf:"bytes,2,opt,name=platform2_config,json=platform2Config,proto3" json:"platform2_config,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
-	XXX_unrecognized     []byte           `json:"-"`
-	XXX_sizecache        int32            `json:"-"`
-}
-
-func (m *OverlayConfig) Reset()         { *m = OverlayConfig{} }
-func (m *OverlayConfig) String() string { return proto.CompactTextString(m) }
-func (*OverlayConfig) ProtoMessage()    {}
-func (*OverlayConfig) Descriptor() ([]byte, []int) {
-	return fileDescriptor_6afdcbbf32062cf7, []int{1}
-}
-
-func (m *OverlayConfig) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_OverlayConfig.Unmarshal(m, b)
-}
-func (m *OverlayConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_OverlayConfig.Marshal(b, m, deterministic)
-}
-func (m *OverlayConfig) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_OverlayConfig.Merge(m, src)
-}
-func (m *OverlayConfig) XXX_Size() int {
-	return xxx_messageInfo_OverlayConfig.Size(m)
-}
-func (m *OverlayConfig) XXX_DiscardUnknown() {
-	xxx_messageInfo_OverlayConfig.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_OverlayConfig proto.InternalMessageInfo
-
-func (m *OverlayConfig) GetAudioConfig() *AudioConfig {
-	if m != nil {
-		return m.AudioConfig
-	}
-	return nil
-}
-
-func (m *OverlayConfig) GetPlatform2Config() *Platform2Config {
-	if m != nil {
-		return m.Platform2Config
-	}
-	return nil
-}
-
-func init() {
-	proto.RegisterType((*AudioConfig)(nil), "prototype.AudioConfig")
-	proto.RegisterType((*OverlayConfig)(nil), "prototype.OverlayConfig")
-}
-
-func init() {
-	proto.RegisterFile("prototype/src/overlays/config.proto", fileDescriptor_6afdcbbf32062cf7)
-}
-
-var fileDescriptor_6afdcbbf32062cf7 = []byte{
-	// 281 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x90, 0xc1, 0x4b, 0xc3, 0x30,
-	0x14, 0xc6, 0xe9, 0x14, 0x71, 0xa9, 0x63, 0x23, 0x07, 0x19, 0xf3, 0x22, 0x53, 0xc4, 0x83, 0x24,
-	0xb0, 0xe1, 0xc1, 0xa3, 0x8a, 0x1e, 0x55, 0xe6, 0xcd, 0x4b, 0x89, 0x69, 0x1a, 0x03, 0x4d, 0x5f,
-	0x48, 0x52, 0x61, 0x7f, 0x86, 0xff, 0x85, 0x7f, 0xa6, 0x34, 0x69, 0x6b, 0x7b, 0x6b, 0xdf, 0xf7,
-	0xfb, 0xde, 0xfb, 0xbe, 0xa0, 0x0b, 0x63, 0xc1, 0x83, 0xdf, 0x1b, 0x41, 0x9d, 0xe5, 0x14, 0xbe,
-	0x85, 0x2d, 0xd9, 0xde, 0x51, 0x0e, 0x55, 0xa1, 0x24, 0x09, 0x2a, 0x9e, 0xf6, 0xd0, 0xea, 0x72,
-	0xcc, 0x9b, 0x92, 0xf9, 0x02, 0xac, 0xde, 0x8c, 0x0c, 0xeb, 0xdf, 0x04, 0xa5, 0xf7, 0x75, 0xae,
-	0xe0, 0x31, 0x4c, 0xf1, 0x19, 0x9a, 0x72, 0x66, 0xf3, 0xac, 0x62, 0x5a, 0x2c, 0x93, 0xf3, 0xe4,
-	0x7a, 0xba, 0x3b, 0x6e, 0x06, 0x2f, 0x4c, 0x0b, 0x7c, 0x83, 0x70, 0x10, 0x9d, 0xf0, 0x5e, 0x55,
-	0xd2, 0x65, 0x85, 0x2a, 0xc5, 0x72, 0x12, 0xa8, 0x45, 0xa3, 0xbc, 0xb7, 0xc2, 0xb3, 0x2a, 0x05,
-	0xbe, 0x42, 0xf3, 0xdc, 0x99, 0x2c, 0x9e, 0x8b, 0xe8, 0x41, 0x40, 0x67, 0xb9, 0x33, 0xf1, 0x5c,
-	0xc7, 0xd5, 0x5c, 0x8f, 0xb8, 0xc3, 0xc8, 0xd5, 0x5c, 0xff, 0x73, 0xeb, 0x9f, 0x04, 0xcd, 0x5e,
-	0x63, 0xeb, 0x36, 0xec, 0x1d, 0x3a, 0x61, 0x4d, 0xf6, 0xd6, 0x1b, 0xf2, 0xa6, 0x9b, 0x53, 0xd2,
-	0x37, 0x27, 0x83, 0x6a, 0xbb, 0x94, 0x0d, 0x7a, 0x3e, 0xa1, 0x45, 0xff, 0x22, 0x9d, 0x7d, 0x12,
-	0xec, 0xab, 0x81, 0xfd, 0xad, 0x43, 0xda, 0x15, 0x73, 0x33, 0x1e, 0x3c, 0xdc, 0x7e, 0x6c, 0x25,
-	0x10, 0xfe, 0x65, 0x41, 0xab, 0x5a, 0x13, 0xb0, 0x92, 0x76, 0x3f, 0xe0, 0xa8, 0xaa, 0x0a, 0xcb,
-	0x68, 0x58, 0x47, 0x25, 0xd0, 0x7e, 0xef, 0xe7, 0x51, 0xf8, 0xdc, 0xfe, 0x05, 0x00, 0x00, 0xff,
-	0xff, 0x1b, 0x4d, 0x6e, 0xc4, 0xd4, 0x01, 0x00, 0x00,
-}
diff --git a/go/prototype/src/platform2/bluetooth/config.pb.go b/go/prototype/src/platform2/bluetooth/config.pb.go
deleted file mode 100644
index d03d19c..0000000
--- a/go/prototype/src/platform2/bluetooth/config.pb.go
+++ /dev/null
@@ -1,83 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// source: prototype/src/platform2/bluetooth/config.proto
-
-package prototype
-
-import (
-	fmt "fmt"
-	proto "github.com/golang/protobuf/proto"
-	math "math"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the proto package it is being compiled against.
-// A compilation error at this line likely means your copy of the
-// proto package needs to be updated.
-const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
-
-type BluetoothConfig struct {
-	EnableSuspendManagement bool     `protobuf:"varint,1,opt,name=enable_suspend_management,json=enableSuspendManagement,proto3" json:"enable_suspend_management,omitempty"`
-	XXX_NoUnkeyedLiteral    struct{} `json:"-"`
-	XXX_unrecognized        []byte   `json:"-"`
-	XXX_sizecache           int32    `json:"-"`
-}
-
-func (m *BluetoothConfig) Reset()         { *m = BluetoothConfig{} }
-func (m *BluetoothConfig) String() string { return proto.CompactTextString(m) }
-func (*BluetoothConfig) ProtoMessage()    {}
-func (*BluetoothConfig) Descriptor() ([]byte, []int) {
-	return fileDescriptor_deec8d461cf459fd, []int{0}
-}
-
-func (m *BluetoothConfig) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_BluetoothConfig.Unmarshal(m, b)
-}
-func (m *BluetoothConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_BluetoothConfig.Marshal(b, m, deterministic)
-}
-func (m *BluetoothConfig) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_BluetoothConfig.Merge(m, src)
-}
-func (m *BluetoothConfig) XXX_Size() int {
-	return xxx_messageInfo_BluetoothConfig.Size(m)
-}
-func (m *BluetoothConfig) XXX_DiscardUnknown() {
-	xxx_messageInfo_BluetoothConfig.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_BluetoothConfig proto.InternalMessageInfo
-
-func (m *BluetoothConfig) GetEnableSuspendManagement() bool {
-	if m != nil {
-		return m.EnableSuspendManagement
-	}
-	return false
-}
-
-func init() {
-	proto.RegisterType((*BluetoothConfig)(nil), "prototype.BluetoothConfig")
-}
-
-func init() {
-	proto.RegisterFile("prototype/src/platform2/bluetooth/config.proto", fileDescriptor_deec8d461cf459fd)
-}
-
-var fileDescriptor_deec8d461cf459fd = []byte{
-	// 167 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x3c, 0xce, 0xb1, 0x0e, 0x82, 0x40,
-	0x0c, 0x80, 0xe1, 0xb0, 0x18, 0x65, 0x31, 0x61, 0x51, 0x37, 0xe3, 0xe4, 0x44, 0x13, 0x89, 0x8b,
-	0x23, 0xce, 0x2c, 0xba, 0xb9, 0x90, 0x03, 0xcb, 0x41, 0xc2, 0xb5, 0x97, 0x5e, 0x19, 0x7c, 0x7b,
-	0x13, 0x08, 0xb7, 0xb5, 0xf9, 0xbf, 0xa4, 0x4d, 0x73, 0x2f, 0xac, 0xac, 0x3f, 0x8f, 0x10, 0xa4,
-	0x05, 0x3f, 0x1a, 0xed, 0x58, 0xdc, 0x0d, 0x9a, 0x71, 0x42, 0x65, 0xd6, 0x1e, 0x5a, 0xa6, 0x6e,
-	0xb0, 0x0b, 0xcc, 0x76, 0xd1, 0x5f, 0xaa, 0x74, 0x5f, 0xae, 0xe8, 0x39, 0x9b, 0xec, 0x91, 0x9e,
-	0x90, 0x4c, 0x33, 0x62, 0x1d, 0xa6, 0xe0, 0x91, 0xbe, 0xb5, 0x33, 0x64, 0x2c, 0x3a, 0x24, 0x3d,
-	0x26, 0xe7, 0xe4, 0xba, 0x7d, 0x1d, 0x16, 0xf0, 0x5e, 0x7a, 0x15, 0x73, 0x79, 0xff, 0x14, 0x96,
-	0xf3, 0xb6, 0x17, 0x76, 0xc3, 0xe4, 0x72, 0x16, 0x0b, 0xeb, 0xc2, 0x01, 0x06, 0xea, 0xc4, 0xc0,
-	0x7c, 0x1c, 0x2c, 0x43, 0xfc, 0xa2, 0xd9, 0xcc, 0x63, 0xf1, 0x0f, 0x00, 0x00, 0xff, 0xff, 0xcf,
-	0x22, 0xc1, 0x2c, 0xc9, 0x00, 0x00, 0x00,
-}
diff --git a/go/prototype/src/platform2/config.pb.go b/go/prototype/src/platform2/config.pb.go
deleted file mode 100644
index 86c20f4..0000000
--- a/go/prototype/src/platform2/config.pb.go
+++ /dev/null
@@ -1,93 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// source: prototype/src/platform2/config.proto
-
-package prototype
-
-import (
-	fmt "fmt"
-	proto "github.com/golang/protobuf/proto"
-	math "math"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the proto package it is being compiled against.
-// A compilation error at this line likely means your copy of the
-// proto package needs to be updated.
-const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
-
-type Platform2Config struct {
-	BluetoothConfig      *BluetoothConfig `protobuf:"bytes,1,opt,name=bluetooth_config,json=bluetoothConfig,proto3" json:"bluetooth_config,omitempty"`
-	PowerdConfig         *PowerdConfig    `protobuf:"bytes,2,opt,name=powerd_config,json=powerdConfig,proto3" json:"powerd_config,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
-	XXX_unrecognized     []byte           `json:"-"`
-	XXX_sizecache        int32            `json:"-"`
-}
-
-func (m *Platform2Config) Reset()         { *m = Platform2Config{} }
-func (m *Platform2Config) String() string { return proto.CompactTextString(m) }
-func (*Platform2Config) ProtoMessage()    {}
-func (*Platform2Config) Descriptor() ([]byte, []int) {
-	return fileDescriptor_b1a0dc096fd50f70, []int{0}
-}
-
-func (m *Platform2Config) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Platform2Config.Unmarshal(m, b)
-}
-func (m *Platform2Config) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Platform2Config.Marshal(b, m, deterministic)
-}
-func (m *Platform2Config) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Platform2Config.Merge(m, src)
-}
-func (m *Platform2Config) XXX_Size() int {
-	return xxx_messageInfo_Platform2Config.Size(m)
-}
-func (m *Platform2Config) XXX_DiscardUnknown() {
-	xxx_messageInfo_Platform2Config.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Platform2Config proto.InternalMessageInfo
-
-func (m *Platform2Config) GetBluetoothConfig() *BluetoothConfig {
-	if m != nil {
-		return m.BluetoothConfig
-	}
-	return nil
-}
-
-func (m *Platform2Config) GetPowerdConfig() *PowerdConfig {
-	if m != nil {
-		return m.PowerdConfig
-	}
-	return nil
-}
-
-func init() {
-	proto.RegisterType((*Platform2Config)(nil), "prototype.Platform2Config")
-}
-
-func init() {
-	proto.RegisterFile("prototype/src/platform2/config.proto", fileDescriptor_b1a0dc096fd50f70)
-}
-
-var fileDescriptor_b1a0dc096fd50f70 = []byte{
-	// 198 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x29, 0x28, 0xca, 0x2f,
-	0xc9, 0x2f, 0xa9, 0x2c, 0x48, 0xd5, 0x2f, 0x2e, 0x4a, 0xd6, 0x2f, 0xc8, 0x49, 0x2c, 0x49, 0xcb,
-	0x2f, 0xca, 0x35, 0xd2, 0x4f, 0xce, 0xcf, 0x4b, 0xcb, 0x4c, 0xd7, 0x03, 0x4b, 0x0b, 0x71, 0xc2,
-	0x55, 0x49, 0xe9, 0xe1, 0xd2, 0x90, 0x94, 0x53, 0x9a, 0x5a, 0x92, 0x9f, 0x5f, 0x92, 0x81, 0xa2,
-	0x55, 0x4a, 0x1b, 0x97, 0xfa, 0x82, 0xfc, 0xf2, 0xd4, 0xa2, 0x14, 0x14, 0xc5, 0x4a, 0xd3, 0x18,
-	0xb9, 0xf8, 0x03, 0x60, 0x2a, 0x9c, 0xc1, 0x32, 0x42, 0xae, 0x5c, 0x02, 0x70, 0xa3, 0xe3, 0x21,
-	0xaa, 0x25, 0x18, 0x15, 0x18, 0x35, 0xb8, 0x8d, 0x90, 0xdc, 0xa2, 0xe7, 0x04, 0x53, 0x02, 0xd1,
-	0x15, 0xc4, 0x9f, 0x84, 0x2a, 0x20, 0x64, 0xc3, 0xc5, 0x0b, 0xb1, 0x11, 0x66, 0x06, 0x13, 0xd8,
-	0x0c, 0x71, 0x24, 0x33, 0x02, 0xc0, 0xf2, 0x50, 0x03, 0x78, 0x0a, 0x90, 0x78, 0x4e, 0xa6, 0x51,
-	0xc6, 0xe9, 0xf9, 0x7a, 0xc9, 0x19, 0x45, 0xf9, 0xb9, 0x99, 0xa5, 0xb9, 0x7a, 0xf9, 0x45, 0xe9,
-	0xfa, 0x30, 0x4e, 0x7e, 0xb1, 0x7e, 0x66, 0x5e, 0x5a, 0x51, 0xa2, 0x3e, 0xd8, 0x20, 0xfd, 0xf4,
-	0x7c, 0x7d, 0xb8, 0x89, 0x49, 0x6c, 0x60, 0xa6, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, 0xca, 0x6c,
-	0x39, 0xd7, 0x66, 0x01, 0x00, 0x00,
-}
diff --git a/go/prototype/src/platform2/powerd/config.pb.go b/go/prototype/src/platform2/powerd/config.pb.go
deleted file mode 100644
index 6618055..0000000
--- a/go/prototype/src/platform2/powerd/config.pb.go
+++ /dev/null
@@ -1,105 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// source: prototype/src/platform2/powerd/config.proto
-
-package prototype
-
-import (
-	fmt "fmt"
-	proto "github.com/golang/protobuf/proto"
-	math "math"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the proto package it is being compiled against.
-// A compilation error at this line likely means your copy of the
-// proto package needs to be updated.
-const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
-
-type PowerdConfig struct {
-	AlsSmoothingConsant                  float64  `protobuf:"fixed64,1,opt,name=als_smoothing_consant,json=alsSmoothingConsant,proto3" json:"als_smoothing_consant,omitempty"`
-	AvoidSuspendWhenHeadphoneJackPlugged bool     `protobuf:"varint,2,opt,name=avoid_suspend_when_headphone_jack_plugged,json=avoidSuspendWhenHeadphoneJackPlugged,proto3" json:"avoid_suspend_when_headphone_jack_plugged,omitempty"`
-	BatteryPollIntervalMs                int32    `protobuf:"varint,3,opt,name=battery_poll_interval_ms,json=batteryPollIntervalMs,proto3" json:"battery_poll_interval_ms,omitempty"`
-	XXX_NoUnkeyedLiteral                 struct{} `json:"-"`
-	XXX_unrecognized                     []byte   `json:"-"`
-	XXX_sizecache                        int32    `json:"-"`
-}
-
-func (m *PowerdConfig) Reset()         { *m = PowerdConfig{} }
-func (m *PowerdConfig) String() string { return proto.CompactTextString(m) }
-func (*PowerdConfig) ProtoMessage()    {}
-func (*PowerdConfig) Descriptor() ([]byte, []int) {
-	return fileDescriptor_644bba9c72e7d1e6, []int{0}
-}
-
-func (m *PowerdConfig) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_PowerdConfig.Unmarshal(m, b)
-}
-func (m *PowerdConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_PowerdConfig.Marshal(b, m, deterministic)
-}
-func (m *PowerdConfig) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_PowerdConfig.Merge(m, src)
-}
-func (m *PowerdConfig) XXX_Size() int {
-	return xxx_messageInfo_PowerdConfig.Size(m)
-}
-func (m *PowerdConfig) XXX_DiscardUnknown() {
-	xxx_messageInfo_PowerdConfig.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_PowerdConfig proto.InternalMessageInfo
-
-func (m *PowerdConfig) GetAlsSmoothingConsant() float64 {
-	if m != nil {
-		return m.AlsSmoothingConsant
-	}
-	return 0
-}
-
-func (m *PowerdConfig) GetAvoidSuspendWhenHeadphoneJackPlugged() bool {
-	if m != nil {
-		return m.AvoidSuspendWhenHeadphoneJackPlugged
-	}
-	return false
-}
-
-func (m *PowerdConfig) GetBatteryPollIntervalMs() int32 {
-	if m != nil {
-		return m.BatteryPollIntervalMs
-	}
-	return 0
-}
-
-func init() {
-	proto.RegisterType((*PowerdConfig)(nil), "prototype.PowerdConfig")
-}
-
-func init() {
-	proto.RegisterFile("prototype/src/platform2/powerd/config.proto", fileDescriptor_644bba9c72e7d1e6)
-}
-
-var fileDescriptor_644bba9c72e7d1e6 = []byte{
-	// 263 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x3c, 0xd0, 0x41, 0x4b, 0xfb, 0x30,
-	0x18, 0xc7, 0x71, 0xf2, 0xff, 0xa3, 0x68, 0xf1, 0x54, 0x19, 0xf4, 0x58, 0xc4, 0x43, 0x45, 0x68,
-	0x60, 0x43, 0xbc, 0xbb, 0x8b, 0x0a, 0x42, 0xe9, 0x0e, 0x03, 0x2f, 0xe1, 0x59, 0x9a, 0x26, 0x71,
-	0x69, 0x9e, 0x90, 0xa4, 0x1b, 0x7b, 0x9f, 0xbe, 0x20, 0x21, 0x5d, 0x77, 0x4b, 0xf8, 0x7e, 0x9e,
-	0xcb, 0x2f, 0x7b, 0x76, 0x1e, 0x23, 0xc6, 0x93, 0x13, 0x34, 0x78, 0x4e, 0x9d, 0x81, 0xd8, 0xa3,
-	0x1f, 0x96, 0xd4, 0xe1, 0x51, 0xf8, 0x8e, 0x72, 0xb4, 0xbd, 0x96, 0x75, 0x52, 0xf9, 0xed, 0x05,
-	0x3f, 0xfc, 0x92, 0xec, 0xae, 0x49, 0x64, 0x9d, 0x44, 0xbe, 0xcc, 0x16, 0x60, 0x02, 0x0b, 0x03,
-	0x62, 0x54, 0xda, 0x4a, 0xc6, 0xd1, 0x06, 0xb0, 0xb1, 0x20, 0x25, 0xa9, 0x48, 0x7b, 0x0f, 0x26,
-	0x6c, 0xe6, 0xb6, 0x9e, 0x52, 0xbe, 0xcd, 0x9e, 0xe0, 0x80, 0xba, 0x63, 0x61, 0x0c, 0x4e, 0xd8,
-	0x8e, 0x1d, 0x95, 0xb0, 0x4c, 0x09, 0xe8, 0x9c, 0x42, 0x2b, 0xd8, 0x0f, 0xf0, 0x3d, 0x73, 0x66,
-	0x94, 0x52, 0x74, 0xc5, 0xbf, 0x92, 0x54, 0x37, 0xed, 0x63, 0x3a, 0xd8, 0x4c, 0x7e, 0xab, 0x84,
-	0x7d, 0x9f, 0xf5, 0x27, 0xf0, 0x7d, 0x33, 0xd9, 0xfc, 0x35, 0x2b, 0x76, 0x10, 0xa3, 0xf0, 0x27,
-	0xe6, 0xd0, 0x18, 0xa6, 0x6d, 0x14, 0xfe, 0x00, 0x86, 0x0d, 0xa1, 0xf8, 0x5f, 0x92, 0xea, 0xaa,
-	0x5d, 0x9c, 0x7b, 0x83, 0xc6, 0x7c, 0x9c, 0xeb, 0x57, 0x78, 0x7b, 0xf9, 0x5e, 0x49, 0xac, 0xb9,
-	0xf2, 0x38, 0xe8, 0x71, 0xa8, 0xd1, 0x4b, 0x3a, 0x7f, 0x30, 0x50, 0x6d, 0x7b, 0x0f, 0x34, 0x8d,
-	0x40, 0x25, 0xd2, 0xcb, 0x1a, 0xbb, 0xeb, 0xf4, 0x5c, 0xfd, 0x05, 0x00, 0x00, 0xff, 0xff, 0xea,
-	0x60, 0xaf, 0xcc, 0x4e, 0x01, 0x00, 0x00,
-}
diff --git a/go/prototype/src/third_party/chromiumos-overlay/config.pb.go b/go/prototype/src/third_party/chromiumos-overlay/config.pb.go
deleted file mode 100644
index f378942..0000000
--- a/go/prototype/src/third_party/chromiumos-overlay/config.pb.go
+++ /dev/null
@@ -1,388 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// source: prototype/src/third_party/chromiumos-overlay/config.proto
-
-package prototype
-
-import (
-	fmt "fmt"
-	proto "github.com/golang/protobuf/proto"
-	math "math"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the proto package it is being compiled against.
-// A compilation error at this line likely means your copy of the
-// proto package needs to be updated.
-const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
-
-type BuildTargetId struct {
-	Value                string   `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *BuildTargetId) Reset()         { *m = BuildTargetId{} }
-func (m *BuildTargetId) String() string { return proto.CompactTextString(m) }
-func (*BuildTargetId) ProtoMessage()    {}
-func (*BuildTargetId) Descriptor() ([]byte, []int) {
-	return fileDescriptor_24d331d0463127ef, []int{0}
-}
-
-func (m *BuildTargetId) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_BuildTargetId.Unmarshal(m, b)
-}
-func (m *BuildTargetId) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_BuildTargetId.Marshal(b, m, deterministic)
-}
-func (m *BuildTargetId) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_BuildTargetId.Merge(m, src)
-}
-func (m *BuildTargetId) XXX_Size() int {
-	return xxx_messageInfo_BuildTargetId.Size(m)
-}
-func (m *BuildTargetId) XXX_DiscardUnknown() {
-	xxx_messageInfo_BuildTargetId.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_BuildTargetId proto.InternalMessageInfo
-
-func (m *BuildTargetId) GetValue() string {
-	if m != nil {
-		return m.Value
-	}
-	return ""
-}
-
-type FirmwarePayload struct {
-	BuildTarget          string   `protobuf:"bytes,1,opt,name=build_target,json=buildTarget,proto3" json:"build_target,omitempty"`
-	PinnedVersion        string   `protobuf:"bytes,2,opt,name=pinned_version,json=pinnedVersion,proto3" json:"pinned_version,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *FirmwarePayload) Reset()         { *m = FirmwarePayload{} }
-func (m *FirmwarePayload) String() string { return proto.CompactTextString(m) }
-func (*FirmwarePayload) ProtoMessage()    {}
-func (*FirmwarePayload) Descriptor() ([]byte, []int) {
-	return fileDescriptor_24d331d0463127ef, []int{1}
-}
-
-func (m *FirmwarePayload) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_FirmwarePayload.Unmarshal(m, b)
-}
-func (m *FirmwarePayload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_FirmwarePayload.Marshal(b, m, deterministic)
-}
-func (m *FirmwarePayload) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_FirmwarePayload.Merge(m, src)
-}
-func (m *FirmwarePayload) XXX_Size() int {
-	return xxx_messageInfo_FirmwarePayload.Size(m)
-}
-func (m *FirmwarePayload) XXX_DiscardUnknown() {
-	xxx_messageInfo_FirmwarePayload.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_FirmwarePayload proto.InternalMessageInfo
-
-func (m *FirmwarePayload) GetBuildTarget() string {
-	if m != nil {
-		return m.BuildTarget
-	}
-	return ""
-}
-
-func (m *FirmwarePayload) GetPinnedVersion() string {
-	if m != nil {
-		return m.PinnedVersion
-	}
-	return ""
-}
-
-type FirmwareConfig struct {
-	ApRo                 *FirmwarePayload `protobuf:"bytes,1,opt,name=ap_ro,json=apRo,proto3" json:"ap_ro,omitempty"`
-	ApRw                 *FirmwarePayload `protobuf:"bytes,2,opt,name=ap_rw,json=apRw,proto3" json:"ap_rw,omitempty"`
-	Ec                   *FirmwarePayload `protobuf:"bytes,3,opt,name=ec,proto3" json:"ec,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
-	XXX_unrecognized     []byte           `json:"-"`
-	XXX_sizecache        int32            `json:"-"`
-}
-
-func (m *FirmwareConfig) Reset()         { *m = FirmwareConfig{} }
-func (m *FirmwareConfig) String() string { return proto.CompactTextString(m) }
-func (*FirmwareConfig) ProtoMessage()    {}
-func (*FirmwareConfig) Descriptor() ([]byte, []int) {
-	return fileDescriptor_24d331d0463127ef, []int{2}
-}
-
-func (m *FirmwareConfig) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_FirmwareConfig.Unmarshal(m, b)
-}
-func (m *FirmwareConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_FirmwareConfig.Marshal(b, m, deterministic)
-}
-func (m *FirmwareConfig) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_FirmwareConfig.Merge(m, src)
-}
-func (m *FirmwareConfig) XXX_Size() int {
-	return xxx_messageInfo_FirmwareConfig.Size(m)
-}
-func (m *FirmwareConfig) XXX_DiscardUnknown() {
-	xxx_messageInfo_FirmwareConfig.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_FirmwareConfig proto.InternalMessageInfo
-
-func (m *FirmwareConfig) GetApRo() *FirmwarePayload {
-	if m != nil {
-		return m.ApRo
-	}
-	return nil
-}
-
-func (m *FirmwareConfig) GetApRw() *FirmwarePayload {
-	if m != nil {
-		return m.ApRw
-	}
-	return nil
-}
-
-func (m *FirmwareConfig) GetEc() *FirmwarePayload {
-	if m != nil {
-		return m.Ec
-	}
-	return nil
-}
-
-type VariantBuildConfig struct {
-	Id                   *DesignVariantId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
-	BuildTargetId        *BuildTargetId   `protobuf:"bytes,2,opt,name=build_target_id,json=buildTargetId,proto3" json:"build_target_id,omitempty"`
-	OverlayConfig        *OverlayConfig   `protobuf:"bytes,3,opt,name=overlay_config,json=overlayConfig,proto3" json:"overlay_config,omitempty"`
-	FirmwareConfig       *FirmwareConfig  `protobuf:"bytes,4,opt,name=firmware_config,json=firmwareConfig,proto3" json:"firmware_config,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
-	XXX_unrecognized     []byte           `json:"-"`
-	XXX_sizecache        int32            `json:"-"`
-}
-
-func (m *VariantBuildConfig) Reset()         { *m = VariantBuildConfig{} }
-func (m *VariantBuildConfig) String() string { return proto.CompactTextString(m) }
-func (*VariantBuildConfig) ProtoMessage()    {}
-func (*VariantBuildConfig) Descriptor() ([]byte, []int) {
-	return fileDescriptor_24d331d0463127ef, []int{3}
-}
-
-func (m *VariantBuildConfig) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_VariantBuildConfig.Unmarshal(m, b)
-}
-func (m *VariantBuildConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_VariantBuildConfig.Marshal(b, m, deterministic)
-}
-func (m *VariantBuildConfig) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_VariantBuildConfig.Merge(m, src)
-}
-func (m *VariantBuildConfig) XXX_Size() int {
-	return xxx_messageInfo_VariantBuildConfig.Size(m)
-}
-func (m *VariantBuildConfig) XXX_DiscardUnknown() {
-	xxx_messageInfo_VariantBuildConfig.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_VariantBuildConfig proto.InternalMessageInfo
-
-func (m *VariantBuildConfig) GetId() *DesignVariantId {
-	if m != nil {
-		return m.Id
-	}
-	return nil
-}
-
-func (m *VariantBuildConfig) GetBuildTargetId() *BuildTargetId {
-	if m != nil {
-		return m.BuildTargetId
-	}
-	return nil
-}
-
-func (m *VariantBuildConfig) GetOverlayConfig() *OverlayConfig {
-	if m != nil {
-		return m.OverlayConfig
-	}
-	return nil
-}
-
-func (m *VariantBuildConfig) GetFirmwareConfig() *FirmwareConfig {
-	if m != nil {
-		return m.FirmwareConfig
-	}
-	return nil
-}
-
-type VariantBuildConfigList struct {
-	Value                []*VariantBuildConfig `protobuf:"bytes,1,rep,name=value,proto3" json:"value,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
-	XXX_unrecognized     []byte                `json:"-"`
-	XXX_sizecache        int32                 `json:"-"`
-}
-
-func (m *VariantBuildConfigList) Reset()         { *m = VariantBuildConfigList{} }
-func (m *VariantBuildConfigList) String() string { return proto.CompactTextString(m) }
-func (*VariantBuildConfigList) ProtoMessage()    {}
-func (*VariantBuildConfigList) Descriptor() ([]byte, []int) {
-	return fileDescriptor_24d331d0463127ef, []int{4}
-}
-
-func (m *VariantBuildConfigList) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_VariantBuildConfigList.Unmarshal(m, b)
-}
-func (m *VariantBuildConfigList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_VariantBuildConfigList.Marshal(b, m, deterministic)
-}
-func (m *VariantBuildConfigList) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_VariantBuildConfigList.Merge(m, src)
-}
-func (m *VariantBuildConfigList) XXX_Size() int {
-	return xxx_messageInfo_VariantBuildConfigList.Size(m)
-}
-func (m *VariantBuildConfigList) XXX_DiscardUnknown() {
-	xxx_messageInfo_VariantBuildConfigList.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_VariantBuildConfigList proto.InternalMessageInfo
-
-func (m *VariantBuildConfigList) GetValue() []*VariantBuildConfig {
-	if m != nil {
-		return m.Value
-	}
-	return nil
-}
-
-type BuildTarget struct {
-	Id                   *BuildTargetId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
-	XXX_unrecognized     []byte         `json:"-"`
-	XXX_sizecache        int32          `json:"-"`
-}
-
-func (m *BuildTarget) Reset()         { *m = BuildTarget{} }
-func (m *BuildTarget) String() string { return proto.CompactTextString(m) }
-func (*BuildTarget) ProtoMessage()    {}
-func (*BuildTarget) Descriptor() ([]byte, []int) {
-	return fileDescriptor_24d331d0463127ef, []int{5}
-}
-
-func (m *BuildTarget) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_BuildTarget.Unmarshal(m, b)
-}
-func (m *BuildTarget) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_BuildTarget.Marshal(b, m, deterministic)
-}
-func (m *BuildTarget) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_BuildTarget.Merge(m, src)
-}
-func (m *BuildTarget) XXX_Size() int {
-	return xxx_messageInfo_BuildTarget.Size(m)
-}
-func (m *BuildTarget) XXX_DiscardUnknown() {
-	xxx_messageInfo_BuildTarget.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_BuildTarget proto.InternalMessageInfo
-
-func (m *BuildTarget) GetId() *BuildTargetId {
-	if m != nil {
-		return m.Id
-	}
-	return nil
-}
-
-type BuildTargetList struct {
-	Value                []*BuildTarget `protobuf:"bytes,1,rep,name=value,proto3" json:"value,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
-	XXX_unrecognized     []byte         `json:"-"`
-	XXX_sizecache        int32          `json:"-"`
-}
-
-func (m *BuildTargetList) Reset()         { *m = BuildTargetList{} }
-func (m *BuildTargetList) String() string { return proto.CompactTextString(m) }
-func (*BuildTargetList) ProtoMessage()    {}
-func (*BuildTargetList) Descriptor() ([]byte, []int) {
-	return fileDescriptor_24d331d0463127ef, []int{6}
-}
-
-func (m *BuildTargetList) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_BuildTargetList.Unmarshal(m, b)
-}
-func (m *BuildTargetList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_BuildTargetList.Marshal(b, m, deterministic)
-}
-func (m *BuildTargetList) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_BuildTargetList.Merge(m, src)
-}
-func (m *BuildTargetList) XXX_Size() int {
-	return xxx_messageInfo_BuildTargetList.Size(m)
-}
-func (m *BuildTargetList) XXX_DiscardUnknown() {
-	xxx_messageInfo_BuildTargetList.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_BuildTargetList proto.InternalMessageInfo
-
-func (m *BuildTargetList) GetValue() []*BuildTarget {
-	if m != nil {
-		return m.Value
-	}
-	return nil
-}
-
-func init() {
-	proto.RegisterType((*BuildTargetId)(nil), "prototype.BuildTargetId")
-	proto.RegisterType((*FirmwarePayload)(nil), "prototype.FirmwarePayload")
-	proto.RegisterType((*FirmwareConfig)(nil), "prototype.FirmwareConfig")
-	proto.RegisterType((*VariantBuildConfig)(nil), "prototype.VariantBuildConfig")
-	proto.RegisterType((*VariantBuildConfigList)(nil), "prototype.VariantBuildConfigList")
-	proto.RegisterType((*BuildTarget)(nil), "prototype.BuildTarget")
-	proto.RegisterType((*BuildTargetList)(nil), "prototype.BuildTargetList")
-}
-
-func init() {
-	proto.RegisterFile("prototype/src/third_party/chromiumos-overlay/config.proto", fileDescriptor_24d331d0463127ef)
-}
-
-var fileDescriptor_24d331d0463127ef = []byte{
-	// 436 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x93, 0x51, 0x8b, 0xd4, 0x30,
-	0x10, 0xc7, 0xd9, 0xde, 0x9d, 0x70, 0x53, 0xdb, 0x42, 0x90, 0xa5, 0x2e, 0x08, 0x5a, 0x39, 0x58,
-	0x0e, 0x6d, 0xe0, 0x16, 0x11, 0x9f, 0x4e, 0x56, 0x11, 0x0e, 0x14, 0xa5, 0xc8, 0x3d, 0xe8, 0x43,
-	0x49, 0x9b, 0xb4, 0x17, 0xe8, 0x36, 0x25, 0xcd, 0xee, 0xd2, 0x4f, 0xe0, 0xb7, 0xf0, 0xb3, 0x8a,
-	0x69, 0xba, 0x9b, 0xba, 0x2b, 0xfb, 0x96, 0x19, 0xe6, 0xff, 0xcb, 0x7f, 0x66, 0x12, 0x78, 0xd7,
-	0x48, 0xa1, 0x84, 0xea, 0x1a, 0x86, 0x5b, 0x99, 0x63, 0xf5, 0xc0, 0x25, 0x4d, 0x1b, 0x22, 0x55,
-	0x87, 0xf3, 0x07, 0x29, 0x56, 0x7c, 0xbd, 0x12, 0xed, 0x6b, 0xb1, 0x61, 0xb2, 0x22, 0x1d, 0xce,
-	0x45, 0x5d, 0xf0, 0x32, 0xd6, 0x1a, 0x74, 0xb9, 0x93, 0xce, 0xa6, 0x7b, 0x0a, 0x65, 0x2d, 0x2f,
-	0xeb, 0xbe, 0x64, 0xf6, 0x72, 0x4c, 0x37, 0x98, 0x76, 0xc4, 0x89, 0xae, 0xc0, 0x5b, 0xae, 0x79,
-	0x45, 0xbf, 0x13, 0x59, 0x32, 0x75, 0x47, 0xd1, 0x13, 0xb8, 0xd8, 0x90, 0x6a, 0xcd, 0xc2, 0xc9,
-	0xf3, 0xc9, 0xfc, 0x32, 0xe9, 0x83, 0xe8, 0x27, 0x04, 0x9f, 0xb8, 0x5c, 0x6d, 0x89, 0x64, 0xdf,
-	0x48, 0x57, 0x09, 0x42, 0xd1, 0x0b, 0x78, 0x9c, 0xfd, 0x55, 0xa6, 0x4a, 0x4b, 0x4d, 0xbd, 0x9b,
-	0xed, 0x69, 0xe8, 0x0a, 0xfc, 0x86, 0xd7, 0x35, 0xa3, 0xe9, 0x86, 0xc9, 0x96, 0x8b, 0x3a, 0x74,
-	0x74, 0x91, 0xd7, 0x67, 0xef, 0xfb, 0x64, 0xf4, 0x7b, 0x02, 0xfe, 0x40, 0xff, 0xa0, 0xcd, 0x21,
-	0x0c, 0x17, 0xa4, 0x49, 0xa5, 0xd0, 0x54, 0xf7, 0x66, 0x16, 0xef, 0x7a, 0x89, 0xff, 0xf1, 0x91,
-	0x9c, 0x93, 0x26, 0x11, 0x83, 0x60, 0xab, 0x6f, 0x38, 0x2d, 0xd8, 0xa2, 0x6b, 0x70, 0x58, 0x1e,
-	0x9e, 0x9d, 0xac, 0x76, 0x58, 0x1e, 0xfd, 0x72, 0x00, 0xdd, 0x13, 0xc9, 0x49, 0xad, 0xf4, 0xb0,
-	0x8c, 0xc9, 0x6b, 0x70, 0x38, 0x3d, 0xe2, 0xf0, 0xa3, 0xde, 0x82, 0x11, 0xdc, 0xd1, 0xc4, 0xe1,
-	0x14, 0xbd, 0x87, 0xc0, 0x9e, 0x56, 0xca, 0xa9, 0x71, 0x1a, 0x5a, 0xc2, 0xd1, 0x26, 0x12, 0x2f,
-	0x1b, 0x2d, 0xe6, 0x16, 0x7c, 0xb3, 0xc2, 0xb4, 0xdf, 0xa0, 0x31, 0x6f, 0x03, 0xbe, 0xf6, 0x05,
-	0xbd, 0xbf, 0xc4, 0x13, 0x76, 0x88, 0x96, 0x10, 0x14, 0xa6, 0xb9, 0x81, 0x70, 0xae, 0x09, 0x4f,
-	0x8f, 0xb4, 0x6f, 0x10, 0x7e, 0x31, 0x8a, 0xa3, 0x2f, 0x30, 0x3d, 0x1c, 0xc4, 0x67, 0xde, 0x2a,
-	0xb4, 0xd8, 0xbf, 0x9b, 0xb3, 0xb9, 0x7b, 0xf3, 0xcc, 0x62, 0x1e, 0x2a, 0x86, 0x67, 0xf5, 0x16,
-	0x5c, 0xab, 0x67, 0x34, 0xb7, 0x06, 0xfa, 0xff, 0xb9, 0x38, 0x9c, 0x46, 0xb7, 0x10, 0x58, 0x49,
-	0x6d, 0xe0, 0xd5, 0xd8, 0xc0, 0xf4, 0xb8, 0xde, 0xdc, 0xbc, 0x7c, 0xf3, 0x63, 0x51, 0x8a, 0x78,
-	0xf8, 0x65, 0xb1, 0x90, 0xa5, 0xf5, 0xe5, 0x30, 0xaf, 0x0b, 0x49, 0xb0, 0x06, 0xe0, 0x52, 0xe0,
-	0x1d, 0x29, 0x7b, 0xa4, 0x8f, 0x8b, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x50, 0x30, 0x2c, 0x87,
-	0xba, 0x03, 0x00, 0x00,
-}
diff --git a/src/prototype/common.proto b/src/prototype/common.proto
deleted file mode 100644
index 4e54fb0..0000000
--- a/src/prototype/common.proto
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-syntax = "proto3";
-
-package prototype;
-
-option go_package = "go.chromium.org/chromiumos/infra/proto/go/prototype";
-
-message Presence {
-  enum Indicator {
-    PRESENCE_UNKNOWN = 0;
-    PRESENT = 1;
-    NOT_PRESENT = 2;
-  }
-}
-
-message ByteSize {
-  enum Unit {
-    UNIT_UNDEFINED = 0;
-    BYTE = 1;
-    KB = 2;
-    MB = 3;
-    GB = 4;
-  }
-
-  int32 value = 1;
-  Unit unit = 2;
-}
-
-// 4-digit hex encoded strings
-message UsbDeviceId {
-  string vendor_id = 1;
-  string product_id = 2;
-  string bcd_device = 3;
-}
diff --git a/src/prototype/component.proto b/src/prototype/component.proto
deleted file mode 100644
index 2bc4ba3..0000000
--- a/src/prototype/component.proto
+++ /dev/null
@@ -1,102 +0,0 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-syntax = "proto3";
-
-package prototype;
-
-option go_package = "go.chromium.org/chromiumos/infra/proto/go/prototype";
-
-import "prototype/common.proto";
-import "prototype/partner.proto";
-
-import "google/protobuf/descriptor.proto";
-
-message ComponentId {
-  string value = 1;
-}
-
-message Component {
-  ComponentId id = 1;
-
-  oneof type {
-    Soc soc = 2;
-    Memory memory = 3;
-    Bluetooth bluetooth = 4;
-    Camera camera = 5;
-    Touchscreen touchscreen = 6;
-  }
-
-  message Soc {
-    enum Architecture {
-      ARCHITECTURE_UNDEFINED = 0;
-      X86 = 1;
-      X86_64 = 2;
-      ARM = 3;
-      ARM64 = 4;
-    }
-
-    extend google.protobuf.EnumValueOptions {
-      Architecture arch = 1914503;
-    }
-
-    enum Family {
-      FAMILY_UNDEFINED = 0;
-      RK3399 = 1 [(arch) = ARM64];
-      GEMINI_LAKE = 2 [(arch) = X86_64];
-    }
-
-    Family family = 1;
-    string model = 2;
-    int32 cores = 3;
-  }
-
-  message Memory {
-    enum Type {
-      TYPE_UNDEFINED = 0;
-      DDR = 1;
-      DDR2 = 2;
-      DDR3 = 3;
-      DDR4 = 4;
-      LP_DDR3 = 5;
-      LP_DDR4 = 6;
-    }
-
-    Type type = 1;
-    int32 speed_mhz = 2;
-    ByteSize size = 3;
-    string part_number = 4;
-    PartnerId manufacturer_id = 5;
-  }
-
-  message Bluetooth {
-    UsbDeviceId usb_device_id = 1;
-  }
-
-  message Camera {
-    enum Feature {
-      FEATURE_UNKNOWN = 0;
-      ACTIVITY_LED = 1;
-    }
-    enum ClockType {
-      CLOCK_TYPE_UNDEFINED = 0;
-      MONOTONIC = 1;
-      BOOTTIME = 2;
-    }
-
-    repeated Feature features = 1;
-    ClockType clock_type = 2;
-  }
-
-  message Touchscreen {
-    string vendor_id = 1;
-    string product_id = 2;
-    string fw_version = 3;
-    string fw_path = 4;
-  }
-}
-
-message ComponentList {
-  repeated Component value = 1;
-}
diff --git a/src/prototype/config.proto b/src/prototype/config.proto
deleted file mode 100644
index d0d7b16..0000000
--- a/src/prototype/config.proto
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-syntax = "proto3";
-
-package prototype;
-
-option go_package = "go.chromium.org/chromiumos/infra/proto/go/prototype";
-
-import "prototype/component.proto";
-import "prototype/partner.proto";
-import "prototype/design.proto";
-import "prototype/program.proto";
-import "prototype/device_project.proto";
-
-import "prototype/src/third_party/chromiumos-overlay/config.proto";
-
-message Config {
-  PartnerList partners = 1;
-  ComponentList components = 2;
-  ProgramList programs = 3;
-  DesignList designs = 4;
-  DeviceBrandList device_brands = 8;
-  DeviceProjectList device_projects = 5;
-
-  BuildTargetList build_targets = 6;
-  VariantBuildConfigList variant_build_configs = 7;
-}
diff --git a/src/prototype/design.proto b/src/prototype/design.proto
deleted file mode 100644
index 824e2be..0000000
--- a/src/prototype/design.proto
+++ /dev/null
@@ -1,98 +0,0 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-syntax = "proto3";
-
-package prototype;
-
-option go_package = "go.chromium.org/chromiumos/infra/proto/go/prototype";
-
-import "prototype/common.proto";
-import "prototype/partner.proto";
-
-message ProgramId {
-  string value = 1;
-}
-
-message DesignId {
-  string value = 1;
-}
-
-message DesignVariantId {
-  string value = 1;
-}
-
-message DesignOptions {
-  Fingerprint fingerprint = 1;
-  Feature front_camera = 2;
-  Feature rear_camera = 3;
-  Feature base_accelerometer = 4;
-  Feature lid_accelerometer = 5;
-  Feature base_gyroscope = 6;
-  Feature lid_gyroscope = 7;
-  Feature base_magnetometer = 8;
-  Feature lid_magnetometer = 9;
-  Feature base_light_sensor = 10;
-  Feature lid_light_sensor = 11;
-  Feature touchscreen = 12;
-  Stylus stylus = 13;
-
-  // General feature presense proto that can be used
-  // for any features that don't have specific attributes.
-  // E.g. See Fingerprint below
-  message Feature {
-    Presence.Indicator presence = 1;
-  }
-
-  message Fingerprint {
-    enum Location {
-      FINGERPRINT_LOCATION_UNKNOWN = 0;
-      POWER_BUTTON_TOP_LEFT = 1;
-      KEYBOARD_TOP_RIGHT = 2;
-      KEYBOARD_BOTTOM_RIGHT = 3;
-    }
-    Presence.Indicator presence = 1;
-    Location location = 2;
-  }
-
-  message Stylus {
-    enum Category {
-      STYLUS_CATEGORY_UNKNOWN = 0;
-      INTERNAL = 1;
-      EXTERNAL = 2;
-    }
-    Presence.Indicator presence = 1;
-    Category category = 2;
-  }
-}
-
-message Design {
-  DesignId id = 1;
-  ProgramId program_id = 2;
-  PartnerId odm_id = 3;
-  string name = 4;
-
-  repeated Variant variants = 6;
-
-  message Variant {
-    DesignVariantId id = 1;
-    FormFactor form_factor = 2;
-    DesignOptions design_options = 3;
-  }
-
-  enum FormFactor {
-    FORM_FACTOR_UNDEFINED = 0;
-    CLAMSHELL = 1;
-    CONVERTIBLE = 2;
-    DETACHABLE = 3;
-    CHROMEBASE = 4;
-    CHROMEBOX = 5;
-    CHROMEBIT = 6;
-    CHROMESLATE = 7;
-  }
-}
-
-message DesignList {
-  repeated Design value = 1;
-}
diff --git a/src/prototype/device_project.proto b/src/prototype/device_project.proto
deleted file mode 100644
index 89f1ac0..0000000
--- a/src/prototype/device_project.proto
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-syntax = "proto3";
-
-package prototype;
-
-option go_package = "go.chromium.org/chromiumos/infra/proto/go/prototype";
-
-import "prototype/partner.proto";
-import "prototype/design.proto";
-
-message DeviceBrandId {
-  string value = 1;
-}
-
-message DeviceBrand {
-  DeviceBrandId id = 1;
-  DesignId design_id = 2;
-  PartnerId oem_id = 3;
-  string brand_code = 4;
-  string brand_name = 5;
-}
-
-message DeviceBrandList {
-  repeated DeviceBrand value = 1;
-}
-
-// Metadata around all of the logistics for the project
-message DeviceProject {
-  DeviceBrandId id = 1;
-  string name = 2;
-  string bug_component_id = 3;
-}
-
-message DeviceProjectList {
-  repeated DeviceProject value = 1;
-}
diff --git a/src/prototype/partner.proto b/src/prototype/partner.proto
deleted file mode 100644
index 225a5f7..0000000
--- a/src/prototype/partner.proto
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-syntax = "proto3";
-
-package prototype;
-
-option go_package = "go.chromium.org/chromiumos/infra/proto/go/prototype";
-
-message PartnerId {
-  string value = 1;
-}
-
-message Partner {
-  PartnerId id = 1;
-  string name = 2;
-  string email_group = 3;
-}
-
-message PartnerList {
-  repeated Partner value = 1;
-}
diff --git a/src/prototype/program.proto b/src/prototype/program.proto
deleted file mode 100644
index 6a5e3f8..0000000
--- a/src/prototype/program.proto
+++ /dev/null
@@ -1,66 +0,0 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-syntax = "proto3";
-
-package prototype;
-
-import "prototype/common.proto";
-import "prototype/component.proto";
-import "prototype/design.proto";
-
-option go_package = "go.chromium.org/chromiumos/infra/proto/go/prototype";
-
-message Constraint {
-  enum Level {
-    TYPE_UNKNOWN = 0;
-    REQUIRED = 1;
-    PREFERRED = 2;
-    OPTIONAL = 3;
-  }
-
-  Level level = 1;
-
-  oneof type {
-    Memory memory = 4;
-    Camera front_camera = 6;
-    Camera rear_camera = 7;
-  }
-
-  message Memory {
-    ByteSize min_size = 1;
-    repeated Component.Memory.Type types = 2;
-  }
-
-  message Camera {
-    Presence.Indicator presence = 1;
-    repeated Component.Camera.Feature features = 2;
-  }
-}
-
-message ComponentQual {
-  enum Status {
-    STATUS_UNKNOWN = 0;
-    REQUESTED = 1;
-    TECHNICALLY_QUALIFIED = 2;
-    QUALIFIED = 3;
-  }
-  ComponentId component_id = 1;
-  Status status = 2;
-}
-
-message Program {
-  ProgramId id = 1;
-  repeated Requirement reqs = 2;
-  repeated ComponentQual component_quals = 3;
-
-  message Requirement {
-    repeated Design.FormFactor form_factors = 1;
-    repeated Constraint constraints = 2;
-  }
-}
-
-message ProgramList {
-  repeated Program value = 1;
-}
diff --git a/src/prototype/src/overlays/config.proto b/src/prototype/src/overlays/config.proto
deleted file mode 100644
index df24532..0000000
--- a/src/prototype/src/overlays/config.proto
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-syntax = "proto3";
-
-package prototype;
-
-option go_package = "go.chromium.org/chromiumos/infra/proto/go/prototype";
-
-import "prototype/src/platform2/config.proto";
-
-message AudioConfig {
-  string card_name = 1;
-  string card_settings_file = 2;
-  string dsp_config_file = 3;
-  string ucm_config_file = 4;
-}
-
-message OverlayConfig {
-  AudioConfig audio_config = 1;
-  Platform2Config platform2_config = 2;
-}
diff --git a/src/prototype/src/platform2/bluetooth/config.proto b/src/prototype/src/platform2/bluetooth/config.proto
deleted file mode 100644
index 89f0497..0000000
--- a/src/prototype/src/platform2/bluetooth/config.proto
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-syntax = "proto3";
-
-package prototype;
-
-option go_package = "go.chromium.org/chromiumos/infra/proto/go/prototype";
-
-message BluetoothConfig {
-  bool enable_suspend_management = 1;
-}
diff --git a/src/prototype/src/platform2/config.proto b/src/prototype/src/platform2/config.proto
deleted file mode 100644
index 146c3fa..0000000
--- a/src/prototype/src/platform2/config.proto
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-syntax = "proto3";
-
-package prototype;
-
-option go_package = "go.chromium.org/chromiumos/infra/proto/go/prototype";
-
-import "prototype/src/platform2/bluetooth/config.proto";
-import "prototype/src/platform2/powerd/config.proto";
-
-message Platform2Config {
-  BluetoothConfig bluetooth_config = 1;
-  PowerdConfig powerd_config = 2;
-}
diff --git a/src/prototype/src/platform2/powerd/config.proto b/src/prototype/src/platform2/powerd/config.proto
deleted file mode 100644
index d9bc1dd..0000000
--- a/src/prototype/src/platform2/powerd/config.proto
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-syntax = "proto3";
-
-package prototype;
-
-option go_package = "go.chromium.org/chromiumos/infra/proto/go/prototype";
-
-message PowerdConfig {
-  double als_smoothing_consant = 1;
-  bool avoid_suspend_when_headphone_jack_plugged = 2;
-  int32 battery_poll_interval_ms = 3;
-}
diff --git a/src/prototype/src/third_party/chromiumos-overlay/config.proto b/src/prototype/src/third_party/chromiumos-overlay/config.proto
deleted file mode 100644
index 0647adc..0000000
--- a/src/prototype/src/third_party/chromiumos-overlay/config.proto
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2019 The Chromium OS Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-syntax = "proto3";
-
-package prototype;
-
-option go_package = "go.chromium.org/chromiumos/infra/proto/go/prototype";
-
-import "prototype/design.proto";
-import "prototype/src/overlays/config.proto";
-
-message BuildTargetId {
-  string value = 1;
-}
-
-message FirmwarePayload {
-  string build_target = 1;
-  string pinned_version = 2;
-}
-
-message FirmwareConfig {
-  FirmwarePayload ap_ro = 1;
-  FirmwarePayload ap_rw = 2;
-  FirmwarePayload ec = 3;
-}
-
-message VariantBuildConfig {
-  DesignVariantId id = 1;
-  BuildTargetId build_target_id = 2;
-  OverlayConfig overlay_config = 3;
-  FirmwareConfig firmware_config = 4;
-}
-
-message VariantBuildConfigList {
-  repeated VariantBuildConfig value = 1;
-}
-
-message BuildTarget {
-  BuildTargetId id = 1;
-}
-
-message BuildTargetList {
-  repeated BuildTarget value = 1;
-}