diff --git a/vendor/github.com/opencord/voltha-protos/v4/go/voltha/core.pb.go b/vendor/github.com/opencord/voltha-protos/v4/go/voltha/core.pb.go
new file mode 100644
index 0000000..4c92095
--- /dev/null
+++ b/vendor/github.com/opencord/voltha-protos/v4/go/voltha/core.pb.go
@@ -0,0 +1,133 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: voltha_protos/core.proto
+
+package voltha
+
+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
+
+// Transient State for devices
+type DeviceTransientState_Types int32
+
+const (
+	// The transient state of the device is not set
+	DeviceTransientState_NONE DeviceTransientState_Types = 0
+	// The state of the device in core is any state, i.e DELETING, DELETED, DELETE_FAILED, NONE.
+	// This state is only used for transitions.
+	DeviceTransientState_ANY DeviceTransientState_Types = 1
+	// The device is in FORCE_DELETING state
+	DeviceTransientState_FORCE_DELETING DeviceTransientState_Types = 2
+	// The device is getting deleted from adapter state
+	DeviceTransientState_DELETING_FROM_ADAPTER DeviceTransientState_Types = 3
+	// The device is deleted from adapter and is getting deleted in core.
+	DeviceTransientState_DELETING_POST_ADAPTER_RESPONSE DeviceTransientState_Types = 4
+	// State to represent that the device deletion is failed
+	DeviceTransientState_DELETE_FAILED DeviceTransientState_Types = 5
+)
+
+var DeviceTransientState_Types_name = map[int32]string{
+	0: "NONE",
+	1: "ANY",
+	2: "FORCE_DELETING",
+	3: "DELETING_FROM_ADAPTER",
+	4: "DELETING_POST_ADAPTER_RESPONSE",
+	5: "DELETE_FAILED",
+}
+
+var DeviceTransientState_Types_value = map[string]int32{
+	"NONE":                           0,
+	"ANY":                            1,
+	"FORCE_DELETING":                 2,
+	"DELETING_FROM_ADAPTER":          3,
+	"DELETING_POST_ADAPTER_RESPONSE": 4,
+	"DELETE_FAILED":                  5,
+}
+
+func (x DeviceTransientState_Types) String() string {
+	return proto.EnumName(DeviceTransientState_Types_name, int32(x))
+}
+
+func (DeviceTransientState_Types) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_39634f15fb8a505e, []int{0, 0}
+}
+
+type DeviceTransientState struct {
+	TransientState       DeviceTransientState_Types `protobuf:"varint,1,opt,name=transient_state,json=transientState,proto3,enum=voltha.DeviceTransientState_Types" json:"transient_state,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
+	XXX_unrecognized     []byte                     `json:"-"`
+	XXX_sizecache        int32                      `json:"-"`
+}
+
+func (m *DeviceTransientState) Reset()         { *m = DeviceTransientState{} }
+func (m *DeviceTransientState) String() string { return proto.CompactTextString(m) }
+func (*DeviceTransientState) ProtoMessage()    {}
+func (*DeviceTransientState) Descriptor() ([]byte, []int) {
+	return fileDescriptor_39634f15fb8a505e, []int{0}
+}
+
+func (m *DeviceTransientState) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_DeviceTransientState.Unmarshal(m, b)
+}
+func (m *DeviceTransientState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_DeviceTransientState.Marshal(b, m, deterministic)
+}
+func (m *DeviceTransientState) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_DeviceTransientState.Merge(m, src)
+}
+func (m *DeviceTransientState) XXX_Size() int {
+	return xxx_messageInfo_DeviceTransientState.Size(m)
+}
+func (m *DeviceTransientState) XXX_DiscardUnknown() {
+	xxx_messageInfo_DeviceTransientState.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_DeviceTransientState proto.InternalMessageInfo
+
+func (m *DeviceTransientState) GetTransientState() DeviceTransientState_Types {
+	if m != nil {
+		return m.TransientState
+	}
+	return DeviceTransientState_NONE
+}
+
+func init() {
+	proto.RegisterEnum("voltha.DeviceTransientState_Types", DeviceTransientState_Types_name, DeviceTransientState_Types_value)
+	proto.RegisterType((*DeviceTransientState)(nil), "voltha.DeviceTransientState")
+}
+
+func init() { proto.RegisterFile("voltha_protos/core.proto", fileDescriptor_39634f15fb8a505e) }
+
+var fileDescriptor_39634f15fb8a505e = []byte{
+	// 264 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x90, 0x4d, 0x4b, 0xc4, 0x30,
+	0x10, 0x86, 0xad, 0xfb, 0xa1, 0x0c, 0x58, 0x63, 0x54, 0x58, 0x2f, 0x22, 0x3d, 0x79, 0x31, 0x05,
+	0xf5, 0x0f, 0x54, 0x3b, 0x95, 0xc5, 0xb5, 0x2d, 0x6d, 0x2e, 0x7a, 0x09, 0xdd, 0x1a, 0xba, 0x05,
+	0x6d, 0x4a, 0x1a, 0x0b, 0xde, 0xfc, 0xb5, 0xfe, 0x0e, 0xb1, 0x1f, 0x82, 0xb0, 0xb7, 0x99, 0xe7,
+	0x99, 0xf7, 0x30, 0x2f, 0x2c, 0x5a, 0xf5, 0x66, 0x36, 0x99, 0xa8, 0xb5, 0x32, 0xaa, 0x71, 0x73,
+	0xa5, 0x25, 0xeb, 0x66, 0x3a, 0xef, 0x8d, 0xf3, 0x6d, 0xc1, 0x89, 0x2f, 0xdb, 0x32, 0x97, 0x5c,
+	0x67, 0x55, 0x53, 0xca, 0xca, 0xa4, 0x26, 0x33, 0x92, 0x3e, 0xc2, 0xa1, 0x19, 0x89, 0x68, 0x7e,
+	0xd1, 0xc2, 0xba, 0xb0, 0x2e, 0xed, 0x6b, 0x87, 0xf5, 0x51, 0xb6, 0x2d, 0xc6, 0xf8, 0x67, 0x2d,
+	0x9b, 0xc4, 0x36, 0xff, 0xa8, 0xf3, 0x65, 0xc1, 0xac, 0x33, 0x74, 0x1f, 0xa6, 0x61, 0x14, 0x22,
+	0xd9, 0xa1, 0x7b, 0x30, 0xf1, 0xc2, 0x67, 0x62, 0x51, 0x0a, 0x76, 0x10, 0x25, 0xf7, 0x28, 0x7c,
+	0x5c, 0x21, 0x5f, 0x86, 0x0f, 0x64, 0x97, 0x9e, 0xc1, 0xe9, 0xb8, 0x89, 0x20, 0x89, 0x9e, 0x84,
+	0xe7, 0x7b, 0x31, 0xc7, 0x84, 0x4c, 0xa8, 0x03, 0xe7, 0x7f, 0x2a, 0x8e, 0x52, 0x3e, 0x2a, 0x91,
+	0x60, 0x1a, 0x47, 0x61, 0x8a, 0x64, 0x4a, 0x8f, 0xe0, 0xa0, 0xbb, 0x41, 0x11, 0x78, 0xcb, 0x15,
+	0xfa, 0x64, 0x76, 0x87, 0x70, 0xac, 0x74, 0xc1, 0x54, 0x2d, 0xab, 0x5c, 0xe9, 0xd7, 0xe1, 0x89,
+	0x17, 0x56, 0x94, 0x66, 0xf3, 0xb1, 0x66, 0xb9, 0x7a, 0x77, 0x47, 0xe7, 0xf6, 0xee, 0x6a, 0x68,
+	0xad, 0xbd, 0x75, 0x0b, 0x35, 0xb0, 0xf5, 0xbc, 0x83, 0x37, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff,
+	0xe3, 0x06, 0xbc, 0xa1, 0x5a, 0x01, 0x00, 0x00,
+}
diff --git a/vendor/github.com/opencord/voltha-protos/v4/go/voltha/events.pb.go b/vendor/github.com/opencord/voltha-protos/v4/go/voltha/events.pb.go
index 07ea547..f51a7b7 100644
--- a/vendor/github.com/opencord/voltha-protos/v4/go/voltha/events.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v4/go/voltha/events.pb.go
@@ -7,7 +7,7 @@
 	fmt "fmt"
 	proto "github.com/golang/protobuf/proto"
 	timestamp "github.com/golang/protobuf/ptypes/timestamp"
-	_ "github.com/opencord/voltha-protos/v4/go/common"
+	common "github.com/opencord/voltha-protos/v4/go/common"
 	_ "google.golang.org/genproto/googleapis/api/annotations"
 	math "math"
 )
@@ -110,7 +110,7 @@
 }
 
 func (EventCategory_Types) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_e63e6c07044fd2c4, []int{9, 0}
+	return fileDescriptor_e63e6c07044fd2c4, []int{10, 0}
 }
 
 type EventSubCategory_Types int32
@@ -144,7 +144,7 @@
 }
 
 func (EventSubCategory_Types) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_e63e6c07044fd2c4, []int{10, 0}
+	return fileDescriptor_e63e6c07044fd2c4, []int{11, 0}
 }
 
 type EventType_Types int32
@@ -154,6 +154,7 @@
 	EventType_KPI_EVENT    EventType_Types = 1
 	EventType_KPI_EVENT2   EventType_Types = 2
 	EventType_DEVICE_EVENT EventType_Types = 3
+	EventType_RPC_EVENT    EventType_Types = 4
 )
 
 var EventType_Types_name = map[int32]string{
@@ -161,6 +162,7 @@
 	1: "KPI_EVENT",
 	2: "KPI_EVENT2",
 	3: "DEVICE_EVENT",
+	4: "RPC_EVENT",
 }
 
 var EventType_Types_value = map[string]int32{
@@ -168,6 +170,7 @@
 	"KPI_EVENT":    1,
 	"KPI_EVENT2":   2,
 	"DEVICE_EVENT": 3,
+	"RPC_EVENT":    4,
 }
 
 func (x EventType_Types) String() string {
@@ -175,7 +178,7 @@
 }
 
 func (EventType_Types) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_e63e6c07044fd2c4, []int{11, 0}
+	return fileDescriptor_e63e6c07044fd2c4, []int{12, 0}
 }
 
 type ConfigEventType struct {
@@ -666,6 +669,111 @@
 }
 
 //
+// Describes the events specific to an RPC request
+type RPCEvent struct {
+	// RPC name
+	Rpc string `protobuf:"bytes,1,opt,name=rpc,proto3" json:"rpc,omitempty"`
+	// The operation id of that request.  Can be a log correlation ID
+	OperationId string `protobuf:"bytes,2,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"`
+	// Identifies the service name originating the event
+	Service string `protobuf:"bytes,3,opt,name=service,proto3" json:"service,omitempty"`
+	// Identifies the stack originating the event
+	StackId string `protobuf:"bytes,4,opt,name=stack_id,json=stackId,proto3" json:"stack_id,omitempty"`
+	// Identifies the resource upon which the action is taken, e.g. device_id
+	ResourceId string `protobuf:"bytes,5,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"`
+	// Textual explanation of the event
+	Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"`
+	// Key/Value storage for extra information that may give context to the event
+	Context map[string]string `protobuf:"bytes,7,rep,name=context,proto3" json:"context,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+	// Status of the RPC Event
+	Status               *common.OperationResp `protobuf:"bytes,8,opt,name=status,proto3" json:"status,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
+	XXX_unrecognized     []byte                `json:"-"`
+	XXX_sizecache        int32                 `json:"-"`
+}
+
+func (m *RPCEvent) Reset()         { *m = RPCEvent{} }
+func (m *RPCEvent) String() string { return proto.CompactTextString(m) }
+func (*RPCEvent) ProtoMessage()    {}
+func (*RPCEvent) Descriptor() ([]byte, []int) {
+	return fileDescriptor_e63e6c07044fd2c4, []int{9}
+}
+
+func (m *RPCEvent) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_RPCEvent.Unmarshal(m, b)
+}
+func (m *RPCEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_RPCEvent.Marshal(b, m, deterministic)
+}
+func (m *RPCEvent) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_RPCEvent.Merge(m, src)
+}
+func (m *RPCEvent) XXX_Size() int {
+	return xxx_messageInfo_RPCEvent.Size(m)
+}
+func (m *RPCEvent) XXX_DiscardUnknown() {
+	xxx_messageInfo_RPCEvent.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_RPCEvent proto.InternalMessageInfo
+
+func (m *RPCEvent) GetRpc() string {
+	if m != nil {
+		return m.Rpc
+	}
+	return ""
+}
+
+func (m *RPCEvent) GetOperationId() string {
+	if m != nil {
+		return m.OperationId
+	}
+	return ""
+}
+
+func (m *RPCEvent) GetService() string {
+	if m != nil {
+		return m.Service
+	}
+	return ""
+}
+
+func (m *RPCEvent) GetStackId() string {
+	if m != nil {
+		return m.StackId
+	}
+	return ""
+}
+
+func (m *RPCEvent) GetResourceId() string {
+	if m != nil {
+		return m.ResourceId
+	}
+	return ""
+}
+
+func (m *RPCEvent) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+func (m *RPCEvent) GetContext() map[string]string {
+	if m != nil {
+		return m.Context
+	}
+	return nil
+}
+
+func (m *RPCEvent) GetStatus() *common.OperationResp {
+	if m != nil {
+		return m.Status
+	}
+	return nil
+}
+
+//
 // Identify the area of the system impacted by the event.
 type EventCategory struct {
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
@@ -677,7 +785,7 @@
 func (m *EventCategory) String() string { return proto.CompactTextString(m) }
 func (*EventCategory) ProtoMessage()    {}
 func (*EventCategory) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e63e6c07044fd2c4, []int{9}
+	return fileDescriptor_e63e6c07044fd2c4, []int{10}
 }
 
 func (m *EventCategory) XXX_Unmarshal(b []byte) error {
@@ -710,7 +818,7 @@
 func (m *EventSubCategory) String() string { return proto.CompactTextString(m) }
 func (*EventSubCategory) ProtoMessage()    {}
 func (*EventSubCategory) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e63e6c07044fd2c4, []int{10}
+	return fileDescriptor_e63e6c07044fd2c4, []int{11}
 }
 
 func (m *EventSubCategory) XXX_Unmarshal(b []byte) error {
@@ -743,7 +851,7 @@
 func (m *EventType) String() string { return proto.CompactTextString(m) }
 func (*EventType) ProtoMessage()    {}
 func (*EventType) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e63e6c07044fd2c4, []int{11}
+	return fileDescriptor_e63e6c07044fd2c4, []int{12}
 }
 
 func (m *EventType) XXX_Unmarshal(b []byte) error {
@@ -801,7 +909,7 @@
 func (m *EventHeader) String() string { return proto.CompactTextString(m) }
 func (*EventHeader) ProtoMessage()    {}
 func (*EventHeader) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e63e6c07044fd2c4, []int{12}
+	return fileDescriptor_e63e6c07044fd2c4, []int{13}
 }
 
 func (m *EventHeader) XXX_Unmarshal(b []byte) error {
@@ -883,6 +991,7 @@
 	//	*Event_KpiEvent
 	//	*Event_KpiEvent2
 	//	*Event_DeviceEvent
+	//	*Event_RpcEvent
 	EventType            isEvent_EventType `protobuf_oneof:"event_type"`
 	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
 	XXX_unrecognized     []byte            `json:"-"`
@@ -893,7 +1002,7 @@
 func (m *Event) String() string { return proto.CompactTextString(m) }
 func (*Event) ProtoMessage()    {}
 func (*Event) Descriptor() ([]byte, []int) {
-	return fileDescriptor_e63e6c07044fd2c4, []int{13}
+	return fileDescriptor_e63e6c07044fd2c4, []int{14}
 }
 
 func (m *Event) XXX_Unmarshal(b []byte) error {
@@ -941,6 +1050,10 @@
 	DeviceEvent *DeviceEvent `protobuf:"bytes,5,opt,name=device_event,json=deviceEvent,proto3,oneof"`
 }
 
+type Event_RpcEvent struct {
+	RpcEvent *RPCEvent `protobuf:"bytes,6,opt,name=rpc_event,json=rpcEvent,proto3,oneof"`
+}
+
 func (*Event_ConfigEvent) isEvent_EventType() {}
 
 func (*Event_KpiEvent) isEvent_EventType() {}
@@ -949,6 +1062,8 @@
 
 func (*Event_DeviceEvent) isEvent_EventType() {}
 
+func (*Event_RpcEvent) isEvent_EventType() {}
+
 func (m *Event) GetEventType() isEvent_EventType {
 	if m != nil {
 		return m.EventType
@@ -984,6 +1099,13 @@
 	return nil
 }
 
+func (m *Event) GetRpcEvent() *RPCEvent {
+	if x, ok := m.GetEventType().(*Event_RpcEvent); ok {
+		return x.RpcEvent
+	}
+	return nil
+}
+
 // XXX_OneofWrappers is for the internal use of the proto package.
 func (*Event) XXX_OneofWrappers() []interface{} {
 	return []interface{}{
@@ -991,6 +1113,7 @@
 		(*Event_KpiEvent)(nil),
 		(*Event_KpiEvent2)(nil),
 		(*Event_DeviceEvent)(nil),
+		(*Event_RpcEvent)(nil),
 	}
 }
 
@@ -1014,6 +1137,8 @@
 	proto.RegisterType((*KpiEvent2)(nil), "voltha.KpiEvent2")
 	proto.RegisterType((*DeviceEvent)(nil), "voltha.DeviceEvent")
 	proto.RegisterMapType((map[string]string)(nil), "voltha.DeviceEvent.ContextEntry")
+	proto.RegisterType((*RPCEvent)(nil), "voltha.RPCEvent")
+	proto.RegisterMapType((map[string]string)(nil), "voltha.RPCEvent.ContextEntry")
 	proto.RegisterType((*EventCategory)(nil), "voltha.EventCategory")
 	proto.RegisterType((*EventSubCategory)(nil), "voltha.EventSubCategory")
 	proto.RegisterType((*EventType)(nil), "voltha.EventType")
@@ -1024,76 +1149,85 @@
 func init() { proto.RegisterFile("voltha_protos/events.proto", fileDescriptor_e63e6c07044fd2c4) }
 
 var fileDescriptor_e63e6c07044fd2c4 = []byte{
-	// 1135 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xdd, 0x6e, 0xe3, 0x44,
-	0x14, 0x8e, 0x9d, 0x34, 0x3f, 0xc7, 0x69, 0xeb, 0xce, 0x22, 0x08, 0x59, 0xd8, 0x2d, 0x46, 0xa0,
-	0x6a, 0x57, 0x38, 0xc2, 0xac, 0xb4, 0x55, 0x57, 0x08, 0x76, 0x53, 0xb3, 0x35, 0x4b, 0x93, 0xe0,
-	0xa6, 0x45, 0x70, 0x13, 0x4d, 0xe3, 0x69, 0x62, 0x35, 0xc9, 0x58, 0x9e, 0x49, 0xb4, 0x7d, 0x00,
-	0xae, 0x79, 0x00, 0x1e, 0x81, 0xe7, 0xe0, 0x31, 0x10, 0x2f, 0xc1, 0x03, 0xa0, 0xf9, 0x71, 0x62,
-	0x97, 0xae, 0xf6, 0x62, 0xc5, 0x95, 0x67, 0xce, 0x9c, 0x6f, 0xe6, 0x3b, 0x67, 0xce, 0x77, 0xc6,
-	0xd0, 0x5e, 0xd1, 0x19, 0x9f, 0xe2, 0x51, 0x92, 0x52, 0x4e, 0x59, 0x87, 0xac, 0xc8, 0x82, 0x33,
-	0x57, 0xce, 0x50, 0x55, 0xad, 0xb5, 0x5b, 0x45, 0x9f, 0x39, 0xe1, 0x58, 0x79, 0xb4, 0x3f, 0x9a,
-	0x50, 0x3a, 0x99, 0x91, 0x0e, 0x4e, 0xe2, 0x0e, 0x5e, 0x2c, 0x28, 0xc7, 0x3c, 0xa6, 0x0b, 0x8d,
-	0x6f, 0x3f, 0xd4, 0xab, 0x72, 0x76, 0xb9, 0xbc, 0xea, 0xf0, 0x78, 0x4e, 0x18, 0xc7, 0xf3, 0x44,
-	0x39, 0x38, 0xcf, 0x60, 0xb7, 0x4b, 0x17, 0x57, 0xf1, 0xc4, 0x17, 0xc7, 0x0e, 0x6f, 0x12, 0xe2,
-	0x1c, 0xc0, 0x96, 0xf8, 0x32, 0x54, 0x83, 0x32, 0x8e, 0x22, 0xbb, 0x84, 0x00, 0xaa, 0x29, 0x99,
-	0xd3, 0x15, 0xb1, 0x0d, 0x31, 0x5e, 0x26, 0x11, 0xe6, 0xc4, 0x36, 0x9d, 0x29, 0x58, 0x39, 0x30,
-	0xfa, 0x12, 0x2a, 0xfc, 0x26, 0x21, 0x2d, 0x63, 0xdf, 0x38, 0xd8, 0xf1, 0x3e, 0x76, 0x15, 0x67,
-	0xf7, 0xd6, 0xfe, 0xae, 0xdc, 0x3c, 0x94, 0xae, 0x08, 0x41, 0x65, 0x8a, 0xd9, 0xb4, 0x65, 0xee,
-	0x1b, 0x07, 0x8d, 0x50, 0x8e, 0x85, 0x2d, 0xc2, 0x1c, 0xb7, 0xca, 0xca, 0x26, 0xc6, 0xce, 0x23,
-	0x68, 0xbe, 0x4a, 0xe2, 0x0d, 0xc7, 0x76, 0xc6, 0xb1, 0x01, 0x5b, 0x6c, 0x16, 0x8f, 0x89, 0x5d,
-	0x42, 0x55, 0x30, 0x39, 0xb3, 0x0d, 0xe7, 0x0f, 0x13, 0x76, 0x4e, 0x09, 0x4f, 0xe3, 0xf1, 0x29,
-	0xe1, 0xf8, 0x18, 0x73, 0x8c, 0xde, 0x83, 0x2d, 0x1e, 0xf3, 0x99, 0xa2, 0xd6, 0x08, 0xd5, 0x04,
-	0xed, 0x08, 0x80, 0x3c, 0xda, 0x08, 0x4d, 0xce, 0xd0, 0x23, 0xd8, 0x9b, 0xd1, 0x49, 0x3c, 0xc6,
-	0xb3, 0x51, 0x44, 0x56, 0xf1, 0x98, 0x8c, 0xe2, 0x48, 0xb3, 0xd8, 0xd5, 0x0b, 0xc7, 0xd2, 0x1e,
-	0x44, 0xe8, 0x3e, 0x34, 0x18, 0x49, 0x63, 0x3c, 0x1b, 0x2d, 0x68, 0xab, 0x22, 0x7d, 0xea, 0xca,
-	0xd0, 0xa3, 0x62, 0x71, 0xb3, 0xc1, 0x96, 0x5a, 0x8c, 0x32, 0xe4, 0xd7, 0x50, 0x1b, 0xd3, 0x05,
-	0x27, 0xaf, 0x79, 0xab, 0xba, 0x5f, 0x3e, 0xb0, 0xbc, 0x4f, 0xb3, 0x44, 0x15, 0x49, 0x8b, 0xbc,
-	0x09, 0x2f, 0x7f, 0xc1, 0xd3, 0x9b, 0x30, 0xc3, 0x88, 0xec, 0x2c, 0x97, 0x71, 0xd4, 0xaa, 0xa9,
-	0xec, 0x88, 0x71, 0xfb, 0x08, 0x9a, 0x79, 0x67, 0x64, 0x43, 0xf9, 0x9a, 0xdc, 0xe8, 0x60, 0xc5,
-	0x50, 0x24, 0x60, 0x85, 0x67, 0x4b, 0xa2, 0x13, 0xad, 0x26, 0x47, 0xe6, 0xa1, 0xe1, 0xfc, 0x66,
-	0x80, 0xad, 0x0e, 0xbe, 0x10, 0xb6, 0x01, 0x8e, 0x53, 0x86, 0xbe, 0x81, 0xda, 0x5c, 0xda, 0x58,
-	0xcb, 0x90, 0x1c, 0x3f, 0x2b, 0x72, 0xdc, 0xb8, 0x6a, 0x03, 0xd3, 0x2c, 0x35, 0x4a, 0x30, 0xca,
-	0x2f, 0xbc, 0x8d, 0x91, 0x99, 0x67, 0xf4, 0xa7, 0x01, 0x7b, 0x0a, 0x1c, 0x2c, 0xae, 0x68, 0x3a,
-	0x97, 0x05, 0x8d, 0x3c, 0xa8, 0x8b, 0xaa, 0x97, 0x95, 0x21, 0xb6, 0xb1, 0xbc, 0xf7, 0xef, 0xce,
-	0x5b, 0xb8, 0xf6, 0x43, 0xdf, 0x6e, 0xc2, 0x30, 0x65, 0x18, 0x9f, 0x17, 0x21, 0xb9, 0xfd, 0xff,
-	0x87, 0x38, 0xfe, 0x32, 0xa0, 0x9e, 0x15, 0x2d, 0x72, 0x0b, 0xda, 0x68, 0x67, 0x3c, 0xf2, 0x45,
-	0x5d, 0x10, 0xc6, 0xa6, 0x36, 0x4d, 0x59, 0x9b, 0x47, 0x50, 0x4f, 0x52, 0x72, 0x15, 0xbf, 0x26,
-	0xac, 0x55, 0x96, 0xb1, 0x3c, 0xb8, 0xbd, 0x87, 0x3b, 0xd0, 0x0e, 0x2a, 0x86, 0xb5, 0x7f, 0xfb,
-	0x1c, 0xb6, 0x0b, 0x4b, 0x77, 0x44, 0xe1, 0xe6, 0xa3, 0xb0, 0xbc, 0xd6, 0x9b, 0xae, 0x3b, 0x1f,
-	0xdf, 0xaf, 0x06, 0x34, 0xb2, 0xb3, 0xbd, 0x77, 0x08, 0x50, 0x89, 0xef, 0x10, 0x40, 0x0a, 0x79,
-	0xa4, 0xb5, 0x2f, 0x42, 0xfc, 0xf0, 0x8d, 0xd7, 0x15, 0x36, 0xa4, 0xb3, 0xb8, 0x6f, 0xe7, 0x1f,
-	0x03, 0x2c, 0xa5, 0x4b, 0x95, 0xea, 0x87, 0x60, 0xa5, 0x84, 0xd1, 0x65, 0xaa, 0xf4, 0xa7, 0xa2,
-	0x84, 0xcc, 0x14, 0x44, 0x42, 0xe7, 0x5a, 0x9e, 0xb2, 0xd7, 0x8e, 0x16, 0x78, 0x9e, 0x09, 0x63,
-	0x37, 0xda, 0x6c, 0xd4, 0xc3, 0x73, 0x82, 0xf6, 0xc1, 0x8a, 0x08, 0x1b, 0xa7, 0x71, 0x22, 0x8e,
-	0xd5, 0xdd, 0x20, 0x6f, 0x42, 0x47, 0x1b, 0x3d, 0x57, 0x24, 0xeb, 0xfd, 0x8c, 0x75, 0x8e, 0xd4,
-	0xdd, 0x62, 0x7e, 0x27, 0xe1, 0xae, 0x60, 0x5b, 0x6e, 0xdd, 0xc5, 0x9c, 0x4c, 0x68, 0x7a, 0xe3,
-	0x90, 0xac, 0x27, 0xee, 0xc1, 0x76, 0xb7, 0x7f, 0x7a, 0x7a, 0xde, 0x0b, 0xba, 0xcf, 0x87, 0x41,
-	0xbf, 0x67, 0x97, 0xd0, 0x2e, 0x58, 0x7e, 0xef, 0x22, 0x08, 0xfb, 0xbd, 0x53, 0xbf, 0x37, 0xb4,
-	0x0d, 0xb4, 0x0d, 0x0d, 0xff, 0xc7, 0xf3, 0x60, 0x20, 0xa7, 0x26, 0xb2, 0xa0, 0x76, 0xe6, 0x87,
-	0x17, 0x41, 0xd7, 0xb7, 0xcb, 0x68, 0x07, 0x60, 0x10, 0xf6, 0xbb, 0xfe, 0xd9, 0x59, 0xd0, 0x7b,
-	0x69, 0x57, 0x50, 0x13, 0xea, 0x67, 0x7e, 0xf7, 0x3c, 0x0c, 0x86, 0x3f, 0xdb, 0x5b, 0xce, 0x09,
-	0xd8, 0xf2, 0xdc, 0xb3, 0xe5, 0xe5, 0xfa, 0xe8, 0x27, 0xb9, 0x27, 0x63, 0x20, 0x0f, 0xac, 0x41,
-	0xb9, 0xff, 0x83, 0x38, 0x48, 0x0c, 0xe4, 0x11, 0x72, 0x70, 0x6e, 0x97, 0xc5, 0xa0, 0xd7, 0x0b,
-	0xec, 0x8a, 0xf3, 0x13, 0x34, 0x36, 0x1d, 0xfd, 0xfb, 0x6c, 0x0b, 0x1b, 0x9a, 0xdd, 0x7e, 0xef,
-	0xbb, 0xe0, 0xe5, 0xc8, 0xbf, 0x10, 0xe4, 0x4a, 0x82, 0xeb, 0xab, 0x41, 0xa0, 0xa7, 0x86, 0xa0,
-	0xb7, 0x9e, 0x7a, 0xb6, 0x29, 0x00, 0xc7, 0xbe, 0xa0, 0xae, 0x3d, 0xca, 0xce, 0xdf, 0x26, 0x58,
-	0x72, 0xe7, 0x13, 0x82, 0x23, 0x92, 0x8a, 0x5a, 0x5b, 0x17, 0x82, 0x19, 0x47, 0xe8, 0x29, 0xd4,
-	0xc7, 0x9a, 0xba, 0xcc, 0xeb, 0x8e, 0x77, 0x3f, 0xbb, 0xb3, 0x42, 0x4a, 0x75, 0xc1, 0xae, 0x9d,
-	0xd1, 0x73, 0x68, 0xb2, 0xe5, 0xe5, 0x68, 0x0d, 0x2e, 0x4b, 0xf0, 0x83, 0x02, 0x38, 0x97, 0x17,
-	0x8d, 0xb7, 0xd8, 0xc6, 0x84, 0x1e, 0x6b, 0x9d, 0x54, 0x24, 0xf4, 0x83, 0x02, 0xf4, 0x3f, 0x22,
-	0xf9, 0x04, 0x9a, 0xe2, 0x3b, 0x5a, 0x91, 0x94, 0x89, 0xf2, 0x53, 0x6f, 0x89, 0x25, 0x6c, 0x17,
-	0xca, 0x84, 0x9e, 0x42, 0x23, 0xc5, 0x31, 0x23, 0xd1, 0x88, 0xb3, 0x56, 0x55, 0xaa, 0xb7, 0xed,
-	0xaa, 0x57, 0xdf, 0xcd, 0x5e, 0x7d, 0x77, 0x98, 0xbd, 0xfa, 0x61, 0x5d, 0x39, 0x0f, 0x19, 0x7a,
-	0x26, 0x64, 0x92, 0xd0, 0x94, 0x2b, 0x68, 0xed, 0xad, 0x50, 0xc8, 0xdc, 0x87, 0xcc, 0xf9, 0xdd,
-	0x84, 0x2d, 0xa5, 0xb6, 0xc7, 0x50, 0x9d, 0xca, 0x2c, 0xeb, 0xae, 0x7c, 0xaf, 0x10, 0x91, 0xba,
-	0x80, 0x50, 0xbb, 0xa0, 0x43, 0x68, 0x8e, 0xe5, 0xdf, 0x80, 0x52, 0x9e, 0xee, 0x36, 0xf7, 0xee,
-	0xf8, 0x53, 0x38, 0x29, 0x85, 0xd6, 0x38, 0xf7, 0x6f, 0xd1, 0x81, 0xc6, 0x75, 0x12, 0x6b, 0x58,
-	0x59, 0xc2, 0xec, 0xdb, 0x3d, 0xe6, 0xa4, 0x14, 0xd6, 0xaf, 0xb3, 0x86, 0xeb, 0x01, 0xac, 0x01,
-	0x9e, 0xcc, 0xb6, 0xe5, 0xed, 0xdd, 0x46, 0x78, 0x27, 0xa5, 0xb0, 0x71, 0xbd, 0xee, 0x61, 0x87,
-	0xd0, 0xcc, 0x37, 0x06, 0x99, 0xee, 0x1c, 0xbd, 0x9c, 0x9e, 0x05, 0xbd, 0x5c, 0xab, 0x78, 0xd1,
-	0x04, 0x50, 0xbd, 0x44, 0x5c, 0xcd, 0x0b, 0x1f, 0xee, 0xd1, 0x74, 0xe2, 0xd2, 0x84, 0x2c, 0xc6,
-	0x34, 0x8d, 0x34, 0xfe, 0x17, 0x77, 0x12, 0xf3, 0xe9, 0xf2, 0xd2, 0x1d, 0xd3, 0x79, 0x27, 0x5b,
-	0xeb, 0xa8, 0xb5, 0x2f, 0xf4, 0x8f, 0xdd, 0xea, 0x49, 0x67, 0x42, 0xb5, 0xed, 0xb2, 0x2a, 0x8d,
-	0x5f, 0xfd, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x26, 0x26, 0x74, 0xd0, 0x21, 0x0a, 0x00, 0x00,
+	// 1274 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xdf, 0x6e, 0xdb, 0xb6,
+	0x17, 0xb6, 0xe4, 0xff, 0x47, 0x4e, 0xa2, 0xb0, 0xbf, 0xdf, 0xe6, 0xba, 0x5b, 0x9b, 0x7a, 0xd8,
+	0x10, 0xb4, 0xa8, 0x8c, 0x69, 0x05, 0x1a, 0xa4, 0x18, 0xb6, 0xd6, 0xf5, 0x1a, 0xa1, 0x8b, 0xed,
+	0x29, 0x4e, 0x80, 0xee, 0xc6, 0x60, 0x24, 0xc6, 0x11, 0x62, 0x5b, 0x02, 0x49, 0x1b, 0xcd, 0x03,
+	0xec, 0x7a, 0x0f, 0xb2, 0xe7, 0xd8, 0xdd, 0xde, 0x60, 0x18, 0xf6, 0x12, 0x7b, 0x80, 0x81, 0x7f,
+	0x64, 0x4b, 0x6e, 0x8a, 0x5e, 0x04, 0xbb, 0x12, 0x79, 0x78, 0x3e, 0x9e, 0xef, 0x7c, 0xe2, 0x39,
+	0x24, 0xb4, 0x96, 0xf1, 0x94, 0x5f, 0xe2, 0x71, 0x42, 0x63, 0x1e, 0xb3, 0x0e, 0x59, 0x92, 0x39,
+	0x67, 0x8e, 0x9c, 0xa1, 0x8a, 0x5a, 0x6b, 0x35, 0xf3, 0x3e, 0x33, 0xc2, 0xb1, 0xf2, 0x68, 0x7d,
+	0x36, 0x89, 0xe3, 0xc9, 0x94, 0x74, 0x70, 0x12, 0x75, 0xf0, 0x7c, 0x1e, 0x73, 0xcc, 0xa3, 0x78,
+	0xae, 0xf1, 0xad, 0x07, 0x7a, 0x55, 0xce, 0xce, 0x17, 0x17, 0x1d, 0x1e, 0xcd, 0x08, 0xe3, 0x78,
+	0x96, 0x68, 0x87, 0x8d, 0xe0, 0x41, 0x3c, 0x9b, 0xc5, 0x73, 0xb5, 0xd6, 0x7e, 0x0e, 0x3b, 0xdd,
+	0x78, 0x7e, 0x11, 0x4d, 0x7a, 0x82, 0xd2, 0xe8, 0x3a, 0x21, 0xed, 0x7d, 0x28, 0x8b, 0x2f, 0x43,
+	0x55, 0x28, 0xe2, 0x30, 0xb4, 0x0b, 0x08, 0xa0, 0x42, 0xc9, 0x2c, 0x5e, 0x12, 0xdb, 0x10, 0xe3,
+	0x45, 0x12, 0x62, 0x4e, 0x6c, 0xb3, 0x7d, 0x09, 0x56, 0x06, 0x8c, 0xbe, 0x86, 0x12, 0xbf, 0x4e,
+	0x48, 0xd3, 0xd8, 0x33, 0xf6, 0xb7, 0xdd, 0xcf, 0x1d, 0x15, 0xd6, 0xd9, 0xd8, 0xdf, 0x91, 0x9b,
+	0xfb, 0xd2, 0x15, 0x21, 0x28, 0x5d, 0x62, 0x76, 0xd9, 0x34, 0xf7, 0x8c, 0xfd, 0xba, 0x2f, 0xc7,
+	0xc2, 0x16, 0x62, 0x8e, 0x9b, 0x45, 0x65, 0x13, 0xe3, 0xf6, 0x23, 0x68, 0xbc, 0x49, 0xa2, 0x35,
+	0xc7, 0x56, 0xca, 0xb1, 0x0e, 0x65, 0x36, 0x8d, 0x02, 0x62, 0x17, 0x50, 0x05, 0x4c, 0xce, 0x6c,
+	0xa3, 0xfd, 0x9b, 0x09, 0xdb, 0xc7, 0x84, 0xd3, 0x28, 0x38, 0x26, 0x1c, 0xbf, 0xc2, 0x1c, 0xa3,
+	0xff, 0x41, 0x99, 0x47, 0x7c, 0xaa, 0xa8, 0xd5, 0x7d, 0x35, 0x41, 0xdb, 0x02, 0x20, 0x43, 0x1b,
+	0xbe, 0xc9, 0x19, 0x7a, 0x04, 0xbb, 0xd3, 0x78, 0x12, 0x05, 0x78, 0x3a, 0x0e, 0xc9, 0x32, 0x0a,
+	0xc8, 0x38, 0x0a, 0x35, 0x8b, 0x1d, 0xbd, 0xf0, 0x4a, 0xda, 0xbd, 0x10, 0xdd, 0x83, 0x3a, 0x23,
+	0x34, 0xc2, 0xd3, 0xf1, 0x3c, 0x6e, 0x96, 0xa4, 0x4f, 0x4d, 0x19, 0xfa, 0xb1, 0x58, 0x5c, 0x6f,
+	0x50, 0x56, 0x8b, 0x61, 0x8a, 0xfc, 0x16, 0xaa, 0x41, 0x3c, 0xe7, 0xe4, 0x1d, 0x6f, 0x56, 0xf6,
+	0x8a, 0xfb, 0x96, 0xfb, 0x45, 0x2a, 0x54, 0x9e, 0xb4, 0xd0, 0x4d, 0x78, 0xf5, 0xe6, 0x9c, 0x5e,
+	0xfb, 0x29, 0x46, 0xa8, 0xb3, 0x58, 0x44, 0x61, 0xb3, 0xaa, 0xd4, 0x11, 0xe3, 0xd6, 0x21, 0x34,
+	0xb2, 0xce, 0xc8, 0x86, 0xe2, 0x15, 0xb9, 0xd6, 0xc9, 0x8a, 0xa1, 0x10, 0x60, 0x89, 0xa7, 0x0b,
+	0xa2, 0x85, 0x56, 0x93, 0x43, 0xf3, 0xc0, 0x68, 0xff, 0x6a, 0x80, 0xad, 0x02, 0x9f, 0x09, 0xdb,
+	0x10, 0x47, 0x94, 0xa1, 0xef, 0xa0, 0x3a, 0x93, 0x36, 0xd6, 0x34, 0x24, 0xc7, 0x2f, 0xf3, 0x1c,
+	0xd7, 0xae, 0xda, 0xc0, 0x34, 0x4b, 0x8d, 0x12, 0x8c, 0xb2, 0x0b, 0x1f, 0x63, 0x64, 0x66, 0x19,
+	0xfd, 0x6e, 0xc0, 0xae, 0x02, 0x7b, 0xf3, 0x8b, 0x98, 0xce, 0xe4, 0x61, 0x47, 0x2e, 0xd4, 0x44,
+	0x45, 0xc8, 0x93, 0x21, 0xb6, 0xb1, 0xdc, 0x4f, 0x6e, 0xd6, 0xcd, 0x5f, 0xf9, 0xa1, 0xef, 0xd7,
+	0x69, 0x98, 0x32, 0x8d, 0xaf, 0xf2, 0x90, 0xcc, 0xfe, 0xff, 0x41, 0x1e, 0x7f, 0x19, 0x50, 0x4b,
+	0x0f, 0x2d, 0x72, 0x72, 0xb5, 0xd1, 0x4a, 0x79, 0x64, 0x0f, 0x75, 0xae, 0x30, 0xd6, 0x67, 0xd3,
+	0x94, 0x67, 0xf3, 0x10, 0x6a, 0x09, 0x25, 0x17, 0xd1, 0x3b, 0xc2, 0x9a, 0x45, 0x99, 0xcb, 0xfd,
+	0xcd, 0x3d, 0x9c, 0xa1, 0x76, 0x50, 0x39, 0xac, 0xfc, 0x5b, 0xa7, 0xb0, 0x95, 0x5b, 0xba, 0x21,
+	0x0b, 0x27, 0x9b, 0x85, 0xe5, 0x36, 0x3f, 0xf4, 0xbb, 0xb3, 0xf9, 0xfd, 0x62, 0x40, 0x3d, 0x8d,
+	0xed, 0xde, 0x22, 0x41, 0x55, 0x7c, 0x07, 0x00, 0xb2, 0x90, 0xc7, 0xba, 0xf6, 0x45, 0x8a, 0x77,
+	0x3f, 0xf8, 0xbb, 0xfc, 0xba, 0x74, 0x16, 0xff, 0xbb, 0xfd, 0x8f, 0x01, 0x96, 0xaa, 0x4b, 0x25,
+	0xf5, 0x03, 0xb0, 0x28, 0x61, 0xf1, 0x82, 0xaa, 0xfa, 0x53, 0x59, 0x42, 0x6a, 0xf2, 0x42, 0x51,
+	0xe7, 0xba, 0x3c, 0x65, 0x1f, 0x1e, 0xcf, 0xf1, 0x2c, 0x2d, 0x8c, 0x9d, 0x70, 0xbd, 0x51, 0x1f,
+	0xcf, 0x08, 0xda, 0x03, 0x2b, 0x24, 0x2c, 0xa0, 0x51, 0x22, 0xc2, 0xea, 0x6e, 0x90, 0x35, 0xa1,
+	0xc3, 0x75, 0x3d, 0x97, 0x24, 0xeb, 0xbd, 0x94, 0x75, 0x86, 0xd4, 0xcd, 0xc5, 0x7c, 0xab, 0xc2,
+	0xfd, 0xd3, 0x84, 0x9a, 0x3f, 0xec, 0xaa, 0x9c, 0x6d, 0x28, 0xd2, 0x24, 0x48, 0x81, 0x34, 0x09,
+	0xd0, 0x43, 0x68, 0xc4, 0x09, 0xa1, 0x52, 0x2d, 0x21, 0x83, 0xc2, 0x5b, 0x2b, 0x9b, 0x17, 0xa2,
+	0x26, 0x54, 0x19, 0xa1, 0x82, 0xa3, 0xce, 0x2b, 0x9d, 0xa2, 0xbb, 0x50, 0x63, 0x1c, 0x07, 0x57,
+	0x02, 0x58, 0xd2, 0x4b, 0x62, 0xee, 0x85, 0x9b, 0xea, 0x96, 0xdf, 0x53, 0x77, 0x43, 0xb1, 0xca,
+	0xfb, 0x8a, 0x3d, 0x5b, 0x2b, 0x56, 0x95, 0x8a, 0xad, 0xae, 0x8a, 0x34, 0x9f, 0x0f, 0xf4, 0xbe,
+	0x27, 0x50, 0x61, 0x1c, 0xf3, 0x05, 0x6b, 0xd6, 0xe4, 0x31, 0xfd, 0xbf, 0xa3, 0xef, 0xb2, 0x41,
+	0x9a, 0x95, 0x4f, 0x58, 0xe2, 0x6b, 0xa7, 0x5b, 0xa9, 0xbb, 0x84, 0x2d, 0xc9, 0xa4, 0x8b, 0x39,
+	0x99, 0xc4, 0xf4, 0xba, 0x4d, 0xd2, 0x1b, 0x67, 0x17, 0xb6, 0xba, 0x83, 0xe3, 0xe3, 0xd3, 0xbe,
+	0xd7, 0x7d, 0x31, 0xf2, 0x06, 0x7d, 0xbb, 0x80, 0x76, 0xc0, 0xea, 0xf5, 0xcf, 0x3c, 0x7f, 0xd0,
+	0x3f, 0xee, 0xf5, 0x47, 0xb6, 0x81, 0xb6, 0xa0, 0xde, 0xfb, 0xe9, 0xd4, 0x1b, 0xca, 0xa9, 0x89,
+	0x2c, 0xa8, 0x9e, 0xf4, 0xfc, 0x33, 0xaf, 0xdb, 0xb3, 0x8b, 0x68, 0x1b, 0x60, 0xe8, 0x0f, 0xba,
+	0xbd, 0x93, 0x13, 0xaf, 0xff, 0xda, 0x2e, 0xa1, 0x06, 0xd4, 0x4e, 0x7a, 0xdd, 0x53, 0xdf, 0x1b,
+	0xbd, 0xb5, 0xcb, 0xed, 0x23, 0xb0, 0x65, 0xdc, 0x93, 0xc5, 0xf9, 0x2a, 0xf4, 0xd3, 0xcc, 0x85,
+	0x3c, 0x94, 0x01, 0xab, 0x50, 0x1c, 0xfc, 0x28, 0x02, 0x89, 0x81, 0x0c, 0x21, 0x07, 0xa7, 0x76,
+	0x51, 0x0c, 0xfa, 0x7d, 0xcf, 0x2e, 0xb5, 0x2f, 0xa0, 0xbe, 0xbe, 0x2f, 0xdf, 0xa6, 0x5b, 0xd8,
+	0xd0, 0xe8, 0x0e, 0xfa, 0x3f, 0x78, 0xaf, 0xc7, 0xbd, 0x33, 0x41, 0xae, 0x20, 0xb8, 0xbe, 0x19,
+	0x7a, 0x7a, 0x6a, 0x08, 0x7a, 0xab, 0xa9, 0x6b, 0x9b, 0x02, 0xf0, 0xaa, 0x27, 0xa8, 0x6b, 0x8f,
+	0xa2, 0x00, 0xf8, 0xc3, 0xae, 0x9e, 0x96, 0xda, 0x7f, 0x9b, 0x60, 0xc9, 0x40, 0x47, 0x04, 0x87,
+	0x84, 0x8a, 0xc2, 0x5e, 0x55, 0x9d, 0x19, 0x85, 0xe8, 0x19, 0xd4, 0x02, 0x9d, 0x89, 0x94, 0x79,
+	0xdb, 0xbd, 0x97, 0xfe, 0xee, 0x9c, 0xc2, 0xba, 0x3b, 0xac, 0x9c, 0xd1, 0x0b, 0x68, 0xb0, 0xc5,
+	0xf9, 0x78, 0x05, 0x2e, 0x4a, 0xf0, 0xfd, 0x1c, 0x38, 0x23, 0x93, 0xc6, 0x5b, 0x6c, 0x6d, 0x42,
+	0x8f, 0x75, 0x53, 0x2a, 0x49, 0xe8, 0xa7, 0x39, 0xe8, 0x7b, 0x1d, 0xe9, 0x21, 0x34, 0xc4, 0x77,
+	0xbc, 0x24, 0x94, 0x89, 0x93, 0xab, 0x8e, 0xb6, 0x25, 0x6c, 0x67, 0xca, 0x84, 0x9e, 0x41, 0x9d,
+	0xe2, 0x88, 0x91, 0x70, 0xcc, 0x99, 0x3c, 0xd9, 0x96, 0xdb, 0x72, 0xd4, 0xf3, 0xcb, 0x49, 0x9f,
+	0x5f, 0xce, 0x28, 0x7d, 0x7e, 0xf9, 0x35, 0xe5, 0x3c, 0x62, 0xe8, 0xb9, 0xa8, 0x9a, 0x24, 0xa6,
+	0x5c, 0x41, 0xab, 0x1f, 0x85, 0x42, 0xea, 0x3e, 0x62, 0xed, 0x3f, 0x4c, 0x28, 0xab, 0x32, 0x7f,
+	0x0c, 0x95, 0x4b, 0xa9, 0xb2, 0xbe, 0x02, 0xef, 0xe4, 0x32, 0x52, 0x3f, 0xc0, 0xd7, 0x2e, 0xe8,
+	0x00, 0x1a, 0x81, 0x7c, 0x7a, 0xa9, 0x36, 0xa7, 0x5b, 0xfb, 0x9d, 0x1b, 0x9e, 0x65, 0x47, 0x05,
+	0xdf, 0x0a, 0x32, 0x0f, 0xb9, 0x0e, 0xd4, 0xaf, 0x92, 0x48, 0xc3, 0x8a, 0x12, 0x66, 0x6f, 0x36,
+	0xf4, 0xa3, 0x82, 0x5f, 0xbb, 0x4a, 0x6f, 0x37, 0x17, 0x60, 0x05, 0x70, 0xa5, 0xda, 0x96, 0xbb,
+	0xbb, 0x89, 0x70, 0x8f, 0x0a, 0x7e, 0xfd, 0x6a, 0x75, 0x61, 0x1c, 0x40, 0x23, 0xdb, 0x85, 0xa5,
+	0xdc, 0x19, 0x7a, 0x99, 0xe6, 0x29, 0xe8, 0x65, 0xfa, 0xb2, 0xa0, 0x47, 0x93, 0x40, 0xc3, 0x2a,
+	0x79, 0x7a, 0x69, 0x07, 0x11, 0xf4, 0x68, 0x12, 0xc8, 0xf1, 0xcb, 0x06, 0x80, 0xea, 0xf4, 0xe2,
+	0x5f, 0xbe, 0xec, 0xc1, 0x9d, 0x98, 0x4e, 0x9c, 0x38, 0x21, 0xf3, 0x20, 0xa6, 0xa1, 0x46, 0xfe,
+	0xec, 0x4c, 0x22, 0x7e, 0xb9, 0x38, 0x17, 0x2d, 0xa5, 0x93, 0xae, 0x75, 0xd4, 0xda, 0x13, 0xfd,
+	0x72, 0x5e, 0x3e, 0xed, 0x4c, 0x62, 0x6d, 0x3b, 0xaf, 0x48, 0xe3, 0x37, 0xff, 0x06, 0x00, 0x00,
+	0xff, 0xff, 0x7b, 0x2c, 0xa9, 0x18, 0xdb, 0x0b, 0x00, 0x00,
 }
diff --git a/vendor/github.com/opencord/voltha-protos/v4/go/voltha/voltha.pb.go b/vendor/github.com/opencord/voltha-protos/v4/go/voltha/voltha.pb.go
index 4db124f..2ec3452 100644
--- a/vendor/github.com/opencord/voltha-protos/v4/go/voltha/voltha.pb.go
+++ b/vendor/github.com/opencord/voltha-protos/v4/go/voltha/voltha.pb.go
@@ -91,8 +91,6 @@
 const AdminState_ENABLED = AdminState_Types(common.AdminState_ENABLED)
 const AdminState_DISABLED = AdminState_Types(common.AdminState_DISABLED)
 const AdminState_DOWNLOADING_IMAGE = AdminState_Types(common.AdminState_DOWNLOADING_IMAGE)
-const AdminState_DELETED = AdminState_Types(common.AdminState_DELETED)
-const AdminState_DELETING = AdminState_Types(common.AdminState_DELETING)
 
 // OperStatus_Types from public import voltha_protos/common.proto
 type OperStatus_Types = common.OperStatus_Types
@@ -505,6 +503,7 @@
 // ChangeEvent from public import voltha_protos/openflow_13.proto
 type ChangeEvent = openflow_13.ChangeEvent
 type ChangeEvent_PortStatus = openflow_13.ChangeEvent_PortStatus
+type ChangeEvent_Error = openflow_13.ChangeEvent_Error
 
 // OfpPortNo from public import voltha_protos/openflow_13.proto
 type OfpPortNo = openflow_13.OfpPortNo
