Merge in stylus information to backfill.

Add I2C interface and new component type to support them.

uber diff:
  https://paste.googleplex.com/5375460079828992?raw

BUG=chromium:1162277
TEST=manual

Change-Id: I34fcaccb124bf1c5059110182de58a1c7a2b6087
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/config/+/2763324
Auto-Submit: Sean McAllister <smcallis@google.com>
Reviewed-by: Xixuan Wu <xixuan@chromium.org>
Reviewed-by: Andrew Lamb <andrewlamb@chromium.org>
Commit-Queue: Sean McAllister <smcallis@google.com>
diff --git a/go/api/component.pb.go b/go/api/component.pb.go
index c6e02e8..f74d483 100644
--- a/go/api/component.pb.go
+++ b/go/api/component.pb.go
@@ -302,7 +302,7 @@
 	return fileDescriptor_c6bb55af29234765, []int{0, 14, 0}
 }
 
-// next field: 23
+// next field: 24
 type Component struct {
 	// Globally unique component identifier.
 	Id *ComponentId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
@@ -334,6 +334,7 @@
 	//	*Component_Storage_
 	//	*Component_Tpm_
 	//	*Component_UsbHost
+	//	*Component_Stylus_
 	Type                 isComponent_Type `protobuf_oneof:"type"`
 	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
 	XXX_unrecognized     []byte           `json:"-"`
@@ -475,6 +476,10 @@
 	UsbHost *Component_Interface_Usb `protobuf:"bytes,19,opt,name=usb_host,json=usbHost,proto3,oneof"`
 }
 
+type Component_Stylus_ struct {
+	Stylus *Component_Stylus `protobuf:"bytes,23,opt,name=stylus,proto3,oneof"`
+}
+
 func (*Component_Soc_) isComponent_Type() {}
 
 func (*Component_Memory_) isComponent_Type() {}
@@ -507,6 +512,8 @@
 
 func (*Component_UsbHost) isComponent_Type() {}
 
+func (*Component_Stylus_) isComponent_Type() {}
+
 func (m *Component) GetType() isComponent_Type {
 	if m != nil {
 		return m.Type
@@ -626,6 +633,13 @@
 	return nil
 }
 
+func (m *Component) GetStylus() *Component_Stylus {
+	if x, ok := m.GetType().(*Component_Stylus_); ok {
+		return x.Stylus
+	}
+	return nil
+}
+
 // XXX_OneofWrappers is for the internal use of the proto package.
 func (*Component) XXX_OneofWrappers() []interface{} {
 	return []interface{}{
@@ -645,6 +659,7 @@
 		(*Component_Storage_)(nil),
 		(*Component_Tpm_)(nil),
 		(*Component_UsbHost)(nil),
+		(*Component_Stylus_)(nil),
 	}
 }
 
@@ -728,6 +743,53 @@
 
 var xxx_messageInfo_Component_Interface proto.InternalMessageInfo
 
+type Component_Interface_I2C struct {
+	Product              string   `protobuf:"bytes,1,opt,name=product,proto3" json:"product,omitempty"`
+	Vendor               string   `protobuf:"bytes,2,opt,name=vendor,proto3" json:"vendor,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *Component_Interface_I2C) Reset()         { *m = Component_Interface_I2C{} }
+func (m *Component_Interface_I2C) String() string { return proto.CompactTextString(m) }
+func (*Component_Interface_I2C) ProtoMessage()    {}
+func (*Component_Interface_I2C) Descriptor() ([]byte, []int) {
+	return fileDescriptor_c6bb55af29234765, []int{0, 1, 0}
+}
+
+func (m *Component_Interface_I2C) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_Component_Interface_I2C.Unmarshal(m, b)
+}
+func (m *Component_Interface_I2C) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_Component_Interface_I2C.Marshal(b, m, deterministic)
+}
+func (m *Component_Interface_I2C) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_Component_Interface_I2C.Merge(m, src)
+}
+func (m *Component_Interface_I2C) XXX_Size() int {
+	return xxx_messageInfo_Component_Interface_I2C.Size(m)
+}
+func (m *Component_Interface_I2C) XXX_DiscardUnknown() {
+	xxx_messageInfo_Component_Interface_I2C.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Component_Interface_I2C proto.InternalMessageInfo
+
+func (m *Component_Interface_I2C) GetProduct() string {
+	if m != nil {
+		return m.Product
+	}
+	return ""
+}
+
+func (m *Component_Interface_I2C) GetVendor() string {
+	if m != nil {
+		return m.Vendor
+	}
+	return ""
+}
+
 type Component_Interface_Usb struct {
 	// 4-digit hex
 	VendorId string `protobuf:"bytes,1,opt,name=vendor_id,json=vendorId,proto3" json:"vendor_id,omitempty"`
@@ -744,7 +806,7 @@
 func (m *Component_Interface_Usb) String() string { return proto.CompactTextString(m) }
 func (*Component_Interface_Usb) ProtoMessage()    {}
 func (*Component_Interface_Usb) Descriptor() ([]byte, []int) {
-	return fileDescriptor_c6bb55af29234765, []int{0, 1, 0}
+	return fileDescriptor_c6bb55af29234765, []int{0, 1, 1}
 }
 
 func (m *Component_Interface_Usb) XXX_Unmarshal(b []byte) error {
@@ -802,7 +864,7 @@
 func (m *Component_Interface_Pci) String() string { return proto.CompactTextString(m) }
 func (*Component_Interface_Pci) ProtoMessage()    {}
 func (*Component_Interface_Pci) Descriptor() ([]byte, []int) {
-	return fileDescriptor_c6bb55af29234765, []int{0, 1, 1}
+	return fileDescriptor_c6bb55af29234765, []int{0, 1, 2}
 }
 
 func (m *Component_Interface_Pci) XXX_Unmarshal(b []byte) error {
@@ -1813,6 +1875,86 @@
 	return ""
 }
 
+type Component_Stylus struct {
+	// Types that are valid to be assigned to Interface:
+	//	*Component_Stylus_Usb
+	//	*Component_Stylus_I2C
+	Interface            isComponent_Stylus_Interface `protobuf_oneof:"interface"`
+	XXX_NoUnkeyedLiteral struct{}                     `json:"-"`
+	XXX_unrecognized     []byte                       `json:"-"`
+	XXX_sizecache        int32                        `json:"-"`
+}
+
+func (m *Component_Stylus) Reset()         { *m = Component_Stylus{} }
+func (m *Component_Stylus) String() string { return proto.CompactTextString(m) }
+func (*Component_Stylus) ProtoMessage()    {}
+func (*Component_Stylus) Descriptor() ([]byte, []int) {
+	return fileDescriptor_c6bb55af29234765, []int{0, 16}
+}
+
+func (m *Component_Stylus) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_Component_Stylus.Unmarshal(m, b)
+}
+func (m *Component_Stylus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_Component_Stylus.Marshal(b, m, deterministic)
+}
+func (m *Component_Stylus) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_Component_Stylus.Merge(m, src)
+}
+func (m *Component_Stylus) XXX_Size() int {
+	return xxx_messageInfo_Component_Stylus.Size(m)
+}
+func (m *Component_Stylus) XXX_DiscardUnknown() {
+	xxx_messageInfo_Component_Stylus.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Component_Stylus proto.InternalMessageInfo
+
+type isComponent_Stylus_Interface interface {
+	isComponent_Stylus_Interface()
+}
+
+type Component_Stylus_Usb struct {
+	Usb *Component_Interface_Usb `protobuf:"bytes,1,opt,name=usb,proto3,oneof"`
+}
+
+type Component_Stylus_I2C struct {
+	I2C *Component_Interface_I2C `protobuf:"bytes,2,opt,name=i2c,proto3,oneof"`
+}
+
+func (*Component_Stylus_Usb) isComponent_Stylus_Interface() {}
+
+func (*Component_Stylus_I2C) isComponent_Stylus_Interface() {}
+
+func (m *Component_Stylus) GetInterface() isComponent_Stylus_Interface {
+	if m != nil {
+		return m.Interface
+	}
+	return nil
+}
+
+func (m *Component_Stylus) GetUsb() *Component_Interface_Usb {
+	if x, ok := m.GetInterface().(*Component_Stylus_Usb); ok {
+		return x.Usb
+	}
+	return nil
+}
+
+func (m *Component_Stylus) GetI2C() *Component_Interface_I2C {
+	if x, ok := m.GetInterface().(*Component_Stylus_I2C); ok {
+		return x.I2C
+	}
+	return nil
+}
+
+// XXX_OneofWrappers is for the internal use of the proto package.
+func (*Component_Stylus) XXX_OneofWrappers() []interface{} {
+	return []interface{}{
+		(*Component_Stylus_Usb)(nil),
+		(*Component_Stylus_I2C)(nil),
+	}
+}
+
 func init() {
 	proto.RegisterEnum("chromiumos.config.api.Component_Soc_Architecture", Component_Soc_Architecture_name, Component_Soc_Architecture_value)
 	proto.RegisterEnum("chromiumos.config.api.Component_Memory_Type", Component_Memory_Type_name, Component_Memory_Type_value)
@@ -1826,6 +1968,7 @@
 	proto.RegisterType((*Component)(nil), "chromiumos.config.api.Component")
 	proto.RegisterType((*Component_AVLId)(nil), "chromiumos.config.api.Component.AVLId")
 	proto.RegisterType((*Component_Interface)(nil), "chromiumos.config.api.Component.Interface")
+	proto.RegisterType((*Component_Interface_I2C)(nil), "chromiumos.config.api.Component.Interface.I2C")
 	proto.RegisterType((*Component_Interface_Usb)(nil), "chromiumos.config.api.Component.Interface.Usb")
 	proto.RegisterType((*Component_Interface_Pci)(nil), "chromiumos.config.api.Component.Interface.Pci")
 	proto.RegisterType((*Component_Soc)(nil), "chromiumos.config.api.Component.Soc")
@@ -1845,6 +1988,7 @@
 	proto.RegisterType((*Component_EmbeddedController)(nil), "chromiumos.config.api.Component.EmbeddedController")
 	proto.RegisterType((*Component_Storage)(nil), "chromiumos.config.api.Component.Storage")
 	proto.RegisterType((*Component_Tpm)(nil), "chromiumos.config.api.Component.Tpm")
+	proto.RegisterType((*Component_Stylus)(nil), "chromiumos.config.api.Component.Stylus")
 }
 
 func init() {
@@ -1852,129 +1996,133 @@
 }
 
 var fileDescriptor_c6bb55af29234765 = []byte{
-	// 1976 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x58, 0xcd, 0x72, 0xdb, 0xba,
-	0x15, 0x16, 0xa9, 0x5f, 0x1e, 0x5b, 0x0e, 0x83, 0x9b, 0xa4, 0xbc, 0xba, 0xd3, 0xa9, 0x47, 0xd3,
-	0xa4, 0x9e, 0xe4, 0x5e, 0x39, 0x71, 0x7e, 0x9a, 0x99, 0x4e, 0x67, 0xae, 0x4c, 0xd1, 0x11, 0x13,
-	0xfd, 0x05, 0xa2, 0xf3, 0xd3, 0x2e, 0x58, 0x0a, 0x84, 0x24, 0xce, 0xe5, 0x5f, 0x49, 0xca, 0x8e,
-	0xf3, 0x00, 0xdd, 0x76, 0xd9, 0x55, 0x67, 0xda, 0x37, 0xe8, 0xf4, 0x15, 0xfa, 0x00, 0xdd, 0x77,
-	0xdf, 0x45, 0xdf, 0xa1, 0x8b, 0x0e, 0x40, 0x52, 0x92, 0xed, 0xb4, 0x52, 0xd2, 0x8d, 0x0d, 0x1c,
-	0x9c, 0xef, 0x03, 0x70, 0x08, 0x7c, 0xe7, 0x40, 0x70, 0x97, 0xcc, 0xa3, 0xc0, 0x73, 0x16, 0x5e,
-	0x10, 0x1f, 0x92, 0xc0, 0x9f, 0x3a, 0xb3, 0x43, 0x2b, 0x74, 0x0e, 0x49, 0xe0, 0x85, 0x81, 0x4f,
-	0xfd, 0xa4, 0x15, 0x46, 0x41, 0x12, 0xa0, 0xdb, 0x2b, 0xb7, 0x56, 0xea, 0xd6, 0xb2, 0x42, 0xa7,
-	0x71, 0xb0, 0x01, 0x6d, 0x3a, 0x76, 0x4a, 0xd0, 0xb8, 0xf7, 0x69, 0xcf, 0xd0, 0x8a, 0x12, 0x9f,
-	0x46, 0x4b, 0xbf, 0xe6, 0xef, 0xee, 0x81, 0xa4, 0xe6, 0x70, 0x74, 0x04, 0xa2, 0x63, 0x2b, 0xc2,
-	0xbe, 0x70, 0xb0, 0x73, 0xd4, 0x6c, 0x7d, 0x72, 0x0d, 0xad, 0xa5, 0xb7, 0x6e, 0x63, 0xd1, 0xb1,
-	0x91, 0x0e, 0x37, 0x3c, 0xcb, 0x5f, 0x4c, 0x2d, 0x92, 0x2c, 0x22, 0x4e, 0xad, 0xd4, 0x38, 0xc1,
-	0xfe, 0x7f, 0x21, 0x18, 0xa5, 0x6b, 0xd0, 0x6d, 0xbc, 0xb7, 0x0e, 0xd4, 0x6d, 0x84, 0xa0, 0xe4,
-	0x5b, 0x1e, 0x55, 0xa4, 0x7d, 0xe1, 0x40, 0xc2, 0xbc, 0x8d, 0x7e, 0x0c, 0x30, 0x3f, 0x77, 0x6c,
-	0xd3, 0xb5, 0x26, 0xd4, 0x55, 0x6e, 0xf1, 0x11, 0x89, 0x59, 0x7a, 0xcc, 0x80, 0x7e, 0x09, 0x15,
-	0xeb, 0xcc, 0x65, 0x93, 0xde, 0xe6, 0x93, 0xde, 0xdb, 0xb4, 0xea, 0x56, 0xfb, 0x4d, 0x4f, 0xb7,
-	0x71, 0xd9, 0x3a, 0x73, 0x75, 0x1b, 0xfd, 0x04, 0x76, 0x58, 0x48, 0x4c, 0x7f, 0xe1, 0x4d, 0x68,
-	0xa4, 0xdc, 0xe1, 0xf4, 0xc0, 0x4c, 0x03, 0x6e, 0x41, 0xcf, 0xa1, 0x18, 0x07, 0x44, 0x11, 0x39,
-	0xf9, 0x4f, 0x37, 0x92, 0x8f, 0x03, 0xd2, 0x2d, 0x60, 0x06, 0x41, 0x6d, 0xa8, 0x78, 0xd4, 0x0b,
-	0xa2, 0x0b, 0xa5, 0xc8, 0xc1, 0x3f, 0xdb, 0x08, 0xee, 0x73, 0xf7, 0x6e, 0x01, 0x67, 0x40, 0xf4,
-	0x12, 0xa4, 0x89, 0xbb, 0xa0, 0x49, 0x10, 0x24, 0x73, 0xa5, 0xc4, 0x59, 0xee, 0x6f, 0x64, 0x39,
-	0xce, 0x11, 0xdd, 0x02, 0x5e, 0xc1, 0xd9, 0x72, 0x88, 0xe5, 0xd1, 0xc8, 0x52, 0xca, 0x5b, 0x2e,
-	0x47, 0xe5, 0xee, 0x6c, 0x39, 0x29, 0x10, 0xbd, 0x84, 0x9d, 0x24, 0x58, 0x90, 0x79, 0x4c, 0x22,
-	0x4a, 0x7d, 0xa5, 0xb2, 0x65, 0xc0, 0x0d, 0x86, 0xe9, 0x16, 0xf0, 0x3a, 0x18, 0xfd, 0x02, 0x4a,
-	0xe7, 0xce, 0xd4, 0x51, 0xaa, 0x9c, 0xe4, 0xee, 0x46, 0x92, 0xb7, 0xce, 0xd4, 0xe9, 0x16, 0x30,
-	0x07, 0xa1, 0x0e, 0xd4, 0x38, 0x57, 0x68, 0xd9, 0x0a, 0x7c, 0xe6, 0x2a, 0x96, 0x48, 0x64, 0x40,
-	0xdd, 0x76, 0xe2, 0xd0, 0xb5, 0x2e, 0xcc, 0xd0, 0xf2, 0xa9, 0xab, 0xec, 0x70, 0xaa, 0xef, 0x36,
-	0x52, 0x75, 0x52, 0xd4, 0x88, 0x81, 0xba, 0x05, 0xbc, 0x6b, 0xaf, 0xf5, 0xd1, 0x00, 0x76, 0xac,
-	0x85, 0xed, 0x04, 0x26, 0x09, 0x6c, 0x4a, 0x94, 0x5d, 0xce, 0xf9, 0x60, 0xf3, 0xa9, 0x64, 0x18,
-	0x95, 0x41, 0xba, 0x05, 0x0c, 0xd6, 0xb2, 0x87, 0x3a, 0x50, 0x9d, 0x58, 0x49, 0x42, 0xa3, 0x0b,
-	0xa5, 0xce, 0xb9, 0x0e, 0x36, 0x9f, 0x80, 0xd4, 0xbf, 0x5b, 0xc0, 0x39, 0x14, 0x8d, 0xa0, 0x4e,
-	0x89, 0x39, 0x75, 0xad, 0x78, 0x6e, 0x92, 0xb9, 0x13, 0x2a, 0x7b, 0x5b, 0x9e, 0xa6, 0x13, 0x06,
-	0x51, 0xe7, 0x4e, 0xc8, 0x3e, 0x20, 0x25, 0xcb, 0x2e, 0x7a, 0x07, 0x37, 0xe3, 0x8b, 0x38, 0xa1,
-	0xde, 0x3a, 0xeb, 0x8d, 0x2f, 0x60, 0xbd, 0x91, 0xd2, 0xac, 0x98, 0x35, 0x10, 0x29, 0x51, 0x64,
-	0x4e, 0xf5, 0x78, 0x23, 0x95, 0xe6, 0x4d, 0xa8, 0x6d, 0x53, 0x5b, 0x0d, 0xfc, 0x24, 0x0a, 0x5c,
-	0x97, 0x46, 0xdd, 0x02, 0x16, 0xd3, 0xc0, 0xc5, 0x49, 0x10, 0x59, 0x33, 0xaa, 0xdc, 0xdc, 0x32,
-	0x70, 0xe3, 0xd4, 0x9f, 0x05, 0x2e, 0x83, 0xb2, 0xfb, 0x9f, 0x84, 0x9e, 0x82, 0xb6, 0xbc, 0xff,
-	0x46, 0xe8, 0xb1, 0xfb, 0x9f, 0x84, 0x1e, 0x7a, 0x05, 0xb5, 0x45, 0x3c, 0x31, 0xe7, 0x41, 0x9c,
-	0x28, 0x5f, 0x71, 0x78, 0x6b, 0x23, 0x5c, 0xf7, 0x13, 0x1a, 0x4d, 0x2d, 0x42, 0x5b, 0xa7, 0xf1,
-	0x84, 0x2d, 0x63, 0x11, 0x4f, 0xba, 0x41, 0x9c, 0x34, 0x1e, 0x40, 0x99, 0xeb, 0x16, 0x92, 0xa1,
-	0x48, 0x32, 0x89, 0x2e, 0x63, 0xd6, 0x64, 0x96, 0xdf, 0x3a, 0x36, 0x57, 0xa8, 0x32, 0x66, 0xcd,
-	0xc6, 0xdf, 0x05, 0x90, 0x96, 0x4c, 0x8d, 0xdf, 0x40, 0xf1, 0x34, 0x9e, 0xa0, 0x6f, 0x40, 0x3a,
-	0xa3, 0xbe, 0x1d, 0x70, 0x81, 0x16, 0xb8, 0xce, 0xd5, 0x52, 0x83, 0x6e, 0x33, 0x91, 0x0d, 0xa3,
-	0xc0, 0x5e, 0x10, 0x96, 0x41, 0x38, 0x95, 0x84, 0xa5, 0xcc, 0x92, 0x0e, 0x4f, 0x88, 0x6d, 0xda,
-	0xf4, 0xcc, 0x21, 0x94, 0xcb, 0x99, 0x84, 0xa5, 0x09, 0xb1, 0x3b, 0xdc, 0xc0, 0x66, 0x18, 0x11,
-	0xe7, 0x7f, 0xcf, 0xf0, 0x0d, 0x48, 0x29, 0x7c, 0x35, 0x41, 0x2d, 0x35, 0xa4, 0x2a, 0x1c, 0xd1,
-	0x33, 0x27, 0x76, 0x02, 0x9f, 0x0d, 0xa7, 0x13, 0x40, 0x6e, 0xd2, 0xed, 0xc6, 0x5f, 0x44, 0x28,
-	0x8e, 0x03, 0x82, 0x54, 0xa8, 0x4c, 0x2d, 0xcf, 0x71, 0x2f, 0xb2, 0x1c, 0xf5, 0x60, 0x1b, 0x41,
-	0x6e, 0x9d, 0x70, 0x08, 0xce, 0xa0, 0xe8, 0x16, 0x94, 0xbd, 0xc0, 0xa6, 0x6e, 0xb6, 0x8c, 0xb4,
-	0xc3, 0xac, 0x24, 0x88, 0x68, 0xcc, 0x67, 0x2f, 0xe3, 0xb4, 0xd3, 0x20, 0x50, 0x49, 0xd1, 0x48,
-	0x83, 0x92, 0x15, 0x91, 0x39, 0x9f, 0x78, 0xef, 0xe8, 0xd1, 0x56, 0x13, 0xb7, 0x23, 0x32, 0x77,
-	0x12, 0xca, 0xf3, 0x1b, 0xe6, 0xf0, 0x65, 0x8a, 0x13, 0x57, 0x29, 0xae, 0x39, 0x86, 0xdd, 0x75,
-	0x4f, 0xd4, 0x80, 0x3b, 0x6d, 0xac, 0x76, 0x75, 0x43, 0x53, 0x8d, 0x53, 0xac, 0x99, 0xa7, 0x83,
-	0x8e, 0x76, 0xa2, 0x0f, 0xb4, 0x8e, 0x5c, 0x40, 0x55, 0x28, 0xbe, 0x7b, 0xfe, 0x4c, 0x16, 0x10,
-	0x40, 0xe5, 0xdd, 0xf3, 0x67, 0xe6, 0xb3, 0x27, 0xb2, 0xc8, 0x8c, 0x6d, 0xdc, 0x97, 0x8b, 0x48,
-	0x82, 0x72, 0x1b, 0xf7, 0x9f, 0x3d, 0x91, 0x4b, 0x8d, 0x7f, 0x89, 0x50, 0x49, 0x13, 0x0a, 0xd2,
-	0xa1, 0x1a, 0x46, 0xc1, 0xd4, 0x71, 0x69, 0x16, 0xb6, 0xc3, 0x2d, 0x53, 0x51, 0x6b, 0x94, 0xc2,
-	0x70, 0x8e, 0xbf, 0x9a, 0x2f, 0xc5, 0xab, 0xf9, 0xb2, 0xf1, 0x7b, 0x01, 0xaa, 0x19, 0x0a, 0x7d,
-	0x0f, 0xa5, 0xe4, 0x22, 0xa4, 0x59, 0xc8, 0xbe, 0xdd, 0x76, 0x52, 0xe3, 0x22, 0xa4, 0x98, 0x23,
-	0xd9, 0xa9, 0x89, 0x43, 0x4a, 0x6d, 0xd3, 0x9b, 0x7f, 0xcc, 0x4e, 0x78, 0x8d, 0x1b, 0xfa, 0xf3,
-	0x8f, 0xe8, 0x2e, 0xec, 0xc5, 0xce, 0x47, 0x6a, 0x7a, 0x74, 0x66, 0x4d, 0x2e, 0x92, 0xe5, 0xa7,
-	0xab, 0x33, 0x6b, 0x3f, 0x37, 0x36, 0x7f, 0x0d, 0x25, 0xc6, 0x88, 0x10, 0xec, 0x19, 0xef, 0x47,
-	0xd7, 0xa2, 0xd9, 0xe9, 0x60, 0x59, 0x40, 0x35, 0x28, 0x75, 0x3a, 0xf8, 0x48, 0x16, 0xb3, 0xd6,
-	0x63, 0xb9, 0x98, 0xb5, 0x9e, 0xc8, 0x25, 0xb4, 0x03, 0xd5, 0xde, 0xc8, 0xe4, 0xe6, 0xf2, 0xaa,
-	0xf3, 0x44, 0xae, 0xbc, 0x2c, 0xd5, 0x8a, 0x72, 0xa9, 0x61, 0x82, 0xb4, 0xcc, 0xba, 0xe8, 0x7b,
-	0x28, 0x2e, 0xe2, 0x49, 0x96, 0xae, 0x3f, 0xf3, 0xca, 0x63, 0x06, 0x7d, 0x59, 0xaa, 0x09, 0xb2,
-	0xf8, 0xb2, 0x54, 0x13, 0xe5, 0x62, 0x36, 0xc1, 0x5f, 0x8b, 0x50, 0x49, 0xd3, 0x31, 0x93, 0x95,
-	0x29, 0xb5, 0xd8, 0x39, 0x89, 0x15, 0x61, 0xbf, 0x78, 0xb0, 0xb7, 0xc5, 0xd7, 0x4c, 0xa1, 0xad,
-	0x93, 0x14, 0x87, 0x97, 0x04, 0x68, 0x04, 0x40, 0xdc, 0x80, 0xfc, 0x60, 0xf2, 0xef, 0x24, 0x6e,
-	0x79, 0xb4, 0x33, 0x3a, 0x95, 0x21, 0xf9, 0xc7, 0x92, 0x48, 0xde, 0x44, 0xc7, 0xe9, 0xee, 0x8b,
-	0x5f, 0x28, 0x78, 0x0c, 0xcc, 0x38, 0x42, 0xe2, 0x7c, 0x41, 0x04, 0x47, 0x84, 0xd5, 0x08, 0x0c,
-	0xdc, 0x7c, 0x08, 0xd5, 0x6c, 0xbb, 0xe8, 0x2b, 0xb8, 0x71, 0xa2, 0xb5, 0xb3, 0x9b, 0xf4, 0x6a,
-	0x30, 0x7c, 0x3b, 0x90, 0x0b, 0x48, 0x86, 0xdd, 0xb6, 0x6a, 0xe8, 0x6f, 0x74, 0xe3, 0xbd, 0xd9,
-	0xd3, 0x3a, 0xb2, 0xd0, 0x3c, 0x06, 0x69, 0xb9, 0x23, 0xa4, 0xc0, 0x2d, 0xb5, 0x37, 0x54, 0x5f,
-	0x99, 0xd7, 0x8e, 0x4c, 0x1d, 0xa4, 0xfe, 0x70, 0x30, 0x34, 0x86, 0x03, 0x5d, 0x95, 0x05, 0xb4,
-	0x0b, 0xb5, 0xe3, 0xe1, 0xd0, 0x30, 0xf4, 0xbe, 0x26, 0x8b, 0xc7, 0x3b, 0x20, 0x39, 0x4b, 0xe1,
-	0xfd, 0xb3, 0x08, 0xbb, 0xeb, 0xa5, 0xc2, 0x15, 0x95, 0x15, 0xae, 0xaa, 0xec, 0x3b, 0x3e, 0x1c,
-	0xd2, 0x28, 0x71, 0x68, 0x9c, 0x55, 0x9c, 0xcf, 0x3f, 0xab, 0x18, 0x61, 0xf7, 0x35, 0xc3, 0xe3,
-	0x35, 0xae, 0xc6, 0x1f, 0x04, 0x80, 0xd5, 0x10, 0xfa, 0x1a, 0x6a, 0xe7, 0x8e, 0x9d, 0xcc, 0xcd,
-	0xf0, 0x43, 0x96, 0x48, 0xaa, 0xbc, 0x3f, 0xfa, 0xc0, 0x2e, 0xdc, 0x9c, 0x3a, 0xb3, 0x79, 0xc2,
-	0xc6, 0xb2, 0x0b, 0x97, 0x1a, 0x46, 0x1f, 0xd0, 0x77, 0x80, 0x6c, 0xc7, 0x9a, 0x05, 0xbe, 0xe5,
-	0x9a, 0x9e, 0xe3, 0xba, 0x8e, 0xe3, 0x93, 0x79, 0x76, 0xe9, 0x6e, 0xe6, 0x23, 0xfd, 0x7c, 0x00,
-	0x35, 0xa1, 0x1e, 0x3a, 0x1f, 0xa8, 0x1b, 0x9b, 0x21, 0x7b, 0x16, 0xf8, 0xfc, 0x83, 0x96, 0xf1,
-	0x4e, 0x6a, 0x1c, 0xd1, 0x48, 0xf7, 0x1b, 0xff, 0x10, 0xa1, 0xcc, 0x2b, 0xb3, 0x2d, 0x52, 0xd0,
-	0xf4, 0xdc, 0x3c, 0xa3, 0x11, 0xcb, 0x08, 0x79, 0x0a, 0x9a, 0x9e, 0xbf, 0x49, 0x0d, 0x4c, 0x0b,
-	0x72, 0x74, 0x4c, 0x23, 0x16, 0xbf, 0x32, 0x77, 0xa9, 0x67, 0xd6, 0x31, 0x37, 0x32, 0xf9, 0x9a,
-	0x9e, 0x9b, 0x64, 0x4e, 0xc9, 0x0f, 0xf1, 0xc2, 0xe3, 0x15, 0xac, 0x84, 0x61, 0x7a, 0xae, 0x66,
-	0x16, 0xd4, 0xc9, 0x24, 0xab, 0xca, 0xaf, 0xc2, 0xc3, 0xed, 0xaa, 0xca, 0xf4, 0xef, 0x9a, 0x6c,
-	0x65, 0x12, 0x50, 0xfb, 0x62, 0x09, 0x68, 0xfe, 0x1c, 0xa4, 0x25, 0x29, 0x3b, 0x8c, 0xc6, 0xf0,
-	0x54, 0xed, 0x9a, 0x9f, 0xd2, 0xaf, 0xd3, 0xf1, 0xb1, 0x2c, 0xb0, 0x86, 0x7e, 0xa4, 0x72, 0xd5,
-	0x48, 0xb5, 0xa3, 0x24, 0x97, 0x1b, 0xff, 0x14, 0xa1, 0xc4, 0xea, 0xe6, 0xfc, 0x42, 0x09, 0xff,
-	0xc7, 0x85, 0x42, 0x2e, 0x28, 0xf1, 0x22, 0x0c, 0x83, 0x28, 0xa1, 0xb6, 0x79, 0xee, 0x5a, 0xbe,
-	0xc9, 0x1f, 0x90, 0x24, 0x70, 0xd9, 0x59, 0x65, 0x3a, 0x74, 0xb4, 0x55, 0x11, 0xdf, 0x7a, 0xdb,
-	0x6b, 0x0f, 0x46, 0x19, 0x14, 0xdf, 0x59, 0x72, 0xbe, 0x75, 0x2d, 0x3f, 0x37, 0xc7, 0xcd, 0x3f,
-	0x0a, 0xb0, 0xbb, 0xee, 0x88, 0xbe, 0x86, 0xdb, 0xac, 0x6f, 0x8e, 0xf0, 0xd0, 0x18, 0xaa, 0xc3,
-	0xde, 0xda, 0x55, 0xbe, 0x09, 0x75, 0x5d, 0xd3, 0x34, 0xf3, 0xf9, 0xc3, 0x23, 0xf3, 0xd1, 0x23,
-	0xb3, 0x2d, 0x0b, 0x57, 0x4d, 0xc7, 0xb2, 0x78, 0xd5, 0xf4, 0x42, 0x2e, 0x5e, 0x35, 0x0d, 0xe4,
-	0x12, 0x4b, 0x12, 0x97, 0xb8, 0x54, 0xb9, 0x7c, 0xcd, 0xf6, 0x4e, 0xae, 0x5c, 0xbe, 0xe8, 0xff,
-	0x16, 0xa0, 0xfe, 0x7a, 0x61, 0xb9, 0xce, 0xd4, 0x21, 0x56, 0xc2, 0x8e, 0xa3, 0x06, 0xbb, 0xeb,
-	0x6f, 0xf2, 0xcf, 0x78, 0x51, 0xef, 0x90, 0x55, 0x07, 0xf5, 0xa1, 0x12, 0x27, 0x56, 0xb2, 0x88,
-	0x33, 0x69, 0x7e, 0xba, 0x31, 0xc2, 0x97, 0x96, 0xd1, 0x1a, 0x73, 0x30, 0xce, 0x48, 0x9a, 0xa7,
-	0x50, 0x49, 0x2d, 0x6c, 0x4b, 0x63, 0xa3, 0x6d, 0x9c, 0x8e, 0xd7, 0xc2, 0x58, 0x07, 0x09, 0x6b,
-	0xaf, 0x4f, 0xb5, 0xb1, 0xc1, 0xe4, 0x90, 0x05, 0xdc, 0xd0, 0xd4, 0xee, 0x40, 0x57, 0xdb, 0xbd,
-	0xde, 0x7b, 0xf3, 0xf5, 0x69, 0xbb, 0xa7, 0x9f, 0xe8, 0x5a, 0x47, 0x16, 0x99, 0xe7, 0xaa, 0x5b,
-	0x6c, 0xec, 0x03, 0xac, 0x5e, 0x2f, 0xcb, 0x02, 0x47, 0x58, 0x15, 0x38, 0x8d, 0x3f, 0x09, 0x50,
-	0xcd, 0x1e, 0x25, 0xab, 0xea, 0x4b, 0x58, 0xaf, 0xbe, 0xc6, 0x00, 0x09, 0x25, 0x73, 0x3f, 0x70,
-	0x83, 0xd9, 0x45, 0xb6, 0xdb, 0xc7, 0xdb, 0x3e, 0x74, 0x5a, 0xc6, 0x12, 0x8a, 0xd7, 0x68, 0x9a,
-	0xf7, 0x01, 0x56, 0x23, 0x4c, 0xf1, 0xd9, 0x86, 0xd6, 0x76, 0x0c, 0x50, 0xe9, 0xe9, 0xa6, 0x3e,
-	0x1c, 0xc8, 0x42, 0xe3, 0x5b, 0x90, 0x56, 0x2f, 0x90, 0x2b, 0x55, 0x8e, 0x70, 0xad, 0xca, 0x79,
-	0x0a, 0xe8, 0xfa, 0xbb, 0x63, 0x33, 0xec, 0x6f, 0x22, 0x54, 0xb3, 0x37, 0x06, 0xda, 0x87, 0x5d,
-	0xea, 0x79, 0xe4, 0xa9, 0x99, 0xca, 0x5a, 0xee, 0xcd, 0x6d, 0x27, 0x4c, 0xd7, 0xd0, 0x1d, 0xa8,
-	0x78, 0x96, 0x3f, 0x5d, 0xaa, 0x61, 0xd6, 0x5b, 0x46, 0xb8, 0xb8, 0xf6, 0x2b, 0xc9, 0x2d, 0x28,
-	0x07, 0xd4, 0x73, 0x6c, 0xae, 0xb1, 0x12, 0x4e, 0x3b, 0xec, 0x69, 0x10, 0x46, 0x67, 0x99, 0x14,
-	0xb2, 0x26, 0x52, 0xa0, 0x1a, 0x53, 0x92, 0x04, 0x51, 0x9c, 0x89, 0x5f, 0xde, 0x45, 0xdd, 0x4b,
-	0xca, 0xf7, 0x64, 0xdb, 0xb7, 0x52, 0xfe, 0x7f, 0x4d, 0xfd, 0x7e, 0x04, 0x55, 0x5e, 0x97, 0xcd,
-	0x52, 0x05, 0xac, 0xe3, 0x0a, 0xeb, 0xbe, 0x98, 0x34, 0x35, 0xd8, 0x59, 0xf3, 0x66, 0xb2, 0x36,
-	0x36, 0x86, 0xb8, 0xfd, 0x42, 0xcb, 0x85, 0x2d, 0xff, 0x30, 0x35, 0x28, 0x69, 0xfd, 0xbe, 0x9a,
-	0xd6, 0x65, 0x83, 0x37, 0x2c, 0xb5, 0xb2, 0xd6, 0xb8, 0x6d, 0xb4, 0xe5, 0x62, 0xa3, 0x07, 0x45,
-	0x23, 0xf4, 0xd0, 0x03, 0xb8, 0x79, 0xf9, 0x77, 0x27, 0x7f, 0x1a, 0x64, 0x51, 0x94, 0x2f, 0xfd,
-	0xae, 0xe4, 0x4f, 0x03, 0xb6, 0xef, 0x3c, 0x77, 0xa4, 0xc1, 0xcc, 0xbb, 0xc7, 0x95, 0x74, 0xdf,
-	0xc7, 0xf7, 0x7f, 0x75, 0x30, 0x0b, 0x96, 0xbb, 0x6e, 0x05, 0xd1, 0xec, 0xf0, 0xfa, 0x4f, 0x68,
-	0xb3, 0xe0, 0xd0, 0x0a, 0x9d, 0x49, 0x85, 0x4b, 0xdf, 0xe3, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff,
-	0x52, 0x69, 0x38, 0x79, 0xcd, 0x13, 0x00, 0x00,
+	// 2047 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x58, 0xcb, 0x72, 0xdb, 0xc8,
+	0x15, 0x25, 0xc0, 0x27, 0xae, 0x44, 0x19, 0xee, 0xf1, 0x78, 0x30, 0x9c, 0x4a, 0x45, 0xc5, 0x8a,
+	0x27, 0x2a, 0x7b, 0x86, 0xb2, 0xe9, 0xc7, 0xb8, 0x2a, 0x95, 0xaa, 0xa1, 0x40, 0xc8, 0x84, 0xcd,
+	0x97, 0x9b, 0x90, 0x1f, 0xc9, 0x02, 0x01, 0x1b, 0x4d, 0x11, 0x35, 0x78, 0x05, 0x00, 0x25, 0xcb,
+	0x5f, 0x90, 0x5d, 0x96, 0x59, 0x4d, 0x55, 0x92, 0x2f, 0x48, 0xe5, 0x17, 0xf2, 0x17, 0xd9, 0x67,
+	0x91, 0x7f, 0xc8, 0x22, 0xd5, 0x0d, 0x80, 0xa4, 0x24, 0x27, 0xa4, 0x3d, 0x1b, 0xa9, 0xef, 0xed,
+	0x3e, 0xa7, 0x1b, 0xdd, 0x7d, 0xcf, 0xbd, 0x4d, 0xb8, 0x43, 0xe6, 0x51, 0xe0, 0x39, 0x0b, 0x2f,
+	0x88, 0x0f, 0x49, 0xe0, 0xcf, 0x9c, 0xd3, 0x43, 0x2b, 0x74, 0x0e, 0x49, 0xe0, 0x85, 0x81, 0x4f,
+	0xfd, 0xa4, 0x15, 0x46, 0x41, 0x12, 0xa0, 0xcf, 0x57, 0xc3, 0x5a, 0xe9, 0xb0, 0x96, 0x15, 0x3a,
+	0x8d, 0x83, 0x0d, 0x68, 0xd3, 0xb1, 0x53, 0x82, 0xc6, 0xd7, 0x1f, 0x1e, 0x19, 0x5a, 0x51, 0xe2,
+	0xd3, 0x68, 0x39, 0xae, 0xf9, 0xd7, 0x03, 0x90, 0xd4, 0x1c, 0x8e, 0xda, 0x20, 0x3a, 0xb6, 0x22,
+	0xec, 0x0b, 0x07, 0x3b, 0xed, 0x66, 0xeb, 0x83, 0x6b, 0x68, 0x2d, 0x47, 0xeb, 0x36, 0x16, 0x1d,
+	0x1b, 0xe9, 0x70, 0xc3, 0xb3, 0xfc, 0xc5, 0xcc, 0x22, 0xc9, 0x22, 0xe2, 0xd4, 0x4a, 0x8d, 0x13,
+	0xec, 0xff, 0x0f, 0x82, 0x71, 0xba, 0x06, 0xdd, 0xc6, 0x7b, 0xeb, 0x40, 0xdd, 0x46, 0x08, 0x4a,
+	0xbe, 0xe5, 0x51, 0x45, 0xda, 0x17, 0x0e, 0x24, 0xcc, 0xdb, 0xe8, 0x67, 0x00, 0xf3, 0x73, 0xc7,
+	0x36, 0x5d, 0x6b, 0x4a, 0x5d, 0xe5, 0x16, 0xef, 0x91, 0x98, 0xa7, 0xcf, 0x1c, 0xe8, 0xd7, 0x50,
+	0xb1, 0xce, 0x5c, 0x36, 0xe9, 0xe7, 0x7c, 0xd2, 0xaf, 0x37, 0xad, 0xba, 0xd5, 0x79, 0xd5, 0xd7,
+	0x6d, 0x5c, 0xb6, 0xce, 0x5c, 0xdd, 0x46, 0x3f, 0x87, 0x1d, 0xb6, 0x25, 0xa6, 0xbf, 0xf0, 0xa6,
+	0x34, 0x52, 0x6e, 0x73, 0x7a, 0x60, 0xae, 0x21, 0xf7, 0xa0, 0xa7, 0x50, 0x8c, 0x03, 0xa2, 0x88,
+	0x9c, 0xfc, 0x17, 0x1b, 0xc9, 0x27, 0x01, 0xe9, 0x15, 0x30, 0x83, 0xa0, 0x0e, 0x54, 0x3c, 0xea,
+	0x05, 0xd1, 0x85, 0x52, 0xe4, 0xe0, 0x5f, 0x6e, 0x04, 0x0f, 0xf8, 0xf0, 0x5e, 0x01, 0x67, 0x40,
+	0xf4, 0x1c, 0xa4, 0xa9, 0xbb, 0xa0, 0x49, 0x10, 0x24, 0x73, 0xa5, 0xc4, 0x59, 0xee, 0x6e, 0x64,
+	0x39, 0xca, 0x11, 0xbd, 0x02, 0x5e, 0xc1, 0xd9, 0x72, 0x88, 0xe5, 0xd1, 0xc8, 0x52, 0xca, 0x5b,
+	0x2e, 0x47, 0xe5, 0xc3, 0xd9, 0x72, 0x52, 0x20, 0x7a, 0x0e, 0x3b, 0x49, 0xb0, 0x20, 0xf3, 0x98,
+	0x44, 0x94, 0xfa, 0x4a, 0x65, 0xcb, 0x0d, 0x37, 0x18, 0xa6, 0x57, 0xc0, 0xeb, 0x60, 0xf4, 0x2b,
+	0x28, 0x9d, 0x3b, 0x33, 0x47, 0xa9, 0x72, 0x92, 0x3b, 0x1b, 0x49, 0x5e, 0x3b, 0x33, 0xa7, 0x57,
+	0xc0, 0x1c, 0x84, 0xba, 0x50, 0xe3, 0x5c, 0xa1, 0x65, 0x2b, 0xf0, 0x91, 0xab, 0x58, 0x22, 0x91,
+	0x01, 0x75, 0xdb, 0x89, 0x43, 0xd7, 0xba, 0x30, 0x43, 0xcb, 0xa7, 0xae, 0xb2, 0xc3, 0xa9, 0xbe,
+	0xdd, 0x48, 0xd5, 0x4d, 0x51, 0x63, 0x06, 0xea, 0x15, 0xf0, 0xae, 0xbd, 0x66, 0xa3, 0x21, 0xec,
+	0x58, 0x0b, 0xdb, 0x09, 0x4c, 0x12, 0xd8, 0x94, 0x28, 0xbb, 0x9c, 0xf3, 0xde, 0xe6, 0x5b, 0xc9,
+	0x30, 0x2a, 0x83, 0xf4, 0x0a, 0x18, 0xac, 0xa5, 0x85, 0xba, 0x50, 0x9d, 0x5a, 0x49, 0x42, 0xa3,
+	0x0b, 0xa5, 0xce, 0xb9, 0x0e, 0x36, 0xdf, 0x80, 0x74, 0x7c, 0xaf, 0x80, 0x73, 0x28, 0x1a, 0x43,
+	0x9d, 0x12, 0x73, 0xe6, 0x5a, 0xf1, 0xdc, 0x24, 0x73, 0x27, 0x54, 0xf6, 0xb6, 0xbc, 0x4d, 0xc7,
+	0x0c, 0xa2, 0xce, 0x9d, 0x90, 0x1d, 0x20, 0x25, 0x4b, 0x13, 0xbd, 0x81, 0x9b, 0xf1, 0x45, 0x9c,
+	0x50, 0x6f, 0x9d, 0xf5, 0xc6, 0x27, 0xb0, 0xde, 0x48, 0x69, 0x56, 0xcc, 0x1a, 0x88, 0x94, 0x28,
+	0x32, 0xa7, 0x7a, 0xb8, 0x91, 0x4a, 0xf3, 0xa6, 0xd4, 0xb6, 0xa9, 0xad, 0x06, 0x7e, 0x12, 0x05,
+	0xae, 0x4b, 0xa3, 0x5e, 0x01, 0x8b, 0xe9, 0xc6, 0xc5, 0x49, 0x10, 0x59, 0xa7, 0x54, 0xb9, 0xb9,
+	0xe5, 0xc6, 0x4d, 0xd2, 0xf1, 0x6c, 0xe3, 0x32, 0x28, 0x8b, 0xff, 0x24, 0xf4, 0x14, 0xb4, 0x65,
+	0xfc, 0x1b, 0xa1, 0xc7, 0xe2, 0x3f, 0x09, 0x3d, 0xf4, 0x02, 0x6a, 0x8b, 0x78, 0x6a, 0xce, 0x83,
+	0x38, 0x51, 0x3e, 0xe3, 0xf0, 0xd6, 0x46, 0xb8, 0xee, 0x27, 0x34, 0x9a, 0x59, 0x84, 0xb6, 0x4e,
+	0xe2, 0x29, 0x5b, 0xc6, 0x22, 0x9e, 0xf6, 0x82, 0x38, 0x61, 0xd1, 0x1b, 0x27, 0x17, 0xee, 0x22,
+	0x56, 0xbe, 0xd8, 0x32, 0x7a, 0x27, 0x7c, 0x38, 0x8b, 0xde, 0x14, 0xd8, 0xb8, 0x07, 0x65, 0x2e,
+	0x7d, 0x48, 0x86, 0x22, 0xc9, 0x54, 0xbe, 0x8c, 0x59, 0x93, 0x79, 0x7e, 0xef, 0xd8, 0x5c, 0xe4,
+	0xca, 0x98, 0x35, 0x1b, 0x7f, 0x10, 0x41, 0x5a, 0x2e, 0xa6, 0xf1, 0x1d, 0x14, 0xf5, 0xb6, 0x8a,
+	0x14, 0xa8, 0x86, 0x51, 0x60, 0x2f, 0x48, 0xc2, 0xc1, 0x12, 0xce, 0x4d, 0x74, 0x1b, 0x2a, 0x67,
+	0xd4, 0xb7, 0x83, 0x88, 0x73, 0x48, 0x38, 0xb3, 0x1a, 0xbf, 0x83, 0xe2, 0x49, 0x3c, 0x45, 0x5f,
+	0x81, 0x94, 0x3a, 0xcc, 0x6c, 0x5e, 0x09, 0xd7, 0x52, 0x87, 0x6e, 0x33, 0x81, 0xcf, 0x68, 0xcc,
+	0x6c, 0x0d, 0x12, 0x96, 0x32, 0x4f, 0xda, 0x3d, 0x25, 0xb6, 0x69, 0xd3, 0x33, 0x87, 0x50, 0x2e,
+	0xa5, 0x12, 0x96, 0xa6, 0xc4, 0xee, 0x72, 0x07, 0x9b, 0x61, 0x4c, 0x9c, 0xff, 0x3f, 0xc3, 0x57,
+	0x20, 0xa5, 0xf0, 0xd5, 0x04, 0xb5, 0xd4, 0x91, 0x66, 0x80, 0x88, 0x9e, 0x39, 0xb1, 0x13, 0xf8,
+	0xac, 0x3b, 0x9d, 0x00, 0x72, 0x97, 0x6e, 0x37, 0xfe, 0x26, 0x42, 0x71, 0x12, 0x10, 0xa4, 0x42,
+	0x65, 0x66, 0x79, 0x8e, 0x7b, 0x91, 0xe5, 0xc7, 0x7b, 0xdb, 0x24, 0x83, 0xd6, 0x31, 0x87, 0xe0,
+	0x0c, 0x8a, 0x6e, 0x41, 0xd9, 0x0b, 0x6c, 0xea, 0x66, 0xcb, 0x48, 0x0d, 0xe6, 0x25, 0x41, 0x44,
+	0x63, 0x3e, 0x7b, 0x19, 0xa7, 0x46, 0x83, 0x40, 0x25, 0x45, 0x23, 0x0d, 0x4a, 0x56, 0x44, 0xe6,
+	0x7c, 0xe2, 0xbd, 0xf6, 0x83, 0xad, 0x26, 0xee, 0x44, 0x64, 0xee, 0x24, 0x94, 0xe7, 0x56, 0xcc,
+	0xe1, 0xcb, 0xf4, 0x2a, 0xae, 0xd2, 0x6b, 0x73, 0x02, 0xbb, 0xeb, 0x23, 0x51, 0x03, 0x6e, 0x77,
+	0xb0, 0xda, 0xd3, 0x0d, 0x4d, 0x35, 0x4e, 0xb0, 0x66, 0x9e, 0x0c, 0xbb, 0xda, 0xb1, 0x3e, 0xd4,
+	0xba, 0x72, 0x01, 0x55, 0xa1, 0xf8, 0xe6, 0xe9, 0x13, 0x59, 0x40, 0x00, 0x95, 0x37, 0x4f, 0x9f,
+	0x98, 0x4f, 0x1e, 0xc9, 0x22, 0x73, 0x76, 0xf0, 0x40, 0x2e, 0x22, 0x09, 0xca, 0x1d, 0x3c, 0x78,
+	0xf2, 0x48, 0x2e, 0x35, 0xfe, 0x2d, 0x42, 0x25, 0x4d, 0x66, 0x48, 0xe7, 0x77, 0x66, 0xe6, 0xb8,
+	0x34, 0xdb, 0xb6, 0xc3, 0x2d, 0xd3, 0x60, 0x6b, 0x9c, 0xc2, 0x70, 0x8e, 0xbf, 0x9a, 0xab, 0xc5,
+	0xab, 0xb9, 0xba, 0xf1, 0x47, 0x01, 0xaa, 0x19, 0x0a, 0x7d, 0x0f, 0xa5, 0xe4, 0x22, 0xa4, 0xd9,
+	0x96, 0x7d, 0xb3, 0xed, 0xa4, 0xc6, 0x45, 0x48, 0x31, 0x47, 0xb2, 0x5b, 0x13, 0x87, 0x94, 0xda,
+	0xa6, 0x37, 0x7f, 0x9f, 0x85, 0x46, 0x8d, 0x3b, 0x06, 0xf3, 0xf7, 0xe8, 0x0e, 0xec, 0xc5, 0xce,
+	0x7b, 0x6a, 0x7a, 0xf4, 0xd4, 0x9a, 0x5e, 0x24, 0xcb, 0xa3, 0xab, 0x33, 0xef, 0x20, 0x77, 0x36,
+	0x7f, 0x0b, 0x25, 0xc6, 0x88, 0x10, 0xec, 0x19, 0x6f, 0xc7, 0xd7, 0x76, 0xb3, 0xdb, 0xc5, 0xb2,
+	0x80, 0x6a, 0x50, 0xea, 0x76, 0x71, 0x5b, 0x16, 0xb3, 0xd6, 0x43, 0xb9, 0x98, 0xb5, 0x1e, 0xc9,
+	0x25, 0xb4, 0x03, 0xd5, 0xfe, 0xd8, 0xe4, 0xee, 0xf2, 0xca, 0x78, 0x24, 0x57, 0x9e, 0x97, 0x6a,
+	0x45, 0xb9, 0xd4, 0x30, 0x41, 0x5a, 0x66, 0x7c, 0xf4, 0x3d, 0x14, 0x17, 0xf1, 0x34, 0x2b, 0x15,
+	0x3e, 0x52, 0x6e, 0x30, 0x83, 0x3e, 0x2f, 0xd5, 0x04, 0x59, 0x7c, 0x5e, 0xaa, 0x89, 0x72, 0x31,
+	0x9b, 0xe0, 0xef, 0x45, 0xa8, 0xa4, 0xa5, 0x00, 0x93, 0xb4, 0x19, 0xb5, 0xd8, 0x3d, 0x89, 0x15,
+	0x61, 0xbf, 0x78, 0xb0, 0xb7, 0xc5, 0x69, 0xa6, 0xd0, 0xd6, 0x71, 0x8a, 0xc3, 0x4b, 0x02, 0x34,
+	0x06, 0x20, 0x6e, 0x40, 0x7e, 0x30, 0xf9, 0x39, 0x89, 0x5b, 0x5e, 0xed, 0x8c, 0x4e, 0x65, 0x48,
+	0x7e, 0x58, 0x12, 0xc9, 0x9b, 0xe8, 0x28, 0xfd, 0xfa, 0xe2, 0x27, 0x8a, 0x2d, 0x03, 0x33, 0x8e,
+	0x90, 0x38, 0x9f, 0xb0, 0x83, 0x63, 0xc2, 0xea, 0x13, 0x06, 0x6e, 0xde, 0x87, 0x6a, 0xf6, 0xb9,
+	0xe8, 0x33, 0xb8, 0x71, 0xac, 0x75, 0xb2, 0x48, 0x7a, 0x31, 0x1c, 0xbd, 0x1e, 0xca, 0x05, 0x24,
+	0xc3, 0x6e, 0x47, 0x35, 0xf4, 0x57, 0xba, 0xf1, 0xd6, 0xec, 0x6b, 0x5d, 0x59, 0x68, 0x1e, 0x81,
+	0xb4, 0xfc, 0x22, 0xa4, 0xc0, 0x2d, 0xb5, 0x3f, 0x52, 0x5f, 0x98, 0xd7, 0xae, 0x4c, 0x1d, 0xa4,
+	0xc1, 0x68, 0x38, 0x32, 0x46, 0x43, 0x5d, 0x95, 0x05, 0xb4, 0x0b, 0xb5, 0xa3, 0xd1, 0xc8, 0x30,
+	0xf4, 0x81, 0x26, 0x8b, 0x47, 0x3b, 0x20, 0x39, 0x4b, 0xc5, 0xfe, 0x8b, 0x08, 0xbb, 0xeb, 0x65,
+	0xca, 0x15, 0x95, 0x15, 0xae, 0xaa, 0xec, 0x1b, 0xde, 0x1d, 0xd2, 0x28, 0x71, 0x68, 0x9c, 0x55,
+	0xbb, 0x4f, 0x3f, 0xaa, 0x10, 0x62, 0xf1, 0x9a, 0xe1, 0xf1, 0x1a, 0x57, 0xe3, 0x4f, 0x02, 0xc0,
+	0xaa, 0x0b, 0x7d, 0x09, 0xb5, 0x73, 0xc7, 0x4e, 0xe6, 0x66, 0xf8, 0x2e, 0xcb, 0x40, 0x55, 0x6e,
+	0x8f, 0xdf, 0xb1, 0x80, 0x9b, 0x53, 0xe7, 0x74, 0x9e, 0xb0, 0xbe, 0x2c, 0xe0, 0x52, 0xc7, 0xf8,
+	0x1d, 0xfa, 0x16, 0x90, 0xed, 0x58, 0xa7, 0x81, 0x6f, 0xb9, 0xa6, 0xe7, 0xb8, 0xae, 0xe3, 0xf8,
+	0x64, 0x9e, 0x05, 0xdd, 0xcd, 0xbc, 0x67, 0x90, 0x77, 0xa0, 0x26, 0xd4, 0x43, 0xe7, 0x1d, 0x75,
+	0x63, 0x33, 0x64, 0x4f, 0x12, 0x9f, 0x1f, 0x68, 0x19, 0xef, 0xa4, 0xce, 0x31, 0x8d, 0x74, 0xbf,
+	0xf1, 0x4f, 0x11, 0xca, 0xbc, 0x2a, 0xdc, 0x22, 0x05, 0xcd, 0xce, 0xcd, 0x33, 0x1a, 0xb1, 0x8c,
+	0x90, 0xa7, 0xa0, 0xd9, 0xf9, 0xab, 0xd4, 0xc1, 0xb4, 0x20, 0x47, 0xc7, 0x34, 0x62, 0xfb, 0x57,
+	0xe6, 0x43, 0xea, 0x99, 0x77, 0xc2, 0x9d, 0x4c, 0xbe, 0x66, 0xe7, 0x26, 0x99, 0x53, 0xf2, 0x43,
+	0xbc, 0xf0, 0x78, 0xf5, 0x2c, 0x61, 0x98, 0x9d, 0xab, 0x99, 0x07, 0x75, 0x33, 0xc9, 0xaa, 0xf2,
+	0x50, 0xb8, 0xbf, 0x5d, 0x45, 0x9b, 0xfe, 0x5d, 0x93, 0xad, 0x4c, 0x02, 0x6a, 0x9f, 0x2c, 0x01,
+	0xcd, 0xef, 0x40, 0x5a, 0x92, 0xb2, 0xcb, 0x68, 0x8c, 0x4e, 0xd4, 0x9e, 0xf9, 0x21, 0xfd, 0x3a,
+	0x99, 0x1c, 0xc9, 0x02, 0x6b, 0xe8, 0x6d, 0x95, 0xab, 0x46, 0xaa, 0x1d, 0x25, 0xb9, 0xdc, 0xf8,
+	0x97, 0x08, 0x25, 0x56, 0xb3, 0xe7, 0x01, 0x25, 0xfc, 0x84, 0x80, 0x42, 0x2e, 0x28, 0xf1, 0x22,
+	0x0c, 0x83, 0x28, 0xa1, 0xb6, 0x79, 0xee, 0x5a, 0xbe, 0xc9, 0x1f, 0xaf, 0x24, 0x70, 0xd9, 0x5d,
+	0x65, 0x3a, 0xd4, 0xde, 0xea, 0x01, 0xd1, 0x7a, 0xdd, 0xef, 0x0c, 0xc7, 0x19, 0x14, 0xdf, 0x5e,
+	0x72, 0xbe, 0x76, 0x2d, 0x3f, 0x77, 0xc7, 0xcd, 0x1f, 0x05, 0xd8, 0x5d, 0x1f, 0x88, 0xbe, 0x84,
+	0xcf, 0x99, 0x6d, 0x8e, 0xf1, 0xc8, 0x18, 0xa9, 0xa3, 0xfe, 0x5a, 0x28, 0xdf, 0x84, 0xba, 0xae,
+	0x69, 0x9a, 0xf9, 0xf4, 0x7e, 0xdb, 0x7c, 0xf0, 0xc0, 0xec, 0xc8, 0xc2, 0x55, 0xd7, 0x91, 0x2c,
+	0x5e, 0x75, 0x3d, 0x93, 0x8b, 0x57, 0x5d, 0x43, 0xb9, 0xc4, 0x92, 0xc4, 0x25, 0x2e, 0x55, 0x2e,
+	0x5f, 0xf3, 0xbd, 0x91, 0x2b, 0x97, 0x03, 0xfd, 0x3f, 0x02, 0xd4, 0x5f, 0x2e, 0x2c, 0xd7, 0x99,
+	0x39, 0xc4, 0x4a, 0xd8, 0x75, 0xd4, 0x60, 0x77, 0xfd, 0xf7, 0x80, 0x8f, 0x78, 0xcd, 0xef, 0x90,
+	0x95, 0x81, 0x06, 0xac, 0xe2, 0xb4, 0x92, 0x45, 0x9c, 0x49, 0xf3, 0xe3, 0x8d, 0x3b, 0x7c, 0x69,
+	0x19, 0xad, 0x09, 0x07, 0xe3, 0x8c, 0xa4, 0x79, 0x02, 0x95, 0xd4, 0xc3, 0x3e, 0x69, 0x62, 0x74,
+	0x8c, 0x93, 0xc9, 0xda, 0x36, 0xd6, 0x41, 0xc2, 0xda, 0xcb, 0x13, 0x6d, 0x62, 0x30, 0x39, 0x64,
+	0x1b, 0x6e, 0x68, 0x6a, 0x6f, 0xa8, 0xab, 0x9d, 0x7e, 0xff, 0xad, 0xf9, 0xf2, 0xa4, 0xd3, 0xd7,
+	0x8f, 0x75, 0xad, 0x2b, 0x8b, 0x6c, 0xe4, 0xca, 0x2c, 0x36, 0xf6, 0x01, 0x56, 0x2f, 0xa7, 0x65,
+	0x81, 0x23, 0xac, 0x0a, 0x9c, 0xc6, 0x9f, 0x05, 0xa8, 0x66, 0x0f, 0xa2, 0x55, 0xf5, 0x25, 0xac,
+	0x57, 0x5f, 0x13, 0x80, 0x84, 0x92, 0xb9, 0x1f, 0xb8, 0xc1, 0xe9, 0x45, 0xf6, 0xb5, 0x0f, 0xb7,
+	0x7d, 0x64, 0xb5, 0x8c, 0x25, 0x14, 0xaf, 0xd1, 0x34, 0xef, 0x02, 0xac, 0x7a, 0x98, 0xe2, 0xb3,
+	0x0f, 0x5a, 0xfb, 0x62, 0x80, 0x4a, 0x5f, 0x37, 0xf5, 0xd1, 0x50, 0x16, 0x1a, 0xdf, 0x80, 0xb4,
+	0x7a, 0xfd, 0x5c, 0xa9, 0x72, 0x84, 0x6b, 0x55, 0xce, 0x63, 0x40, 0xd7, 0xdf, 0x3c, 0x9b, 0x61,
+	0xff, 0x10, 0xa1, 0x9a, 0xbd, 0x6f, 0xd0, 0x3e, 0xec, 0x52, 0xcf, 0x23, 0x8f, 0xcd, 0x54, 0xd6,
+	0xf2, 0xd1, 0xdc, 0x77, 0xcc, 0x74, 0x8d, 0x15, 0xf4, 0x9e, 0xe5, 0xcf, 0x96, 0x6a, 0x98, 0x59,
+	0xcb, 0x1d, 0x2e, 0xae, 0xfd, 0x42, 0x73, 0x0b, 0xca, 0x01, 0xf5, 0x1c, 0x9b, 0x6b, 0xac, 0x84,
+	0x53, 0x83, 0xbd, 0x29, 0xc2, 0xe8, 0x2c, 0x93, 0x42, 0xd6, 0x64, 0xcf, 0x87, 0x98, 0x92, 0x24,
+	0x88, 0xe2, 0x4c, 0xfc, 0x72, 0x13, 0xf5, 0x2e, 0x29, 0xdf, 0xa3, 0x6d, 0xdf, 0x69, 0xf9, 0xff,
+	0x35, 0xf5, 0xfb, 0x02, 0xaa, 0xbc, 0x2e, 0x3b, 0x4d, 0x15, 0xb0, 0x8e, 0x2b, 0xcc, 0x7c, 0x36,
+	0x6d, 0x6a, 0xb0, 0xb3, 0x36, 0x9a, 0xc9, 0xda, 0xc4, 0x18, 0xe1, 0xce, 0x33, 0x2d, 0x17, 0xb6,
+	0xfc, 0x60, 0x6a, 0x50, 0xd2, 0x06, 0x03, 0x35, 0xad, 0xcb, 0x86, 0xaf, 0x58, 0x6a, 0x65, 0xad,
+	0x49, 0xc7, 0xe8, 0xc8, 0xc5, 0x46, 0x1f, 0x8a, 0x46, 0xe8, 0xa1, 0x7b, 0x70, 0xf3, 0xf2, 0x6f,
+	0x5e, 0xfe, 0x2c, 0xc8, 0x76, 0x51, 0xbe, 0xf4, 0x9b, 0x96, 0x3f, 0x0b, 0xd8, 0x77, 0xe7, 0xb9,
+	0x23, 0xdd, 0xcc, 0xdc, 0x6c, 0xfc, 0x28, 0xb0, 0xa8, 0x60, 0xaf, 0xb3, 0xbc, 0x76, 0x11, 0x7e,
+	0x62, 0xed, 0xe2, 0xb4, 0xf3, 0xdf, 0xaa, 0x3e, 0x86, 0x43, 0x6f, 0xab, 0x8c, 0xc3, 0x69, 0x93,
+	0x4b, 0xe2, 0x72, 0x54, 0x49, 0xcf, 0xe5, 0xe8, 0xee, 0x6f, 0x0e, 0x4e, 0x83, 0x25, 0x5f, 0x2b,
+	0x88, 0x4e, 0x0f, 0xaf, 0xff, 0xbc, 0x78, 0x1a, 0x1c, 0x5a, 0xa1, 0x33, 0xad, 0x70, 0x69, 0x7e,
+	0xf8, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x8c, 0x70, 0xa4, 0x55, 0xe9, 0x14, 0x00, 0x00,
 }
diff --git a/payload_utils/join_config_payloads.py b/payload_utils/join_config_payloads.py
index ad20c80..8cb0581 100755
--- a/payload_utils/join_config_payloads.py
+++ b/payload_utils/join_config_payloads.py
@@ -486,6 +486,16 @@
       if values.get('vendor', '').upper() == 'ATA':
         comp.storage.type = comp.storage.SATA
 
+  def create_stylus_components(items):
+    for key, values in non_null_values(items):
+      comp = config_bundle.components.add()
+      comp.id.value = key
+      comp.name = values.get('name', '')
+
+      if 'product' in values and 'vendor' in values:
+        comp.stylus.i2c.product = values['product']
+        comp.stylus.i2c.vendor = values['vendor']
+
   def create_touchpad_components(items):
     for key, values in non_null_values(items):
       comp = config_bundle.components.add()
@@ -623,6 +633,7 @@
           'touchpad': create_touchpad_components,
           'tpm': create_tpm_components,
           'touchscreen': create_touchscreen_components,
+          'stylus': create_stylus_components,
           'usb_hosts': create_usb_host_components,
           'video': create_video_components,
           'wireless': create_wireless_components
diff --git a/proto/chromiumos/config/api/component.proto b/proto/chromiumos/config/api/component.proto
index 55c10b5..94adf04 100644
--- a/proto/chromiumos/config/api/component.proto
+++ b/proto/chromiumos/config/api/component.proto
@@ -11,7 +11,7 @@
 
 option go_package = "go.chromium.org/chromiumos/config/go/api";
 
-// next field: 23
+// next field: 24
 message Component {
   // Globally unique component identifier.
   ComponentId id = 1;
@@ -47,6 +47,7 @@
     Storage storage = 17;
     Tpm tpm = 18;
     Interface.Usb usb_host = 19;
+    Stylus stylus = 23;
   }
 
   /////////////////////////////////////
@@ -61,6 +62,11 @@
 
   // Defines common component version identifiers based on interface standards.
   message Interface {
+    message I2C {
+        string product = 1;
+        string vendor = 2;
+    }
+
     message Usb {
       // 4-digit hex
       string vendor_id = 1;
@@ -266,4 +272,11 @@
     string manufacturer_info = 1;
     string version = 2;
   }
+
+  message Stylus {
+    oneof interface {
+        Interface.Usb usb = 1;
+        Interface.I2C i2c = 2;
+    }
+  }
 }
diff --git a/python/chromiumos/config/api/component_pb2.py b/python/chromiumos/config/api/component_pb2.py
index 95a8ebd..ba0d193 100644
--- a/python/chromiumos/config/api/component_pb2.py
+++ b/python/chromiumos/config/api/component_pb2.py
@@ -21,7 +21,7 @@
   package='chromiumos.config.api',
   syntax='proto3',
   serialized_options=_b('Z(go.chromium.org/chromiumos/config/go/api'),
-  serialized_pb=_b('\n%chromiumos/config/api/component.proto\x12\x15\x63hromiumos.config.api\x1a(chromiumos/config/api/component_id.proto\x1a&chromiumos/config/api/partner_id.proto\"\xae \n\tComponent\x12.\n\x02id\x18\x01 \x01(\x0b\x32\".chromiumos.config.api.ComponentId\x12\x39\n\x0fmanufacturer_id\x18\x08 \x01(\x0b\x32 .chromiumos.config.api.PartnerId\x12\x0c\n\x04name\x18\t \x01(\t\x12\x12\n\nhwid_label\x18\x14 \x01(\t\x12\x36\n\x06\x61vl_id\x18\x15 \x01(\x0b\x32&.chromiumos.config.api.Component.AVLId\x12\x13\n\x0bpart_number\x18\x16 \x01(\t\x12\x33\n\x03soc\x18\x02 \x01(\x0b\x32$.chromiumos.config.api.Component.SocH\x00\x12\x39\n\x06memory\x18\x03 \x01(\x0b\x32\'.chromiumos.config.api.Component.MemoryH\x00\x12?\n\tbluetooth\x18\x04 \x01(\x0b\x32*.chromiumos.config.api.Component.BluetoothH\x00\x12\x39\n\x06\x63\x61mera\x18\x05 \x01(\x0b\x32\'.chromiumos.config.api.Component.CameraH\x00\x12=\n\x0btouchscreen\x18\x06 \x01(\x0b\x32&.chromiumos.config.api.Component.TouchH\x00\x12\x35\n\x04wifi\x18\x07 \x01(\x0b\x32%.chromiumos.config.api.Component.WifiH\x00\x12:\n\x08touchpad\x18\n \x01(\x0b\x32&.chromiumos.config.api.Component.TouchH\x00\x12\x46\n\rdisplay_panel\x18\x0b \x01(\x0b\x32-.chromiumos.config.api.Component.DisplayPanelH\x00\x12\x42\n\x0b\x61udio_codec\x18\x0c \x01(\x0b\x32+.chromiumos.config.api.Component.AudioCodecH\x00\x12;\n\x07\x62\x61ttery\x18\r \x01(\x0b\x32(.chromiumos.config.api.Component.BatteryH\x00\x12\x43\n\rec_flash_chip\x18\x0e \x01(\x0b\x32*.chromiumos.config.api.Component.FlashChipH\x00\x12G\n\x11system_flash_chip\x18\x0f \x01(\x0b\x32*.chromiumos.config.api.Component.FlashChipH\x00\x12\x41\n\x02\x65\x63\x18\x10 \x01(\x0b\x32\x33.chromiumos.config.api.Component.EmbeddedControllerH\x00\x12;\n\x07storage\x18\x11 \x01(\x0b\x32(.chromiumos.config.api.Component.StorageH\x00\x12\x33\n\x03tpm\x18\x12 \x01(\x0b\x32$.chromiumos.config.api.Component.TpmH\x00\x12\x42\n\x08usb_host\x18\x13 \x01(\x0b\x32..chromiumos.config.api.Component.Interface.UsbH\x00\x1a!\n\x05\x41VLId\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0b\n\x03qid\x18\x02 \x01(\x05\x1a\x8f\x01\n\tInterface\x1a@\n\x03Usb\x12\x11\n\tvendor_id\x18\x01 \x01(\t\x12\x12\n\nproduct_id\x18\x02 \x01(\t\x12\x12\n\nbcd_device\x18\x03 \x01(\t\x1a@\n\x03Pci\x12\x11\n\tvendor_id\x18\x01 \x01(\t\x12\x11\n\tdevice_id\x18\x02 \x01(\t\x12\x13\n\x0brevision_id\x18\x03 \x01(\t\x1a\x8e\x02\n\x03Soc\x12;\n\x06\x66\x61mily\x18\x01 \x01(\x0b\x32+.chromiumos.config.api.Component.Soc.Family\x12\r\n\x05model\x18\x02 \x01(\t\x12\r\n\x05\x63ores\x18\x03 \x01(\x05\x1aW\n\x06\x46\x61mily\x12?\n\x04\x61rch\x18\x01 \x01(\x0e\x32\x31.chromiumos.config.api.Component.Soc.Architecture\x12\x0c\n\x04name\x18\x02 \x01(\t\"S\n\x0c\x41rchitecture\x12\x1a\n\x16\x41RCHITECTURE_UNDEFINED\x10\x00\x12\x07\n\x03X86\x10\x01\x12\n\n\x06X86_64\x10\x02\x12\x07\n\x03\x41RM\x10\x03\x12\t\n\x05\x41RM64\x10\x04\x1a\xb4\x02\n\x06Memory\x12@\n\x07profile\x18\x01 \x01(\x0b\x32/.chromiumos.config.api.Component.Memory.Profile\x12\x13\n\x0bpart_number\x18\x02 \x01(\t\x1ap\n\x07Profile\x12:\n\x04type\x18\x01 \x01(\x0e\x32,.chromiumos.config.api.Component.Memory.Type\x12\x11\n\tspeed_mhz\x18\x02 \x01(\x05\x12\x16\n\x0esize_megabytes\x18\x03 \x01(\x05\"[\n\x04Type\x12\x12\n\x0eTYPE_UNDEFINED\x10\x00\x12\x07\n\x03\x44\x44R\x10\x01\x12\x08\n\x04\x44\x44R2\x10\x02\x12\x08\n\x04\x44\x44R3\x10\x03\x12\x08\n\x04\x44\x44R4\x10\x04\x12\x0b\n\x07LP_DDR3\x10\x05\x12\x0b\n\x07LP_DDR4\x10\x06J\x04\x08\x03\x10\x04\x1aZ\n\tBluetooth\x12;\n\x03usb\x18\x04 \x01(\x0b\x32..chromiumos.config.api.Component.Interface.UsbJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04\x1a\x93\x03\n\x06\x43\x61mera\x12\x41\n\x08\x66\x65\x61tures\x18\x01 \x03(\x0e\x32/.chromiumos.config.api.Component.Camera.Feature\x12\x45\n\nclock_type\x18\x02 \x01(\x0e\x32\x31.chromiumos.config.api.Component.Camera.ClockType\x12=\n\x03usb\x18\x03 \x01(\x0b\x32..chromiumos.config.api.Component.Interface.UsbH\x00\x12=\n\x03pci\x18\x04 \x01(\x0b\x32..chromiumos.config.api.Component.Interface.PciH\x00\"0\n\x07\x46\x65\x61ture\x12\x13\n\x0f\x46\x45\x41TURE_UNKNOWN\x10\x00\x12\x10\n\x0c\x41\x43TIVITY_LED\x10\x01\"B\n\tClockType\x12\x18\n\x14\x43LOCK_TYPE_UNDEFINED\x10\x00\x12\r\n\tMONOTONIC\x10\x01\x12\x0c\n\x08\x42OOTTIME\x10\x02\x42\x0b\n\tinterface\x1a\xd6\x01\n\x0c\x44isplayPanel\x12\x12\n\nproduct_id\x18\x01 \x01(\t\x12L\n\nproperties\x18\x02 \x01(\x0b\x32\x38.chromiumos.config.api.Component.DisplayPanel.Properties\x1a\x64\n\nProperties\x12\x10\n\x08width_px\x18\x01 \x01(\x05\x12\x11\n\theight_px\x18\x02 \x01(\x05\x12\x1a\n\x12\x64iagonal_milliinch\x18\x03 \x01(\x05\x12\x15\n\rpixels_per_in\x18\x04 \x01(\x05\x1a\x9e\x02\n\x05Touch\x12\x12\n\nproduct_id\x18\x02 \x01(\t\x12\x12\n\nfw_version\x18\x03 \x01(\t\x12\x16\n\x0eproduct_series\x18\x05 \x01(\t\x12\x13\n\x0b\x66w_checksum\x18\x06 \x01(\t\x12>\n\x04type\x18\x07 \x01(\x0e\x32\x30.chromiumos.config.api.Component.Touch.TouchType\x12;\n\x03usb\x18\x08 \x01(\x0b\x32..chromiumos.config.api.Component.Interface.Usb\"7\n\tTouchType\x12\x18\n\x14TOUCH_TYPE_UNDEFINED\x10\x00\x12\x07\n\x03USB\x10\x01\x12\x07\n\x03I2C\x10\x02J\x04\x08\x01\x10\x02J\x04\x08\x04\x10\x05\x1a\xc8\x02\n\x04Wifi\x12=\n\x03pci\x18\x01 \x01(\x0b\x32..chromiumos.config.api.Component.Interface.PciH\x00\x12T\n\x18supported_wlan_protocols\x18\x02 \x03(\x0e\x32\x32.chromiumos.config.api.Component.Wifi.WLANProtocol\"\x9d\x01\n\x0cWLANProtocol\x12\x19\n\x15WLAN_PROTOCOL_UNKNOWN\x10\x00\x12\x11\n\rIEEE_802_11_A\x10\x01\x12\x11\n\rIEEE_802_11_B\x10\x02\x12\x11\n\rIEEE_802_11_G\x10\x03\x12\x11\n\rIEEE_802_11_N\x10\x04\x12\x12\n\x0eIEEE_802_11_AC\x10\x05\x12\x12\n\x0eIEEE_802_11_AX\x10\x06\x42\x0b\n\tinterface\x1a\xe7\x01\n\rQualification\x12\x38\n\x0c\x63omponent_id\x18\x01 \x01(\x0b\x32\".chromiumos.config.api.ComponentId\x12\x45\n\x06status\x18\x02 \x01(\x0e\x32\x35.chromiumos.config.api.Component.Qualification.Status\"U\n\x06Status\x12\x12\n\x0eSTATUS_UNKNOWN\x10\x00\x12\r\n\tREQUESTED\x10\x01\x12\x19\n\x15TECHNICALLY_QUALIFIED\x10\x02\x12\r\n\tQUALIFIED\x10\x03\x1a\x1a\n\nAudioCodec\x12\x0c\n\x04name\x18\x01 \x01(\t\x1a\x8d\x01\n\x07\x42\x61ttery\x12\r\n\x05model\x18\x01 \x01(\t\x12G\n\ntechnology\x18\x02 \x01(\x0e\x32\x33.chromiumos.config.api.Component.Battery.Technology\"*\n\nTechnology\x12\x10\n\x0cTECH_UNKNOWN\x10\x00\x12\n\n\x06LI_ION\x10\x01\x1a \n\tFlashChip\x12\x13\n\x0bpart_number\x18\x01 \x01(\t\x1a)\n\x12\x45mbeddedController\x12\x13\n\x0bpart_number\x18\x01 \x01(\t\x1a\x86\x02\n\x07Storage\x12\x14\n\x0c\x65mmc5_fw_ver\x18\x01 \x01(\t\x12\x0e\n\x06manfid\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\r\n\x05oemid\x18\x04 \x01(\t\x12\x0b\n\x03prv\x18\x05 \x01(\t\x12\x0f\n\x07sectors\x18\x06 \x01(\t\x12\x42\n\x04type\x18\x07 \x01(\x0e\x32\x34.chromiumos.config.api.Component.Storage.StorageType\x12\x0f\n\x07size_gb\x18\x08 \x01(\r\"E\n\x0bStorageType\x12\x18\n\x14STORAGE_TYPE_UNKNOWN\x10\x00\x12\x08\n\x04\x45MMC\x10\x01\x12\x08\n\x04NVME\x10\x02\x12\x08\n\x04SATA\x10\x03\x1a\x31\n\x03Tpm\x12\x19\n\x11manufacturer_info\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\tB\x06\n\x04typeB*Z(go.chromium.org/chromiumos/config/go/apib\x06proto3')
+  serialized_pb=_b('\n%chromiumos/config/api/component.proto\x12\x15\x63hromiumos.config.api\x1a(chromiumos/config/api/component_id.proto\x1a&chromiumos/config/api/partner_id.proto\"\xa7\"\n\tComponent\x12.\n\x02id\x18\x01 \x01(\x0b\x32\".chromiumos.config.api.ComponentId\x12\x39\n\x0fmanufacturer_id\x18\x08 \x01(\x0b\x32 .chromiumos.config.api.PartnerId\x12\x0c\n\x04name\x18\t \x01(\t\x12\x12\n\nhwid_label\x18\x14 \x01(\t\x12\x36\n\x06\x61vl_id\x18\x15 \x01(\x0b\x32&.chromiumos.config.api.Component.AVLId\x12\x13\n\x0bpart_number\x18\x16 \x01(\t\x12\x33\n\x03soc\x18\x02 \x01(\x0b\x32$.chromiumos.config.api.Component.SocH\x00\x12\x39\n\x06memory\x18\x03 \x01(\x0b\x32\'.chromiumos.config.api.Component.MemoryH\x00\x12?\n\tbluetooth\x18\x04 \x01(\x0b\x32*.chromiumos.config.api.Component.BluetoothH\x00\x12\x39\n\x06\x63\x61mera\x18\x05 \x01(\x0b\x32\'.chromiumos.config.api.Component.CameraH\x00\x12=\n\x0btouchscreen\x18\x06 \x01(\x0b\x32&.chromiumos.config.api.Component.TouchH\x00\x12\x35\n\x04wifi\x18\x07 \x01(\x0b\x32%.chromiumos.config.api.Component.WifiH\x00\x12:\n\x08touchpad\x18\n \x01(\x0b\x32&.chromiumos.config.api.Component.TouchH\x00\x12\x46\n\rdisplay_panel\x18\x0b \x01(\x0b\x32-.chromiumos.config.api.Component.DisplayPanelH\x00\x12\x42\n\x0b\x61udio_codec\x18\x0c \x01(\x0b\x32+.chromiumos.config.api.Component.AudioCodecH\x00\x12;\n\x07\x62\x61ttery\x18\r \x01(\x0b\x32(.chromiumos.config.api.Component.BatteryH\x00\x12\x43\n\rec_flash_chip\x18\x0e \x01(\x0b\x32*.chromiumos.config.api.Component.FlashChipH\x00\x12G\n\x11system_flash_chip\x18\x0f \x01(\x0b\x32*.chromiumos.config.api.Component.FlashChipH\x00\x12\x41\n\x02\x65\x63\x18\x10 \x01(\x0b\x32\x33.chromiumos.config.api.Component.EmbeddedControllerH\x00\x12;\n\x07storage\x18\x11 \x01(\x0b\x32(.chromiumos.config.api.Component.StorageH\x00\x12\x33\n\x03tpm\x18\x12 \x01(\x0b\x32$.chromiumos.config.api.Component.TpmH\x00\x12\x42\n\x08usb_host\x18\x13 \x01(\x0b\x32..chromiumos.config.api.Component.Interface.UsbH\x00\x12\x39\n\x06stylus\x18\x17 \x01(\x0b\x32\'.chromiumos.config.api.Component.StylusH\x00\x1a!\n\x05\x41VLId\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0b\n\x03qid\x18\x02 \x01(\x05\x1a\xb7\x01\n\tInterface\x1a&\n\x03I2C\x12\x0f\n\x07product\x18\x01 \x01(\t\x12\x0e\n\x06vendor\x18\x02 \x01(\t\x1a@\n\x03Usb\x12\x11\n\tvendor_id\x18\x01 \x01(\t\x12\x12\n\nproduct_id\x18\x02 \x01(\t\x12\x12\n\nbcd_device\x18\x03 \x01(\t\x1a@\n\x03Pci\x12\x11\n\tvendor_id\x18\x01 \x01(\t\x12\x11\n\tdevice_id\x18\x02 \x01(\t\x12\x13\n\x0brevision_id\x18\x03 \x01(\t\x1a\x8e\x02\n\x03Soc\x12;\n\x06\x66\x61mily\x18\x01 \x01(\x0b\x32+.chromiumos.config.api.Component.Soc.Family\x12\r\n\x05model\x18\x02 \x01(\t\x12\r\n\x05\x63ores\x18\x03 \x01(\x05\x1aW\n\x06\x46\x61mily\x12?\n\x04\x61rch\x18\x01 \x01(\x0e\x32\x31.chromiumos.config.api.Component.Soc.Architecture\x12\x0c\n\x04name\x18\x02 \x01(\t\"S\n\x0c\x41rchitecture\x12\x1a\n\x16\x41RCHITECTURE_UNDEFINED\x10\x00\x12\x07\n\x03X86\x10\x01\x12\n\n\x06X86_64\x10\x02\x12\x07\n\x03\x41RM\x10\x03\x12\t\n\x05\x41RM64\x10\x04\x1a\xb4\x02\n\x06Memory\x12@\n\x07profile\x18\x01 \x01(\x0b\x32/.chromiumos.config.api.Component.Memory.Profile\x12\x13\n\x0bpart_number\x18\x02 \x01(\t\x1ap\n\x07Profile\x12:\n\x04type\x18\x01 \x01(\x0e\x32,.chromiumos.config.api.Component.Memory.Type\x12\x11\n\tspeed_mhz\x18\x02 \x01(\x05\x12\x16\n\x0esize_megabytes\x18\x03 \x01(\x05\"[\n\x04Type\x12\x12\n\x0eTYPE_UNDEFINED\x10\x00\x12\x07\n\x03\x44\x44R\x10\x01\x12\x08\n\x04\x44\x44R2\x10\x02\x12\x08\n\x04\x44\x44R3\x10\x03\x12\x08\n\x04\x44\x44R4\x10\x04\x12\x0b\n\x07LP_DDR3\x10\x05\x12\x0b\n\x07LP_DDR4\x10\x06J\x04\x08\x03\x10\x04\x1aZ\n\tBluetooth\x12;\n\x03usb\x18\x04 \x01(\x0b\x32..chromiumos.config.api.Component.Interface.UsbJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04\x1a\x93\x03\n\x06\x43\x61mera\x12\x41\n\x08\x66\x65\x61tures\x18\x01 \x03(\x0e\x32/.chromiumos.config.api.Component.Camera.Feature\x12\x45\n\nclock_type\x18\x02 \x01(\x0e\x32\x31.chromiumos.config.api.Component.Camera.ClockType\x12=\n\x03usb\x18\x03 \x01(\x0b\x32..chromiumos.config.api.Component.Interface.UsbH\x00\x12=\n\x03pci\x18\x04 \x01(\x0b\x32..chromiumos.config.api.Component.Interface.PciH\x00\"0\n\x07\x46\x65\x61ture\x12\x13\n\x0f\x46\x45\x41TURE_UNKNOWN\x10\x00\x12\x10\n\x0c\x41\x43TIVITY_LED\x10\x01\"B\n\tClockType\x12\x18\n\x14\x43LOCK_TYPE_UNDEFINED\x10\x00\x12\r\n\tMONOTONIC\x10\x01\x12\x0c\n\x08\x42OOTTIME\x10\x02\x42\x0b\n\tinterface\x1a\xd6\x01\n\x0c\x44isplayPanel\x12\x12\n\nproduct_id\x18\x01 \x01(\t\x12L\n\nproperties\x18\x02 \x01(\x0b\x32\x38.chromiumos.config.api.Component.DisplayPanel.Properties\x1a\x64\n\nProperties\x12\x10\n\x08width_px\x18\x01 \x01(\x05\x12\x11\n\theight_px\x18\x02 \x01(\x05\x12\x1a\n\x12\x64iagonal_milliinch\x18\x03 \x01(\x05\x12\x15\n\rpixels_per_in\x18\x04 \x01(\x05\x1a\x9e\x02\n\x05Touch\x12\x12\n\nproduct_id\x18\x02 \x01(\t\x12\x12\n\nfw_version\x18\x03 \x01(\t\x12\x16\n\x0eproduct_series\x18\x05 \x01(\t\x12\x13\n\x0b\x66w_checksum\x18\x06 \x01(\t\x12>\n\x04type\x18\x07 \x01(\x0e\x32\x30.chromiumos.config.api.Component.Touch.TouchType\x12;\n\x03usb\x18\x08 \x01(\x0b\x32..chromiumos.config.api.Component.Interface.Usb\"7\n\tTouchType\x12\x18\n\x14TOUCH_TYPE_UNDEFINED\x10\x00\x12\x07\n\x03USB\x10\x01\x12\x07\n\x03I2C\x10\x02J\x04\x08\x01\x10\x02J\x04\x08\x04\x10\x05\x1a\xc8\x02\n\x04Wifi\x12=\n\x03pci\x18\x01 \x01(\x0b\x32..chromiumos.config.api.Component.Interface.PciH\x00\x12T\n\x18supported_wlan_protocols\x18\x02 \x03(\x0e\x32\x32.chromiumos.config.api.Component.Wifi.WLANProtocol\"\x9d\x01\n\x0cWLANProtocol\x12\x19\n\x15WLAN_PROTOCOL_UNKNOWN\x10\x00\x12\x11\n\rIEEE_802_11_A\x10\x01\x12\x11\n\rIEEE_802_11_B\x10\x02\x12\x11\n\rIEEE_802_11_G\x10\x03\x12\x11\n\rIEEE_802_11_N\x10\x04\x12\x12\n\x0eIEEE_802_11_AC\x10\x05\x12\x12\n\x0eIEEE_802_11_AX\x10\x06\x42\x0b\n\tinterface\x1a\xe7\x01\n\rQualification\x12\x38\n\x0c\x63omponent_id\x18\x01 \x01(\x0b\x32\".chromiumos.config.api.ComponentId\x12\x45\n\x06status\x18\x02 \x01(\x0e\x32\x35.chromiumos.config.api.Component.Qualification.Status\"U\n\x06Status\x12\x12\n\x0eSTATUS_UNKNOWN\x10\x00\x12\r\n\tREQUESTED\x10\x01\x12\x19\n\x15TECHNICALLY_QUALIFIED\x10\x02\x12\r\n\tQUALIFIED\x10\x03\x1a\x1a\n\nAudioCodec\x12\x0c\n\x04name\x18\x01 \x01(\t\x1a\x8d\x01\n\x07\x42\x61ttery\x12\r\n\x05model\x18\x01 \x01(\t\x12G\n\ntechnology\x18\x02 \x01(\x0e\x32\x33.chromiumos.config.api.Component.Battery.Technology\"*\n\nTechnology\x12\x10\n\x0cTECH_UNKNOWN\x10\x00\x12\n\n\x06LI_ION\x10\x01\x1a \n\tFlashChip\x12\x13\n\x0bpart_number\x18\x01 \x01(\t\x1a)\n\x12\x45mbeddedController\x12\x13\n\x0bpart_number\x18\x01 \x01(\t\x1a\x86\x02\n\x07Storage\x12\x14\n\x0c\x65mmc5_fw_ver\x18\x01 \x01(\t\x12\x0e\n\x06manfid\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\r\n\x05oemid\x18\x04 \x01(\t\x12\x0b\n\x03prv\x18\x05 \x01(\t\x12\x0f\n\x07sectors\x18\x06 \x01(\t\x12\x42\n\x04type\x18\x07 \x01(\x0e\x32\x34.chromiumos.config.api.Component.Storage.StorageType\x12\x0f\n\x07size_gb\x18\x08 \x01(\r\"E\n\x0bStorageType\x12\x18\n\x14STORAGE_TYPE_UNKNOWN\x10\x00\x12\x08\n\x04\x45MMC\x10\x01\x12\x08\n\x04NVME\x10\x02\x12\x08\n\x04SATA\x10\x03\x1a\x31\n\x03Tpm\x12\x19\n\x11manufacturer_info\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x1a\x93\x01\n\x06Stylus\x12=\n\x03usb\x18\x01 \x01(\x0b\x32..chromiumos.config.api.Component.Interface.UsbH\x00\x12=\n\x03i2c\x18\x02 \x01(\x0b\x32..chromiumos.config.api.Component.Interface.I2CH\x00\x42\x0b\n\tinterfaceB\x06\n\x04typeB*Z(go.chromium.org/chromiumos/config/go/apib\x06proto3')
   ,
   dependencies=[chromiumos_dot_config_dot_api_dot_component__id__pb2.DESCRIPTOR,chromiumos_dot_config_dot_api_dot_partner__id__pb2.DESCRIPTOR,])
 
@@ -56,8 +56,8 @@
   ],
   containing_type=None,
   serialized_options=None,
-  serialized_start=1753,
-  serialized_end=1836,
+  serialized_start=1852,
+  serialized_end=1935,
 )
 _sym_db.RegisterEnumDescriptor(_COMPONENT_SOC_ARCHITECTURE)
 
@@ -98,8 +98,8 @@
   ],
   containing_type=None,
   serialized_options=None,
-  serialized_start=2050,
-  serialized_end=2141,
+  serialized_start=2149,
+  serialized_end=2240,
 )
 _sym_db.RegisterEnumDescriptor(_COMPONENT_MEMORY_TYPE)
 
@@ -120,8 +120,8 @@
   ],
   containing_type=None,
   serialized_options=None,
-  serialized_start=2516,
-  serialized_end=2564,
+  serialized_start=2615,
+  serialized_end=2663,
 )
 _sym_db.RegisterEnumDescriptor(_COMPONENT_CAMERA_FEATURE)
 
@@ -146,8 +146,8 @@
   ],
   containing_type=None,
   serialized_options=None,
-  serialized_start=2566,
-  serialized_end=2632,
+  serialized_start=2665,
+  serialized_end=2731,
 )
 _sym_db.RegisterEnumDescriptor(_COMPONENT_CAMERA_CLOCKTYPE)
 
@@ -172,8 +172,8 @@
   ],
   containing_type=None,
   serialized_options=None,
-  serialized_start=3084,
-  serialized_end=3139,
+  serialized_start=3183,
+  serialized_end=3238,
 )
 _sym_db.RegisterEnumDescriptor(_COMPONENT_TOUCH_TOUCHTYPE)
 
@@ -214,8 +214,8 @@
   ],
   containing_type=None,
   serialized_options=None,
-  serialized_start=3312,
-  serialized_end=3469,
+  serialized_start=3411,
+  serialized_end=3568,
 )
 _sym_db.RegisterEnumDescriptor(_COMPONENT_WIFI_WLANPROTOCOL)
 
@@ -244,8 +244,8 @@
   ],
   containing_type=None,
   serialized_options=None,
-  serialized_start=3631,
-  serialized_end=3716,
+  serialized_start=3730,
+  serialized_end=3815,
 )
 _sym_db.RegisterEnumDescriptor(_COMPONENT_QUALIFICATION_STATUS)
 
@@ -266,8 +266,8 @@
   ],
   containing_type=None,
   serialized_options=None,
-  serialized_start=3846,
-  serialized_end=3888,
+  serialized_start=3945,
+  serialized_end=3987,
 )
 _sym_db.RegisterEnumDescriptor(_COMPONENT_BATTERY_TECHNOLOGY)
 
@@ -296,8 +296,8 @@
   ],
   containing_type=None,
   serialized_options=None,
-  serialized_start=4161,
-  serialized_end=4230,
+  serialized_start=4260,
+  serialized_end=4329,
 )
 _sym_db.RegisterEnumDescriptor(_COMPONENT_STORAGE_STORAGETYPE)
 
@@ -335,8 +335,45 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=1384,
-  serialized_end=1417,
+  serialized_start=1443,
+  serialized_end=1476,
+)
+
+_COMPONENT_INTERFACE_I2C = _descriptor.Descriptor(
+  name='I2C',
+  full_name='chromiumos.config.api.Component.Interface.I2C',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='product', full_name='chromiumos.config.api.Component.Interface.I2C.product', index=0,
+      number=1, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='vendor', full_name='chromiumos.config.api.Component.Interface.I2C.vendor', index=1,
+      number=2, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=1492,
+  serialized_end=1530,
 )
 
 _COMPONENT_INTERFACE_USB = _descriptor.Descriptor(
@@ -379,8 +416,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=1433,
-  serialized_end=1497,
+  serialized_start=1532,
+  serialized_end=1596,
 )
 
 _COMPONENT_INTERFACE_PCI = _descriptor.Descriptor(
@@ -423,8 +460,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=1499,
-  serialized_end=1563,
+  serialized_start=1598,
+  serialized_end=1662,
 )
 
 _COMPONENT_INTERFACE = _descriptor.Descriptor(
@@ -437,7 +474,7 @@
   ],
   extensions=[
   ],
-  nested_types=[_COMPONENT_INTERFACE_USB, _COMPONENT_INTERFACE_PCI, ],
+  nested_types=[_COMPONENT_INTERFACE_I2C, _COMPONENT_INTERFACE_USB, _COMPONENT_INTERFACE_PCI, ],
   enum_types=[
   ],
   serialized_options=None,
@@ -446,8 +483,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=1420,
-  serialized_end=1563,
+  serialized_start=1479,
+  serialized_end=1662,
 )
 
 _COMPONENT_SOC_FAMILY = _descriptor.Descriptor(
@@ -483,8 +520,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=1664,
-  serialized_end=1751,
+  serialized_start=1763,
+  serialized_end=1850,
 )
 
 _COMPONENT_SOC = _descriptor.Descriptor(
@@ -528,8 +565,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=1566,
-  serialized_end=1836,
+  serialized_start=1665,
+  serialized_end=1935,
 )
 
 _COMPONENT_MEMORY_PROFILE = _descriptor.Descriptor(
@@ -572,8 +609,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=1936,
-  serialized_end=2048,
+  serialized_start=2035,
+  serialized_end=2147,
 )
 
 _COMPONENT_MEMORY = _descriptor.Descriptor(
@@ -610,8 +647,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=1839,
-  serialized_end=2147,
+  serialized_start=1938,
+  serialized_end=2246,
 )
 
 _COMPONENT_BLUETOOTH = _descriptor.Descriptor(
@@ -640,8 +677,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=2149,
-  serialized_end=2239,
+  serialized_start=2248,
+  serialized_end=2338,
 )
 
 _COMPONENT_CAMERA = _descriptor.Descriptor(
@@ -696,8 +733,8 @@
       name='interface', full_name='chromiumos.config.api.Component.Camera.interface',
       index=0, containing_type=None, fields=[]),
   ],
-  serialized_start=2242,
-  serialized_end=2645,
+  serialized_start=2341,
+  serialized_end=2744,
 )
 
 _COMPONENT_DISPLAYPANEL_PROPERTIES = _descriptor.Descriptor(
@@ -747,8 +784,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=2762,
-  serialized_end=2862,
+  serialized_start=2861,
+  serialized_end=2961,
 )
 
 _COMPONENT_DISPLAYPANEL = _descriptor.Descriptor(
@@ -784,8 +821,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=2648,
-  serialized_end=2862,
+  serialized_start=2747,
+  serialized_end=2961,
 )
 
 _COMPONENT_TOUCH = _descriptor.Descriptor(
@@ -850,8 +887,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=2865,
-  serialized_end=3151,
+  serialized_start=2964,
+  serialized_end=3250,
 )
 
 _COMPONENT_WIFI = _descriptor.Descriptor(
@@ -891,8 +928,8 @@
       name='interface', full_name='chromiumos.config.api.Component.Wifi.interface',
       index=0, containing_type=None, fields=[]),
   ],
-  serialized_start=3154,
-  serialized_end=3482,
+  serialized_start=3253,
+  serialized_end=3581,
 )
 
 _COMPONENT_QUALIFICATION = _descriptor.Descriptor(
@@ -929,8 +966,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=3485,
-  serialized_end=3716,
+  serialized_start=3584,
+  serialized_end=3815,
 )
 
 _COMPONENT_AUDIOCODEC = _descriptor.Descriptor(
@@ -959,8 +996,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=3718,
-  serialized_end=3744,
+  serialized_start=3817,
+  serialized_end=3843,
 )
 
 _COMPONENT_BATTERY = _descriptor.Descriptor(
@@ -997,8 +1034,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=3747,
-  serialized_end=3888,
+  serialized_start=3846,
+  serialized_end=3987,
 )
 
 _COMPONENT_FLASHCHIP = _descriptor.Descriptor(
@@ -1027,8 +1064,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=3890,
-  serialized_end=3922,
+  serialized_start=3989,
+  serialized_end=4021,
 )
 
 _COMPONENT_EMBEDDEDCONTROLLER = _descriptor.Descriptor(
@@ -1057,8 +1094,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=3924,
-  serialized_end=3965,
+  serialized_start=4023,
+  serialized_end=4064,
 )
 
 _COMPONENT_STORAGE = _descriptor.Descriptor(
@@ -1137,8 +1174,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=3968,
-  serialized_end=4230,
+  serialized_start=4067,
+  serialized_end=4329,
 )
 
 _COMPONENT_TPM = _descriptor.Descriptor(
@@ -1174,8 +1211,48 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=4232,
-  serialized_end=4281,
+  serialized_start=4331,
+  serialized_end=4380,
+)
+
+_COMPONENT_STYLUS = _descriptor.Descriptor(
+  name='Stylus',
+  full_name='chromiumos.config.api.Component.Stylus',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='usb', full_name='chromiumos.config.api.Component.Stylus.usb', index=0,
+      number=1, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='i2c', full_name='chromiumos.config.api.Component.Stylus.i2c', index=1,
+      number=2, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+    _descriptor.OneofDescriptor(
+      name='interface', full_name='chromiumos.config.api.Component.Stylus.interface',
+      index=0, containing_type=None, fields=[]),
+  ],
+  serialized_start=4383,
+  serialized_end=4530,
 )
 
 _COMPONENT = _descriptor.Descriptor(
@@ -1339,10 +1416,17 @@
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
       serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='stylus', full_name='chromiumos.config.api.Component.stylus', index=22,
+      number=23, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
   ],
   extensions=[
   ],
-  nested_types=[_COMPONENT_AVLID, _COMPONENT_INTERFACE, _COMPONENT_SOC, _COMPONENT_MEMORY, _COMPONENT_BLUETOOTH, _COMPONENT_CAMERA, _COMPONENT_DISPLAYPANEL, _COMPONENT_TOUCH, _COMPONENT_WIFI, _COMPONENT_QUALIFICATION, _COMPONENT_AUDIOCODEC, _COMPONENT_BATTERY, _COMPONENT_FLASHCHIP, _COMPONENT_EMBEDDEDCONTROLLER, _COMPONENT_STORAGE, _COMPONENT_TPM, ],
+  nested_types=[_COMPONENT_AVLID, _COMPONENT_INTERFACE, _COMPONENT_SOC, _COMPONENT_MEMORY, _COMPONENT_BLUETOOTH, _COMPONENT_CAMERA, _COMPONENT_DISPLAYPANEL, _COMPONENT_TOUCH, _COMPONENT_WIFI, _COMPONENT_QUALIFICATION, _COMPONENT_AUDIOCODEC, _COMPONENT_BATTERY, _COMPONENT_FLASHCHIP, _COMPONENT_EMBEDDEDCONTROLLER, _COMPONENT_STORAGE, _COMPONENT_TPM, _COMPONENT_STYLUS, ],
   enum_types=[
   ],
   serialized_options=None,
@@ -1355,10 +1439,11 @@
       index=0, containing_type=None, fields=[]),
   ],
   serialized_start=147,
-  serialized_end=4289,
+  serialized_end=4538,
 )
 
 _COMPONENT_AVLID.containing_type = _COMPONENT
+_COMPONENT_INTERFACE_I2C.containing_type = _COMPONENT_INTERFACE
 _COMPONENT_INTERFACE_USB.containing_type = _COMPONENT_INTERFACE
 _COMPONENT_INTERFACE_PCI.containing_type = _COMPONENT_INTERFACE
 _COMPONENT_INTERFACE.containing_type = _COMPONENT
@@ -1415,6 +1500,15 @@
 _COMPONENT_STORAGE.containing_type = _COMPONENT
 _COMPONENT_STORAGE_STORAGETYPE.containing_type = _COMPONENT_STORAGE
 _COMPONENT_TPM.containing_type = _COMPONENT
+_COMPONENT_STYLUS.fields_by_name['usb'].message_type = _COMPONENT_INTERFACE_USB
+_COMPONENT_STYLUS.fields_by_name['i2c'].message_type = _COMPONENT_INTERFACE_I2C
+_COMPONENT_STYLUS.containing_type = _COMPONENT
+_COMPONENT_STYLUS.oneofs_by_name['interface'].fields.append(
+  _COMPONENT_STYLUS.fields_by_name['usb'])
+_COMPONENT_STYLUS.fields_by_name['usb'].containing_oneof = _COMPONENT_STYLUS.oneofs_by_name['interface']
+_COMPONENT_STYLUS.oneofs_by_name['interface'].fields.append(
+  _COMPONENT_STYLUS.fields_by_name['i2c'])
+_COMPONENT_STYLUS.fields_by_name['i2c'].containing_oneof = _COMPONENT_STYLUS.oneofs_by_name['interface']
 _COMPONENT.fields_by_name['id'].message_type = chromiumos_dot_config_dot_api_dot_component__id__pb2._COMPONENTID
 _COMPONENT.fields_by_name['manufacturer_id'].message_type = chromiumos_dot_config_dot_api_dot_partner__id__pb2._PARTNERID
 _COMPONENT.fields_by_name['avl_id'].message_type = _COMPONENT_AVLID
@@ -1434,6 +1528,7 @@
 _COMPONENT.fields_by_name['storage'].message_type = _COMPONENT_STORAGE
 _COMPONENT.fields_by_name['tpm'].message_type = _COMPONENT_TPM
 _COMPONENT.fields_by_name['usb_host'].message_type = _COMPONENT_INTERFACE_USB
+_COMPONENT.fields_by_name['stylus'].message_type = _COMPONENT_STYLUS
 _COMPONENT.oneofs_by_name['type'].fields.append(
   _COMPONENT.fields_by_name['soc'])
 _COMPONENT.fields_by_name['soc'].containing_oneof = _COMPONENT.oneofs_by_name['type']
@@ -1482,6 +1577,9 @@
 _COMPONENT.oneofs_by_name['type'].fields.append(
   _COMPONENT.fields_by_name['usb_host'])
 _COMPONENT.fields_by_name['usb_host'].containing_oneof = _COMPONENT.oneofs_by_name['type']
+_COMPONENT.oneofs_by_name['type'].fields.append(
+  _COMPONENT.fields_by_name['stylus'])
+_COMPONENT.fields_by_name['stylus'].containing_oneof = _COMPONENT.oneofs_by_name['type']
 DESCRIPTOR.message_types_by_name['Component'] = _COMPONENT
 _sym_db.RegisterFileDescriptor(DESCRIPTOR)
 
@@ -1496,6 +1594,13 @@
 
   Interface = _reflection.GeneratedProtocolMessageType('Interface', (_message.Message,), dict(
 
+    I2C = _reflection.GeneratedProtocolMessageType('I2C', (_message.Message,), dict(
+      DESCRIPTOR = _COMPONENT_INTERFACE_I2C,
+      __module__ = 'chromiumos.config.api.component_pb2'
+      # @@protoc_insertion_point(class_scope:chromiumos.config.api.Component.Interface.I2C)
+      ))
+    ,
+
     Usb = _reflection.GeneratedProtocolMessageType('Usb', (_message.Message,), dict(
       DESCRIPTOR = _COMPONENT_INTERFACE_USB,
       __module__ = 'chromiumos.config.api.component_pb2'
@@ -1633,6 +1738,13 @@
     # @@protoc_insertion_point(class_scope:chromiumos.config.api.Component.Tpm)
     ))
   ,
+
+  Stylus = _reflection.GeneratedProtocolMessageType('Stylus', (_message.Message,), dict(
+    DESCRIPTOR = _COMPONENT_STYLUS,
+    __module__ = 'chromiumos.config.api.component_pb2'
+    # @@protoc_insertion_point(class_scope:chromiumos.config.api.Component.Stylus)
+    ))
+  ,
   DESCRIPTOR = _COMPONENT,
   __module__ = 'chromiumos.config.api.component_pb2'
   # @@protoc_insertion_point(class_scope:chromiumos.config.api.Component)
@@ -1640,6 +1752,7 @@
 _sym_db.RegisterMessage(Component)
 _sym_db.RegisterMessage(Component.AVLId)
 _sym_db.RegisterMessage(Component.Interface)
+_sym_db.RegisterMessage(Component.Interface.I2C)
 _sym_db.RegisterMessage(Component.Interface.Usb)
 _sym_db.RegisterMessage(Component.Interface.Pci)
 _sym_db.RegisterMessage(Component.Soc)
@@ -1659,6 +1772,7 @@
 _sym_db.RegisterMessage(Component.EmbeddedController)
 _sym_db.RegisterMessage(Component.Storage)
 _sym_db.RegisterMessage(Component.Tpm)
+_sym_db.RegisterMessage(Component.Stylus)
 
 
 DESCRIPTOR._options = None