diff --git a/go/afrouter/afrouter.pb.go b/go/afrouter/afrouter.pb.go
index fa8a57d..ffe8dc3 100644
--- a/go/afrouter/afrouter.pb.go
+++ b/go/afrouter/afrouter.pb.go
@@ -7,7 +7,7 @@
 	context "context"
 	fmt "fmt"
 	proto "github.com/golang/protobuf/proto"
-	common "github.com/opencord/voltha-protos/v3/go/common"
+	_ "github.com/opencord/voltha-protos/v3/go/common"
 	grpc "google.golang.org/grpc"
 	math "math"
 )
@@ -325,37 +325,34 @@
 func init() { proto.RegisterFile("voltha_protos/afrouter.proto", fileDescriptor_be7e2f565b9e1c96) }
 
 var fileDescriptor_be7e2f565b9e1c96 = []byte{
-	// 472 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x53, 0x4b, 0x8f, 0xd3, 0x30,
-	0x10, 0xee, 0xbb, 0xdd, 0x81, 0x3e, 0x30, 0x08, 0x59, 0x11, 0xa0, 0x2a, 0xa7, 0x5e, 0x48, 0x11,
-	0x05, 0x71, 0xe1, 0x02, 0x11, 0xea, 0xa5, 0xa7, 0xac, 0xb8, 0x70, 0x41, 0xa9, 0xe3, 0x64, 0xad,
-	0x6d, 0x3d, 0x91, 0xed, 0x44, 0x5a, 0x89, 0x1f, 0xc4, 0xaf, 0xe0, 0xb7, 0x21, 0xdb, 0x49, 0xdb,
-	0xad, 0xe0, 0xf6, 0x3d, 0x66, 0xec, 0xf9, 0xfc, 0x80, 0x57, 0x35, 0x1e, 0xcc, 0x5d, 0xfa, 0xb3,
-	0x54, 0x68, 0x50, 0xaf, 0xd3, 0x5c, 0x61, 0x65, 0xb8, 0x8a, 0x1c, 0x27, 0x93, 0x96, 0x07, 0xc1,
-	0xe3, 0x3a, 0x86, 0xc7, 0x23, 0x4a, 0x5f, 0x15, 0xee, 0x60, 0x94, 0x70, 0x5d, 0x1d, 0x0c, 0xa1,
-	0x30, 0xd6, 0x15, 0x63, 0x5c, 0x6b, 0xda, 0x5d, 0x76, 0x57, 0x93, 0xa4, 0xa5, 0xe4, 0x05, 0x0c,
-	0xb9, 0x52, 0xa8, 0x68, 0x6f, 0xd9, 0x5d, 0xdd, 0x24, 0x9e, 0x10, 0x02, 0x03, 0x21, 0x73, 0xa4,
-	0x7d, 0x27, 0x3a, 0x1c, 0x8e, 0x61, 0xf8, 0xed, 0x58, 0x9a, 0x87, 0xf0, 0x35, 0x0c, 0x63, 0xac,
-	0xa4, 0xb1, 0xbd, 0xcc, 0x02, 0xb7, 0xe6, 0x34, 0xf1, 0x24, 0xfc, 0xd3, 0x85, 0x41, 0x8c, 0x52,
-	0x92, 0x97, 0x30, 0xd2, 0x5c, 0xd5, 0x5c, 0x39, 0xff, 0x26, 0x69, 0x18, 0x59, 0x40, 0xbf, 0xbc,
-	0x2f, 0x9a, 0x0d, 0x2d, 0xb4, 0x8a, 0xae, 0x59, 0xb3, 0x9b, 0x85, 0x76, 0x60, 0x76, 0xa8, 0xb4,
-	0xe1, 0x8a, 0x0e, 0x9c, 0xda, 0x52, 0xeb, 0xec, 0x53, 0x76, 0xcf, 0x65, 0x46, 0x87, 0xde, 0x69,
-	0x28, 0x79, 0x03, 0xc0, 0x50, 0x4a, 0xce, 0x8c, 0x40, 0x49, 0x47, 0xce, 0xbc, 0x50, 0x6c, 0xa8,
-	0x34, 0xcb, 0x14, 0x1d, 0xfb, 0x50, 0x16, 0x5b, 0xad, 0x44, 0x65, 0xe8, 0x64, 0xd9, 0x5d, 0x0d,
-	0x12, 0x87, 0xc3, 0x5f, 0x30, 0xf9, 0x92, 0xe7, 0x42, 0x0a, 0xf3, 0x60, 0x33, 0xf8, 0x83, 0x6e,
-	0x33, 0x78, 0x66, 0xa3, 0x3b, 0xd4, 0x1e, 0x9b, 0x23, 0x97, 0x53, 0xf7, 0xff, 0x3b, 0xf5, 0xe0,
-	0xf1, 0xd4, 0x33, 0xe8, 0x89, 0x36, 0x4a, 0x4f, 0x64, 0xef, 0x7f, 0xf7, 0x60, 0x1a, 0xa3, 0xcc,
-	0x45, 0x51, 0xa9, 0xd4, 0xcd, 0xbd, 0x81, 0xe9, 0x2d, 0x37, 0xf1, 0x39, 0xc8, 0x2c, 0x3a, 0x3d,
-	0x07, 0xab, 0x06, 0x8b, 0x33, 0xf7, 0xf7, 0x1d, 0x76, 0xc8, 0x47, 0x78, 0x72, 0xcb, 0xcd, 0x29,
-	0x07, 0x39, 0x97, 0xb4, 0xda, 0x3f, 0xdb, 0x3e, 0xc1, 0xb3, 0x2d, 0x37, 0x5b, 0xb4, 0xba, 0x90,
-	0xdc, 0xdf, 0xf3, 0xfc, 0x5c, 0xe8, 0x5e, 0x40, 0x30, 0xbf, 0x1c, 0xc0, 0xde, 0x79, 0x87, 0x7c,
-	0x80, 0xd9, 0xf7, 0x32, 0x4b, 0x0d, 0xdf, 0x61, 0xb1, 0xe3, 0x35, 0x3f, 0x90, 0x79, 0xd4, 0x3c,
-	0xc6, 0x1d, 0x16, 0x85, 0x90, 0x45, 0x70, 0xbd, 0x4c, 0xd8, 0x21, 0x9f, 0xe1, 0xe9, 0x96, 0x9b,
-	0xb6, 0x45, 0x13, 0x7a, 0xd5, 0x13, 0xe3, 0xb1, 0x44, 0xc9, 0xa5, 0x09, 0x16, 0x57, 0x8e, 0x0e,
-	0x3b, 0x5f, 0xb7, 0xf0, 0x1c, 0x55, 0x11, 0x61, 0xc9, 0x25, 0x43, 0x95, 0x45, 0xfe, 0x2b, 0xfc,
-	0x78, 0x57, 0x08, 0x73, 0x57, 0xed, 0x6d, 0xc3, 0xba, 0xf5, 0xd6, 0xde, 0x7b, 0xdb, 0x7c, 0x93,
-	0x7a, 0xb3, 0x2e, 0xf0, 0xf4, 0xa9, 0xf6, 0x23, 0x27, 0x6f, 0xfe, 0x06, 0x00, 0x00, 0xff, 0xff,
-	0xa9, 0x0c, 0xed, 0xe3, 0x75, 0x03, 0x00, 0x00,
+	// 420 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x52, 0x4d, 0x8f, 0xd3, 0x30,
+	0x10, 0xdd, 0xb4, 0xe9, 0xc7, 0x0e, 0xea, 0xee, 0x62, 0x10, 0xb2, 0x2a, 0x40, 0x55, 0x4e, 0xbd,
+	0x90, 0x22, 0x2a, 0xc4, 0x19, 0x2a, 0xd4, 0x0b, 0xa7, 0xec, 0x8d, 0x0b, 0x4a, 0x1d, 0x27, 0x6b,
+	0x6d, 0xe3, 0x89, 0x6c, 0x27, 0xd2, 0x4a, 0xfc, 0x2c, 0xce, 0xfc, 0x36, 0x64, 0x3b, 0x6e, 0x5a,
+	0x89, 0xbd, 0xbd, 0x8f, 0x49, 0xfc, 0x9e, 0x3d, 0xf0, 0xb6, 0xc3, 0xa3, 0x79, 0xc8, 0x7f, 0x35,
+	0x0a, 0x0d, 0xea, 0x4d, 0x5e, 0x2a, 0x6c, 0x0d, 0x57, 0xa9, 0xe3, 0x64, 0x1e, 0xf8, 0x72, 0x79,
+	0x39, 0xc7, 0xb0, 0xae, 0x51, 0xfa, 0xa9, 0xe4, 0x07, 0x4c, 0x33, 0xae, 0xdb, 0xa3, 0x21, 0x14,
+	0x66, 0xba, 0x65, 0x8c, 0x6b, 0x4d, 0xa3, 0x55, 0xb4, 0x9e, 0x67, 0x81, 0x92, 0xd7, 0x30, 0xe1,
+	0x4a, 0xa1, 0xa2, 0xa3, 0x55, 0xb4, 0xbe, 0xce, 0x3c, 0x21, 0x04, 0x62, 0x21, 0x4b, 0xa4, 0x63,
+	0x27, 0x3a, 0x9c, 0xcc, 0x60, 0xf2, 0xbd, 0x6e, 0xcc, 0x53, 0xf2, 0x0e, 0x26, 0x3b, 0x6c, 0xa5,
+	0xb1, 0xdf, 0x32, 0x0b, 0xdc, 0x3f, 0x17, 0x99, 0x27, 0xc9, 0xdf, 0x08, 0xe2, 0x1d, 0x4a, 0x49,
+	0xde, 0xc0, 0x54, 0x73, 0xd5, 0x71, 0xe5, 0xfc, 0xeb, 0xac, 0x67, 0xe4, 0x0e, 0xc6, 0xcd, 0x63,
+	0xd5, 0x1f, 0x68, 0xa1, 0x55, 0x74, 0xc7, 0xfa, 0xd3, 0x2c, 0xb4, 0x81, 0xd9, 0xb1, 0xd5, 0x86,
+	0x2b, 0x1a, 0x3b, 0x35, 0x50, 0xeb, 0x1c, 0x72, 0xf6, 0xc8, 0x65, 0x41, 0x27, 0xde, 0xe9, 0x29,
+	0x79, 0x0f, 0xc0, 0x50, 0x4a, 0xce, 0x8c, 0x40, 0x49, 0xa7, 0xce, 0x3c, 0x53, 0x6c, 0xa9, 0xbc,
+	0x28, 0x14, 0x9d, 0xf9, 0x52, 0x16, 0x5b, 0xad, 0x41, 0x65, 0xe8, 0x7c, 0x15, 0xad, 0xe3, 0xcc,
+	0xe1, 0xe4, 0x37, 0xcc, 0xbf, 0x96, 0xa5, 0x90, 0xc2, 0x3c, 0xd9, 0x0e, 0xfe, 0xa2, 0x43, 0x07,
+	0xcf, 0x6c, 0x75, 0x87, 0xc2, 0xb5, 0x39, 0x72, 0x9e, 0x7a, 0xfc, 0x6c, 0xea, 0xf8, 0x32, 0xf5,
+	0x0d, 0x8c, 0x44, 0xa8, 0x32, 0x12, 0xc5, 0xa7, 0x3f, 0x11, 0x2c, 0x76, 0x28, 0x4b, 0x51, 0xb5,
+	0x2a, 0x77, 0xb9, 0xb7, 0xb0, 0xb8, 0xe7, 0x66, 0x37, 0x14, 0xb9, 0x49, 0x4f, 0xeb, 0x60, 0xd5,
+	0xe5, 0xdd, 0xc0, 0xfd, 0x7b, 0x27, 0x57, 0xe4, 0x33, 0xbc, 0xb8, 0xe7, 0xe6, 0xd4, 0x83, 0x0c,
+	0x23, 0x41, 0xfb, 0xef, 0x67, 0x5f, 0xe0, 0xe5, 0x9e, 0x9b, 0x3d, 0x5a, 0x5d, 0x48, 0xee, 0xdf,
+	0xf9, 0x76, 0x18, 0x74, 0x1b, 0xb0, 0xbc, 0x3d, 0x0f, 0x60, 0xdf, 0xfc, 0xea, 0xdb, 0x1e, 0x5e,
+	0xa1, 0xaa, 0x52, 0x6c, 0xb8, 0x64, 0xa8, 0x8a, 0xd4, 0xaf, 0xe5, 0xcf, 0x8f, 0x95, 0x30, 0x0f,
+	0xed, 0x21, 0x65, 0x58, 0x6f, 0x82, 0xb7, 0xf1, 0xde, 0x87, 0x7e, 0x65, 0xbb, 0xed, 0xa6, 0xc2,
+	0xd3, 0x82, 0x1f, 0xa6, 0x4e, 0xde, 0xfe, 0x0b, 0x00, 0x00, 0xff, 0xff, 0x5d, 0x28, 0xe9, 0x22,
+	0x01, 0x03, 0x00, 0x00,
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -373,8 +370,6 @@
 	SetConnection(ctx context.Context, in *Conn, opts ...grpc.CallOption) (*Result, error)
 	SetAffinity(ctx context.Context, in *Affinity, opts ...grpc.CallOption) (*Result, error)
 	GetGoroutineCount(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Count, error)
-	UpdateLogLevel(ctx context.Context, in *common.Logging, opts ...grpc.CallOption) (*Empty, error)
-	GetLogLevels(ctx context.Context, in *common.LoggingComponent, opts ...grpc.CallOption) (*common.Loggings, error)
 }
 
 type configurationClient struct {
@@ -412,31 +407,11 @@
 	return out, nil
 }
 
-func (c *configurationClient) UpdateLogLevel(ctx context.Context, in *common.Logging, opts ...grpc.CallOption) (*Empty, error) {
-	out := new(Empty)
-	err := c.cc.Invoke(ctx, "/afrouter.Configuration/UpdateLogLevel", in, out, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
-func (c *configurationClient) GetLogLevels(ctx context.Context, in *common.LoggingComponent, opts ...grpc.CallOption) (*common.Loggings, error) {
-	out := new(common.Loggings)
-	err := c.cc.Invoke(ctx, "/afrouter.Configuration/GetLogLevels", in, out, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
 // ConfigurationServer is the server API for Configuration service.
 type ConfigurationServer interface {
 	SetConnection(context.Context, *Conn) (*Result, error)
 	SetAffinity(context.Context, *Affinity) (*Result, error)
 	GetGoroutineCount(context.Context, *Empty) (*Count, error)
-	UpdateLogLevel(context.Context, *common.Logging) (*Empty, error)
-	GetLogLevels(context.Context, *common.LoggingComponent) (*common.Loggings, error)
 }
 
 func RegisterConfigurationServer(s *grpc.Server, srv ConfigurationServer) {
@@ -497,42 +472,6 @@
 	return interceptor(ctx, in, info, handler)
 }
 
-func _Configuration_UpdateLogLevel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(common.Logging)
-	if err := dec(in); err != nil {
-		return nil, err
-	}
-	if interceptor == nil {
-		return srv.(ConfigurationServer).UpdateLogLevel(ctx, in)
-	}
-	info := &grpc.UnaryServerInfo{
-		Server:     srv,
-		FullMethod: "/afrouter.Configuration/UpdateLogLevel",
-	}
-	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(ConfigurationServer).UpdateLogLevel(ctx, req.(*common.Logging))
-	}
-	return interceptor(ctx, in, info, handler)
-}
-
-func _Configuration_GetLogLevels_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(common.LoggingComponent)
-	if err := dec(in); err != nil {
-		return nil, err
-	}
-	if interceptor == nil {
-		return srv.(ConfigurationServer).GetLogLevels(ctx, in)
-	}
-	info := &grpc.UnaryServerInfo{
-		Server:     srv,
-		FullMethod: "/afrouter.Configuration/GetLogLevels",
-	}
-	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(ConfigurationServer).GetLogLevels(ctx, req.(*common.LoggingComponent))
-	}
-	return interceptor(ctx, in, info, handler)
-}
-
 var _Configuration_serviceDesc = grpc.ServiceDesc{
 	ServiceName: "afrouter.Configuration",
 	HandlerType: (*ConfigurationServer)(nil),
@@ -549,14 +488,6 @@
 			MethodName: "GetGoroutineCount",
 			Handler:    _Configuration_GetGoroutineCount_Handler,
 		},
-		{
-			MethodName: "UpdateLogLevel",
-			Handler:    _Configuration_UpdateLogLevel_Handler,
-		},
-		{
-			MethodName: "GetLogLevels",
-			Handler:    _Configuration_GetLogLevels_Handler,
-		},
 	},
 	Streams:  []grpc.StreamDesc{},
 	Metadata: "voltha_protos/afrouter.proto",
diff --git a/go/common/common.pb.go b/go/common/common.pb.go
index 96d2f34..c4b9028 100644
--- a/go/common/common.pb.go
+++ b/go/common/common.pb.go
@@ -42,44 +42,6 @@
 	return fileDescriptor_c2e3fd231961e826, []int{0}
 }
 
-// Logging verbosity level
-type LogLevel_Types int32
-
-const (
-	LogLevel_DEBUG    LogLevel_Types = 0
-	LogLevel_INFO     LogLevel_Types = 1
-	LogLevel_WARNING  LogLevel_Types = 2
-	LogLevel_ERROR    LogLevel_Types = 3
-	LogLevel_CRITICAL LogLevel_Types = 4
-	LogLevel_FATAL    LogLevel_Types = 5
-)
-
-var LogLevel_Types_name = map[int32]string{
-	0: "DEBUG",
-	1: "INFO",
-	2: "WARNING",
-	3: "ERROR",
-	4: "CRITICAL",
-	5: "FATAL",
-}
-
-var LogLevel_Types_value = map[string]int32{
-	"DEBUG":    0,
-	"INFO":     1,
-	"WARNING":  2,
-	"ERROR":    3,
-	"CRITICAL": 4,
-	"FATAL":    5,
-}
-
-func (x LogLevel_Types) String() string {
-	return proto.EnumName(LogLevel_Types_name, int32(x))
-}
-
-func (LogLevel_Types) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_c2e3fd231961e826, []int{2, 0}
-}
-
 // Administrative State
 type AdminState_Types int32
 
@@ -122,7 +84,7 @@
 }
 
 func (AdminState_Types) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_c2e3fd231961e826, []int{6, 0}
+	return fileDescriptor_c2e3fd231961e826, []int{2, 0}
 }
 
 // Operational Status
@@ -166,7 +128,7 @@
 }
 
 func (OperStatus_Types) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_c2e3fd231961e826, []int{7, 0}
+	return fileDescriptor_c2e3fd231961e826, []int{3, 0}
 }
 
 // Connectivity Status
@@ -198,7 +160,7 @@
 }
 
 func (ConnectStatus_Types) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_c2e3fd231961e826, []int{8, 0}
+	return fileDescriptor_c2e3fd231961e826, []int{4, 0}
 }
 
 type OperationResp_OperationReturnCode int32
@@ -226,7 +188,7 @@
 }
 
 func (OperationResp_OperationReturnCode) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_c2e3fd231961e826, []int{9, 0}
+	return fileDescriptor_c2e3fd231961e826, []int{5, 0}
 }
 
 // Convey a resource identifier
@@ -309,172 +271,6 @@
 	return nil
 }
 
-type LogLevel struct {
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *LogLevel) Reset()         { *m = LogLevel{} }
-func (m *LogLevel) String() string { return proto.CompactTextString(m) }
-func (*LogLevel) ProtoMessage()    {}
-func (*LogLevel) Descriptor() ([]byte, []int) {
-	return fileDescriptor_c2e3fd231961e826, []int{2}
-}
-
-func (m *LogLevel) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_LogLevel.Unmarshal(m, b)
-}
-func (m *LogLevel) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_LogLevel.Marshal(b, m, deterministic)
-}
-func (m *LogLevel) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_LogLevel.Merge(m, src)
-}
-func (m *LogLevel) XXX_Size() int {
-	return xxx_messageInfo_LogLevel.Size(m)
-}
-func (m *LogLevel) XXX_DiscardUnknown() {
-	xxx_messageInfo_LogLevel.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_LogLevel proto.InternalMessageInfo
-
-type Logging struct {
-	Level                LogLevel_Types `protobuf:"varint,1,opt,name=level,proto3,enum=common.LogLevel_Types" json:"level,omitempty"`
-	PackageName          string         `protobuf:"bytes,2,opt,name=package_name,json=packageName,proto3" json:"package_name,omitempty"`
-	ComponentName        string         `protobuf:"bytes,3,opt,name=component_name,json=componentName,proto3" json:"component_name,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
-	XXX_unrecognized     []byte         `json:"-"`
-	XXX_sizecache        int32          `json:"-"`
-}
-
-func (m *Logging) Reset()         { *m = Logging{} }
-func (m *Logging) String() string { return proto.CompactTextString(m) }
-func (*Logging) ProtoMessage()    {}
-func (*Logging) Descriptor() ([]byte, []int) {
-	return fileDescriptor_c2e3fd231961e826, []int{3}
-}
-
-func (m *Logging) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Logging.Unmarshal(m, b)
-}
-func (m *Logging) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Logging.Marshal(b, m, deterministic)
-}
-func (m *Logging) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Logging.Merge(m, src)
-}
-func (m *Logging) XXX_Size() int {
-	return xxx_messageInfo_Logging.Size(m)
-}
-func (m *Logging) XXX_DiscardUnknown() {
-	xxx_messageInfo_Logging.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Logging proto.InternalMessageInfo
-
-func (m *Logging) GetLevel() LogLevel_Types {
-	if m != nil {
-		return m.Level
-	}
-	return LogLevel_DEBUG
-}
-
-func (m *Logging) GetPackageName() string {
-	if m != nil {
-		return m.PackageName
-	}
-	return ""
-}
-
-func (m *Logging) GetComponentName() string {
-	if m != nil {
-		return m.ComponentName
-	}
-	return ""
-}
-
-// For GetLogLevels(), select component to query
-type LoggingComponent struct {
-	ComponentName        string   `protobuf:"bytes,1,opt,name=component_name,json=componentName,proto3" json:"component_name,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *LoggingComponent) Reset()         { *m = LoggingComponent{} }
-func (m *LoggingComponent) String() string { return proto.CompactTextString(m) }
-func (*LoggingComponent) ProtoMessage()    {}
-func (*LoggingComponent) Descriptor() ([]byte, []int) {
-	return fileDescriptor_c2e3fd231961e826, []int{4}
-}
-
-func (m *LoggingComponent) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_LoggingComponent.Unmarshal(m, b)
-}
-func (m *LoggingComponent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_LoggingComponent.Marshal(b, m, deterministic)
-}
-func (m *LoggingComponent) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_LoggingComponent.Merge(m, src)
-}
-func (m *LoggingComponent) XXX_Size() int {
-	return xxx_messageInfo_LoggingComponent.Size(m)
-}
-func (m *LoggingComponent) XXX_DiscardUnknown() {
-	xxx_messageInfo_LoggingComponent.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_LoggingComponent proto.InternalMessageInfo
-
-func (m *LoggingComponent) GetComponentName() string {
-	if m != nil {
-		return m.ComponentName
-	}
-	return ""
-}
-
-// For returning multiple log levels
-type Loggings struct {
-	Items                []*Logging `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
-	XXX_unrecognized     []byte     `json:"-"`
-	XXX_sizecache        int32      `json:"-"`
-}
-
-func (m *Loggings) Reset()         { *m = Loggings{} }
-func (m *Loggings) String() string { return proto.CompactTextString(m) }
-func (*Loggings) ProtoMessage()    {}
-func (*Loggings) Descriptor() ([]byte, []int) {
-	return fileDescriptor_c2e3fd231961e826, []int{5}
-}
-
-func (m *Loggings) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Loggings.Unmarshal(m, b)
-}
-func (m *Loggings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Loggings.Marshal(b, m, deterministic)
-}
-func (m *Loggings) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Loggings.Merge(m, src)
-}
-func (m *Loggings) XXX_Size() int {
-	return xxx_messageInfo_Loggings.Size(m)
-}
-func (m *Loggings) XXX_DiscardUnknown() {
-	xxx_messageInfo_Loggings.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Loggings proto.InternalMessageInfo
-
-func (m *Loggings) GetItems() []*Logging {
-	if m != nil {
-		return m.Items
-	}
-	return nil
-}
-
 type AdminState struct {
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
@@ -485,7 +281,7 @@
 func (m *AdminState) String() string { return proto.CompactTextString(m) }
 func (*AdminState) ProtoMessage()    {}
 func (*AdminState) Descriptor() ([]byte, []int) {
-	return fileDescriptor_c2e3fd231961e826, []int{6}
+	return fileDescriptor_c2e3fd231961e826, []int{2}
 }
 
 func (m *AdminState) XXX_Unmarshal(b []byte) error {
@@ -516,7 +312,7 @@
 func (m *OperStatus) String() string { return proto.CompactTextString(m) }
 func (*OperStatus) ProtoMessage()    {}
 func (*OperStatus) Descriptor() ([]byte, []int) {
-	return fileDescriptor_c2e3fd231961e826, []int{7}
+	return fileDescriptor_c2e3fd231961e826, []int{3}
 }
 
 func (m *OperStatus) XXX_Unmarshal(b []byte) error {
@@ -547,7 +343,7 @@
 func (m *ConnectStatus) String() string { return proto.CompactTextString(m) }
 func (*ConnectStatus) ProtoMessage()    {}
 func (*ConnectStatus) Descriptor() ([]byte, []int) {
-	return fileDescriptor_c2e3fd231961e826, []int{8}
+	return fileDescriptor_c2e3fd231961e826, []int{4}
 }
 
 func (m *ConnectStatus) XXX_Unmarshal(b []byte) error {
@@ -582,7 +378,7 @@
 func (m *OperationResp) String() string { return proto.CompactTextString(m) }
 func (*OperationResp) ProtoMessage()    {}
 func (*OperationResp) Descriptor() ([]byte, []int) {
-	return fileDescriptor_c2e3fd231961e826, []int{9}
+	return fileDescriptor_c2e3fd231961e826, []int{5}
 }
 
 func (m *OperationResp) XXX_Unmarshal(b []byte) error {
@@ -619,17 +415,12 @@
 
 func init() {
 	proto.RegisterEnum("common.TestModeKeys", TestModeKeys_name, TestModeKeys_value)
-	proto.RegisterEnum("common.LogLevel_Types", LogLevel_Types_name, LogLevel_Types_value)
 	proto.RegisterEnum("common.AdminState_Types", AdminState_Types_name, AdminState_Types_value)
 	proto.RegisterEnum("common.OperStatus_Types", OperStatus_Types_name, OperStatus_Types_value)
 	proto.RegisterEnum("common.ConnectStatus_Types", ConnectStatus_Types_name, ConnectStatus_Types_value)
 	proto.RegisterEnum("common.OperationResp_OperationReturnCode", OperationResp_OperationReturnCode_name, OperationResp_OperationReturnCode_value)
 	proto.RegisterType((*ID)(nil), "common.ID")
 	proto.RegisterType((*IDs)(nil), "common.IDs")
-	proto.RegisterType((*LogLevel)(nil), "common.LogLevel")
-	proto.RegisterType((*Logging)(nil), "common.Logging")
-	proto.RegisterType((*LoggingComponent)(nil), "common.LoggingComponent")
-	proto.RegisterType((*Loggings)(nil), "common.Loggings")
 	proto.RegisterType((*AdminState)(nil), "common.AdminState")
 	proto.RegisterType((*OperStatus)(nil), "common.OperStatus")
 	proto.RegisterType((*ConnectStatus)(nil), "common.ConnectStatus")
@@ -639,45 +430,35 @@
 func init() { proto.RegisterFile("voltha_protos/common.proto", fileDescriptor_c2e3fd231961e826) }
 
 var fileDescriptor_c2e3fd231961e826 = []byte{
-	// 640 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x53, 0x5d, 0x4f, 0xdb, 0x4a,
-	0x10, 0x8d, 0x9d, 0x2f, 0x98, 0x90, 0xb0, 0x77, 0xb9, 0x5c, 0x71, 0xab, 0x3e, 0x50, 0x4b, 0x08,
-	0x5a, 0xb5, 0x89, 0x0a, 0x7d, 0xe9, 0x43, 0x1f, 0x8c, 0xbd, 0xa4, 0x2b, 0xcc, 0x3a, 0x5a, 0x3b,
-	0xa0, 0xf6, 0xa1, 0x91, 0x89, 0x17, 0x63, 0x35, 0xf1, 0x5a, 0xb1, 0x83, 0xc4, 0x63, 0x7f, 0x65,
-	0xff, 0x4e, 0xb5, 0xfe, 0x28, 0x20, 0xe5, 0x71, 0xce, 0x9c, 0xd9, 0x33, 0x73, 0x66, 0x07, 0x5e,
-	0x3d, 0xc8, 0x45, 0x7e, 0x1f, 0xcc, 0xd2, 0x95, 0xcc, 0x65, 0x36, 0x9a, 0xcb, 0xe5, 0x52, 0x26,
-	0xc3, 0x22, 0xc2, 0x9d, 0x32, 0x32, 0xfe, 0x05, 0x9d, 0xda, 0x78, 0x00, 0x7a, 0x1c, 0x1e, 0x68,
-	0x87, 0xda, 0xc9, 0x36, 0xd7, 0xe3, 0xd0, 0x38, 0x86, 0x26, 0xb5, 0x33, 0x7c, 0x08, 0xed, 0x38,
-	0x17, 0xcb, 0xec, 0x40, 0x3b, 0x6c, 0x9e, 0xf4, 0x4e, 0x61, 0x58, 0x3d, 0x41, 0x6d, 0x5e, 0x26,
-	0x8c, 0x6f, 0xb0, 0xe5, 0xc8, 0xc8, 0x11, 0x0f, 0x62, 0x61, 0x5c, 0x41, 0xdb, 0x7f, 0x4c, 0x45,
-	0x86, 0xb7, 0xa1, 0x6d, 0x93, 0xf3, 0xe9, 0x18, 0x35, 0xf0, 0x16, 0xb4, 0x28, 0xbb, 0x70, 0x91,
-	0x86, 0x7b, 0xd0, 0xbd, 0x31, 0x39, 0xa3, 0x6c, 0x8c, 0x74, 0xc5, 0x20, 0x9c, 0xbb, 0x1c, 0x35,
-	0xf1, 0x0e, 0x6c, 0x59, 0x9c, 0xfa, 0xd4, 0x32, 0x1d, 0xd4, 0x52, 0x89, 0x0b, 0xd3, 0x37, 0x1d,
-	0xd4, 0x36, 0x7e, 0x69, 0xd0, 0x75, 0x64, 0x14, 0xc5, 0x49, 0x84, 0xdf, 0x43, 0x7b, 0xa1, 0x34,
-	0x8a, 0x16, 0x07, 0xa7, 0xff, 0xd5, 0x8d, 0xd4, 0xda, 0xc3, 0x42, 0x98, 0x97, 0x24, 0xfc, 0x06,
-	0x76, 0xd2, 0x60, 0xfe, 0x33, 0x88, 0xc4, 0x2c, 0x09, 0x96, 0xe2, 0x40, 0x2f, 0xe6, 0xea, 0x55,
-	0x18, 0x0b, 0x96, 0x02, 0x1f, 0xc1, 0x60, 0x2e, 0x97, 0xa9, 0x4c, 0x44, 0x92, 0x97, 0xa4, 0x66,
-	0x41, 0xea, 0xff, 0x45, 0x15, 0xcd, 0xf8, 0x0c, 0xa8, 0x6a, 0xc1, 0xaa, 0xf1, 0x0d, 0xa5, 0xda,
-	0xa6, 0xd2, 0x8f, 0x85, 0x33, 0xaa, 0x34, 0xc3, 0x47, 0x2f, 0x7d, 0xdc, 0x7d, 0xd6, 0xbe, 0x22,
-	0xd4, 0x66, 0xae, 0x01, 0xcc, 0x70, 0x19, 0x27, 0x5e, 0x1e, 0xe4, 0xc2, 0x88, 0x6a, 0x3b, 0x7b,
-	0xd0, 0x9d, 0xb2, 0x4b, 0xe6, 0xde, 0x30, 0xd4, 0xc0, 0x18, 0x06, 0x13, 0x4e, 0x26, 0xdc, 0xbd,
-	0xa6, 0x1e, 0x75, 0x19, 0xb1, 0x4b, 0x6b, 0x09, 0x33, 0xcf, 0x1d, 0x62, 0x23, 0x5d, 0xf9, 0x69,
-	0x53, 0xaf, 0x8c, 0x9a, 0x78, 0x1f, 0xfe, 0xb1, 0xdd, 0x1b, 0xe6, 0xb8, 0xa6, 0x4d, 0xd9, 0x78,
-	0x46, 0xaf, 0xcc, 0x31, 0x41, 0x2d, 0x55, 0x61, 0x13, 0x87, 0xf8, 0xc4, 0x46, 0x6d, 0x23, 0x02,
-	0x70, 0x53, 0xb1, 0x52, 0xaa, 0x6b, 0xb5, 0xd1, 0x4d, 0xb2, 0x03, 0x00, 0x9b, 0x7a, 0x96, 0x7b,
-	0x4d, 0x78, 0x21, 0x39, 0x00, 0x30, 0x2d, 0x9f, 0x5e, 0x9b, 0x7e, 0xb9, 0xd0, 0x1e, 0x74, 0x7d,
-	0xe2, 0x15, 0x41, 0x13, 0x03, 0x74, 0x8a, 0xa4, 0x52, 0x02, 0xe8, 0x5c, 0x98, 0xd4, 0x29, 0x84,
-	0x08, 0xf4, 0x2d, 0x99, 0x24, 0x62, 0x9e, 0x57, 0x5a, 0x9f, 0x36, 0x6a, 0xed, 0x42, 0x6f, 0xca,
-	0x38, 0x31, 0xad, 0xaf, 0x6a, 0x0a, 0xa4, 0xe1, 0x3e, 0x6c, 0x3f, 0x85, 0xba, 0xf1, 0x5b, 0x83,
-	0xbe, 0x6a, 0x38, 0xc8, 0x63, 0x99, 0x70, 0x91, 0xa5, 0xf8, 0x0b, 0xb4, 0xe6, 0x32, 0x14, 0xd5,
-	0xef, 0x78, 0x5b, 0xdb, 0xfb, 0x82, 0xf4, 0x3c, 0xca, 0xd7, 0xab, 0xc4, 0x92, 0xa1, 0xe0, 0x45,
-	0x19, 0x3e, 0x86, 0xdd, 0x20, 0x0c, 0x63, 0x95, 0x0b, 0x16, 0xb3, 0x38, 0xb9, 0x93, 0xd5, 0x97,
-	0x19, 0x3c, 0xc1, 0x34, 0xb9, 0x93, 0xc6, 0x0f, 0xd8, 0xdb, 0xf0, 0x8a, 0x32, 0xd9, 0x9d, 0x10,
-	0x6e, 0xfa, 0xd4, 0x65, 0x33, 0x6f, 0x6a, 0x59, 0xc4, 0xf3, 0x50, 0xe3, 0x25, 0xac, 0x4c, 0x98,
-	0x72, 0x35, 0xcd, 0xff, 0xb0, 0xff, 0x04, 0x4f, 0x99, 0x37, 0x9d, 0x4c, 0x5c, 0xae, 0x36, 0xa1,
-	0xbf, 0x7b, 0x0d, 0x3b, 0xbe, 0xc8, 0xf2, 0x2b, 0x19, 0x8a, 0x4b, 0xf1, 0x98, 0xa9, 0x5d, 0x06,
-	0x69, 0x3c, 0xcb, 0x45, 0x96, 0xa3, 0xc6, 0x39, 0x81, 0x3d, 0xb9, 0x8a, 0x86, 0x32, 0x15, 0xc9,
-	0x5c, 0xae, 0xc2, 0x61, 0x79, 0xdd, 0xdf, 0x87, 0x51, 0x9c, 0xdf, 0xaf, 0x6f, 0xd5, 0xd0, 0xa3,
-	0x3a, 0x37, 0x2a, 0x73, 0x1f, 0xaa, 0xcb, 0x7f, 0x38, 0x1b, 0x45, 0xb2, 0xba, 0xff, 0xdb, 0x4e,
-	0x01, 0x9e, 0xfd, 0x09, 0x00, 0x00, 0xff, 0xff, 0x80, 0xbf, 0xca, 0x42, 0x1e, 0x04, 0x00, 0x00,
+	// 480 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x52, 0xd1, 0x4e, 0xdb, 0x30,
+	0x14, 0x6d, 0x52, 0xda, 0x8d, 0x5b, 0x1a, 0x32, 0x33, 0xa4, 0x6e, 0xda, 0x43, 0x95, 0x17, 0xd8,
+	0xa4, 0xb5, 0x12, 0xec, 0x75, 0x0f, 0x21, 0xf6, 0x3a, 0x8b, 0x62, 0x57, 0x4e, 0x52, 0xb4, 0x3d,
+	0xac, 0x0a, 0x8d, 0x29, 0x91, 0x68, 0x1c, 0x25, 0x2e, 0x12, 0x5f, 0xba, 0xdf, 0x99, 0x9c, 0x14,
+	0x75, 0x48, 0x7d, 0x3c, 0xe7, 0x5c, 0xdf, 0xe3, 0x7b, 0xee, 0x85, 0x8f, 0x4f, 0xea, 0x51, 0x3f,
+	0x24, 0x8b, 0xa2, 0x54, 0x5a, 0x55, 0xe3, 0xa5, 0x5a, 0xaf, 0x55, 0x3e, 0xaa, 0x11, 0xea, 0x36,
+	0xc8, 0x7b, 0x0f, 0x36, 0xc5, 0xc8, 0x01, 0x3b, 0x4b, 0x07, 0xd6, 0xd0, 0x3a, 0x3f, 0x14, 0x76,
+	0x96, 0x7a, 0x67, 0xd0, 0xa6, 0xb8, 0x42, 0x43, 0xe8, 0x64, 0x5a, 0xae, 0xab, 0x81, 0x35, 0x6c,
+	0x9f, 0xf7, 0x2e, 0x60, 0xb4, 0x6d, 0x41, 0xb1, 0x68, 0x04, 0x6f, 0x03, 0xe0, 0xa7, 0xeb, 0x2c,
+	0x0f, 0x75, 0xa2, 0xa5, 0xb7, 0x82, 0x4e, 0xf4, 0x5c, 0xc8, 0x0a, 0xf5, 0xe0, 0x4d, 0xcc, 0xae,
+	0x19, 0xbf, 0x65, 0x6e, 0x0b, 0x21, 0x70, 0x66, 0x82, 0xcc, 0x04, 0x9f, 0xd3, 0x90, 0x72, 0x46,
+	0xb0, 0x6b, 0x99, 0x02, 0xc2, 0xfc, 0xab, 0x29, 0xc1, 0xae, 0x8d, 0x8e, 0xe0, 0x2d, 0xa6, 0x61,
+	0x83, 0xda, 0xe8, 0x14, 0xde, 0x61, 0x7e, 0xcb, 0xa6, 0xdc, 0xc7, 0x94, 0x4d, 0x16, 0xf4, 0xc6,
+	0x9f, 0x10, 0xf7, 0xc0, 0xbc, 0xc0, 0x64, 0x4a, 0x22, 0x82, 0xdd, 0x8e, 0xb7, 0x02, 0xe0, 0x85,
+	0x2c, 0x8d, 0xeb, 0xa6, 0xf2, 0x7e, 0xed, 0xb5, 0x75, 0x00, 0x30, 0x0d, 0x03, 0x3e, 0x27, 0xa2,
+	0xb6, 0x74, 0x00, 0xfc, 0x20, 0xa2, 0x73, 0x3f, 0xa2, 0x6c, 0xe2, 0xda, 0xa6, 0x38, 0x22, 0x61,
+	0x0d, 0xda, 0x08, 0xa0, 0x5b, 0x8b, 0xc6, 0x09, 0xa0, 0xfb, 0xc3, 0xa7, 0xd3, 0xda, 0x88, 0x40,
+	0x3f, 0x50, 0x79, 0x2e, 0x97, 0x7a, 0xeb, 0xf5, 0x6d, 0xaf, 0xd7, 0x31, 0xf4, 0x62, 0x26, 0x88,
+	0x1f, 0xfc, 0x34, 0x53, 0xb8, 0x16, 0xea, 0xc3, 0xe1, 0x0e, 0xda, 0xde, 0x5f, 0x0b, 0xfa, 0xe6,
+	0xc3, 0x89, 0xce, 0x54, 0x2e, 0x64, 0x55, 0xa0, 0xef, 0x70, 0xb0, 0x54, 0xa9, 0xac, 0x33, 0x77,
+	0x2e, 0x3e, 0xbf, 0x24, 0xfb, 0xaa, 0xe8, 0x7f, 0xa4, 0x37, 0x65, 0x1e, 0xa8, 0x54, 0x8a, 0xfa,
+	0x19, 0x3a, 0x83, 0xe3, 0x24, 0x4d, 0x33, 0xa3, 0x25, 0x8f, 0x8b, 0x2c, 0xbf, 0x57, 0x03, 0xbb,
+	0xde, 0x9e, 0xb3, 0xa3, 0x69, 0x7e, 0xaf, 0xbc, 0x3f, 0x70, 0xb2, 0xa7, 0x8b, 0x09, 0x99, 0xcf,
+	0x88, 0xf0, 0x23, 0xca, 0xd9, 0x22, 0x8c, 0x83, 0x80, 0x84, 0xa1, 0xdb, 0x7a, 0x4d, 0x9b, 0x10,
+	0x62, 0x61, 0xa6, 0xf9, 0x00, 0xa7, 0x3b, 0x3a, 0x66, 0x61, 0x3c, 0x9b, 0x71, 0x61, 0x36, 0x61,
+	0x7f, 0xf9, 0x04, 0x47, 0x91, 0xac, 0xf4, 0x8d, 0x4a, 0xe5, 0xb5, 0x7c, 0xae, 0xcc, 0x2e, 0x93,
+	0x22, 0x5b, 0x68, 0x59, 0x69, 0xb7, 0x75, 0x45, 0xe0, 0x44, 0x95, 0xab, 0x91, 0x2a, 0x64, 0xbe,
+	0x54, 0x65, 0x3a, 0x6a, 0x0e, 0xf2, 0xf7, 0x68, 0x95, 0xe9, 0x87, 0xcd, 0x9d, 0x19, 0x7a, 0xfc,
+	0xa2, 0x8d, 0x1b, 0xed, 0xeb, 0xf6, 0x58, 0x9f, 0x2e, 0xc7, 0x2b, 0xb5, 0x3d, 0xd9, 0xbb, 0x6e,
+	0x4d, 0x5e, 0xfe, 0x0b, 0x00, 0x00, 0xff, 0xff, 0xd2, 0x21, 0x5c, 0x35, 0xd1, 0x02, 0x00, 0x00,
 }
diff --git a/go/inter_container/inter_container.pb.go b/go/inter_container/inter_container.pb.go
index 880a0a2..a5dea13 100644
--- a/go/inter_container/inter_container.pb.go
+++ b/go/inter_container/inter_container.pb.go
@@ -30,18 +30,6 @@
 // IDs from public import voltha_protos/common.proto
 type IDs = common.IDs
 
-// LogLevel from public import voltha_protos/common.proto
-type LogLevel = common.LogLevel
-
-// Logging from public import voltha_protos/common.proto
-type Logging = common.Logging
-
-// LoggingComponent from public import voltha_protos/common.proto
-type LoggingComponent = common.LoggingComponent
-
-// Loggings from public import voltha_protos/common.proto
-type Loggings = common.Loggings
-
 // AdminState from public import voltha_protos/common.proto
 type AdminState = common.AdminState
 
@@ -62,19 +50,6 @@
 
 const TestModeKeys_api_test = TestModeKeys(common.TestModeKeys_api_test)
 
-// LogLevel_Types from public import voltha_protos/common.proto
-type LogLevel_Types = common.LogLevel_Types
-
-var LogLevel_Types_name = common.LogLevel_Types_name
-var LogLevel_Types_value = common.LogLevel_Types_value
-
-const LogLevel_DEBUG = LogLevel_Types(common.LogLevel_DEBUG)
-const LogLevel_INFO = LogLevel_Types(common.LogLevel_INFO)
-const LogLevel_WARNING = LogLevel_Types(common.LogLevel_WARNING)
-const LogLevel_ERROR = LogLevel_Types(common.LogLevel_ERROR)
-const LogLevel_CRITICAL = LogLevel_Types(common.LogLevel_CRITICAL)
-const LogLevel_FATAL = LogLevel_Types(common.LogLevel_FATAL)
-
 // AdminState_Types from public import voltha_protos/common.proto
 type AdminState_Types = common.AdminState_Types
 
diff --git a/go/voltha/adapter.pb.go b/go/voltha/adapter.pb.go
index 1f24221..4cc76e0 100644
--- a/go/voltha/adapter.pb.go
+++ b/go/voltha/adapter.pb.go
@@ -8,7 +8,7 @@
 	proto "github.com/golang/protobuf/proto"
 	any "github.com/golang/protobuf/ptypes/any"
 	timestamp "github.com/golang/protobuf/ptypes/timestamp"
-	common "github.com/opencord/voltha-protos/v3/go/common"
+	_ "github.com/opencord/voltha-protos/v3/go/common"
 	math "math"
 )
 
@@ -24,8 +24,6 @@
 const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
 
 type AdapterConfig struct {
-	// Common adapter config attributes here
-	LogLevel common.LogLevel_Types `protobuf:"varint,1,opt,name=log_level,json=logLevel,proto3,enum=common.LogLevel_Types" json:"log_level,omitempty"`
 	// Custom (vendor-specific) configuration attributes
 	AdditionalConfig     *any.Any `protobuf:"bytes,64,opt,name=additional_config,json=additionalConfig,proto3" json:"additional_config,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
@@ -58,13 +56,6 @@
 
 var xxx_messageInfo_AdapterConfig proto.InternalMessageInfo
 
-func (m *AdapterConfig) GetLogLevel() common.LogLevel_Types {
-	if m != nil {
-		return m.LogLevel
-	}
-	return common.LogLevel_DEBUG
-}
-
 func (m *AdapterConfig) GetAdditionalConfig() *any.Any {
 	if m != nil {
 		return m.AdditionalConfig
@@ -213,33 +204,31 @@
 func init() { proto.RegisterFile("voltha_protos/adapter.proto", fileDescriptor_7e998ce153307274) }
 
 var fileDescriptor_7e998ce153307274 = []byte{
-	// 439 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x52, 0xdd, 0x6a, 0xdb, 0x30,
-	0x14, 0xc6, 0xc9, 0x92, 0x36, 0x2a, 0xdd, 0x52, 0x6d, 0x29, 0x5e, 0x46, 0x69, 0x08, 0x0c, 0x72,
-	0xb1, 0xca, 0x2c, 0x79, 0x81, 0x25, 0xed, 0x4d, 0xa1, 0x57, 0x26, 0xec, 0x62, 0x37, 0x46, 0xb1,
-	0x54, 0x55, 0x20, 0xeb, 0x18, 0x4b, 0x31, 0xe4, 0x09, 0xf6, 0x74, 0x7b, 0x83, 0x3d, 0xc0, 0x9e,
-	0x60, 0xd7, 0xc3, 0x92, 0x4c, 0x7e, 0x06, 0xbd, 0x32, 0xe7, 0xfb, 0xbe, 0x73, 0xbe, 0xef, 0x1c,
-	0x0b, 0x7d, 0xaa, 0x41, 0xd9, 0x17, 0x9a, 0x95, 0x15, 0x58, 0x30, 0x09, 0x65, 0xb4, 0xb4, 0xbc,
-	0x22, 0xae, 0xc4, 0x7d, 0x4f, 0x8e, 0x3f, 0x0a, 0x00, 0xa1, 0x78, 0xe2, 0xd0, 0xcd, 0xf6, 0x39,
-	0xa1, 0x7a, 0xe7, 0x25, 0xe3, 0xf1, 0x71, 0x7f, 0x0e, 0x45, 0x01, 0x3a, 0x70, 0xf1, 0x31, 0x57,
-	0x70, 0x4b, 0x03, 0x73, 0x7b, 0x3a, 0xd0, 0xca, 0x82, 0x1b, 0x4b, 0x8b, 0xd2, 0x0b, 0xa6, 0x3f,
-	0x23, 0x74, 0xb9, 0xf4, 0x59, 0xee, 0x41, 0x3f, 0x4b, 0x81, 0x17, 0x68, 0xa0, 0x40, 0x64, 0x8a,
-	0xd7, 0x5c, 0xc5, 0xd1, 0x24, 0x9a, 0xbd, 0x9d, 0x5f, 0x93, 0x60, 0xf7, 0x04, 0xe2, 0xa9, 0xc1,
-	0xc9, 0x7a, 0x57, 0x72, 0x93, 0x9e, 0xab, 0x50, 0xe3, 0x25, 0xba, 0xa2, 0x8c, 0x49, 0x2b, 0x41,
-	0x53, 0x95, 0xe5, 0x6e, 0x52, 0xfc, 0x6d, 0x12, 0xcd, 0x2e, 0xe6, 0x1f, 0x88, 0xcf, 0x40, 0xda,
-	0x0c, 0x64, 0xa9, 0x77, 0xe9, 0x70, 0x2f, 0xf7, 0xbe, 0xd3, 0xdf, 0x1d, 0x74, 0x16, 0x92, 0xe0,
-	0x11, 0xea, 0x48, 0xe6, 0xcc, 0x07, 0xab, 0xde, 0x9f, 0xbf, 0xbf, 0x6e, 0xa2, 0xb4, 0x23, 0x19,
-	0xbe, 0x41, 0xfd, 0x9a, 0x6b, 0x06, 0x55, 0xdc, 0x39, 0xa4, 0x02, 0x88, 0x6f, 0xd1, 0x59, 0xcd,
-	0x2b, 0x23, 0x41, 0xc7, 0xdd, 0x43, 0xbe, 0x45, 0xf1, 0x1d, 0xea, 0x87, 0x68, 0x43, 0x17, 0x6d,
-	0x44, 0xfc, 0xe1, 0xc8, 0xd1, 0x05, 0xd2, 0x20, 0xc2, 0x29, 0xba, 0x3e, 0x58, 0x8a, 0x71, 0x93,
-	0x57, 0xb2, 0x6c, 0xaa, 0xd7, 0x36, 0x6b, 0x4d, 0x47, 0xfb, 0xd6, 0x87, 0x7d, 0x27, 0xfe, 0x82,
-	0xb0, 0x02, 0x21, 0x73, 0x37, 0xb0, 0x96, 0x39, 0xcf, 0x24, 0x33, 0xf1, 0x9b, 0x49, 0x77, 0x36,
-	0x48, 0x87, 0x81, 0x79, 0x70, 0xc4, 0x23, 0x33, 0xf8, 0x11, 0x61, 0x45, 0x8d, 0xcd, 0x9a, 0xf3,
-	0x6f, 0xb5, 0xcc, 0xa9, 0x73, 0xef, 0x39, 0xf7, 0xf1, 0x7f, 0xee, 0xeb, 0xf6, 0xdf, 0xa6, 0x57,
-	0x4d, 0xd7, 0xfd, 0x61, 0xd3, 0xf4, 0x2b, 0x3a, 0x0f, 0x5b, 0x1a, 0xfc, 0x19, 0xf5, 0xa4, 0xe5,
-	0x85, 0x89, 0xa3, 0x49, 0x77, 0x76, 0x31, 0x7f, 0x77, 0x72, 0x86, 0xd4, 0xb3, 0xab, 0x35, 0x7a,
-	0x0f, 0x95, 0x20, 0x50, 0x72, 0x9d, 0x43, 0xc5, 0x82, 0x6a, 0x75, 0xf9, 0xdd, 0x7d, 0x83, 0xf8,
-	0x07, 0x11, 0xd2, 0xbe, 0x6c, 0x37, 0xcd, 0x13, 0x49, 0x5a, 0x69, 0xe2, 0xa5, 0x77, 0xe1, 0x41,
-	0xd6, 0x8b, 0x44, 0x40, 0xc0, 0x36, 0x7d, 0x07, 0x2e, 0xfe, 0x05, 0x00, 0x00, 0xff, 0xff, 0x4d,
-	0xb1, 0x4a, 0xa8, 0x11, 0x03, 0x00, 0x00,
+	// 405 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xd1, 0x6a, 0xdb, 0x30,
+	0x14, 0x86, 0x71, 0xb2, 0xb8, 0xab, 0x4a, 0x59, 0xaa, 0x2d, 0xc3, 0xf3, 0x28, 0x35, 0x81, 0x81,
+	0x2f, 0x56, 0x99, 0xb5, 0x2f, 0xb0, 0xa4, 0xbd, 0xe9, 0xad, 0x28, 0xbb, 0xd8, 0x8d, 0x51, 0x24,
+	0xd5, 0x15, 0xd8, 0x3a, 0xc6, 0x52, 0x0c, 0x7d, 0xc8, 0xbd, 0xc1, 0x1e, 0x60, 0x4f, 0xb0, 0xeb,
+	0x11, 0x49, 0x26, 0x4e, 0x06, 0xbd, 0x32, 0xfa, 0xbf, 0xff, 0xfc, 0xe7, 0x1c, 0xc9, 0xe8, 0x73,
+	0x0f, 0xb5, 0x7d, 0x66, 0x65, 0xdb, 0x81, 0x05, 0x53, 0x30, 0xc1, 0x5a, 0x2b, 0x3b, 0xe2, 0x8e,
+	0x38, 0xf6, 0x30, 0xfd, 0x54, 0x01, 0x54, 0xb5, 0x2c, 0x9c, 0xba, 0xd9, 0x3e, 0x15, 0x4c, 0xbf,
+	0x78, 0x4b, 0x9a, 0x1e, 0xd6, 0x73, 0x68, 0x1a, 0xd0, 0x81, 0x25, 0x87, 0xac, 0x91, 0x96, 0x05,
+	0x72, 0x75, 0x1c, 0x68, 0x55, 0x23, 0x8d, 0x65, 0x4d, 0xeb, 0x0d, 0x4b, 0x8a, 0xce, 0x57, 0x7e,
+	0x94, 0x3b, 0xd0, 0x4f, 0xaa, 0xc2, 0x2b, 0x74, 0xc1, 0x84, 0x50, 0x56, 0x81, 0x66, 0x75, 0xc9,
+	0x9d, 0x98, 0x7c, 0xcf, 0xa2, 0xfc, 0xec, 0xe6, 0x03, 0xf1, 0x69, 0x64, 0x48, 0x23, 0x2b, 0xfd,
+	0x42, 0xe7, 0x7b, 0xbb, 0x8f, 0x58, 0xfe, 0x9e, 0xa0, 0x93, 0x10, 0x8a, 0x17, 0x68, 0xa2, 0x44,
+	0x12, 0x65, 0x51, 0x7e, 0xba, 0x9e, 0xfd, 0xf9, 0xfb, 0xeb, 0x32, 0xa2, 0x13, 0x25, 0xf0, 0x25,
+	0x8a, 0x7b, 0xa9, 0x05, 0x74, 0xc9, 0x64, 0x8c, 0x82, 0x88, 0xaf, 0xd0, 0x49, 0x2f, 0x3b, 0xa3,
+	0x40, 0x27, 0xd3, 0x31, 0x1f, 0x54, 0x7c, 0x8d, 0xe2, 0x30, 0xda, 0xdc, 0x8d, 0xb6, 0x20, 0xfe,
+	0x0a, 0xc8, 0xc1, 0x32, 0x34, 0x98, 0x30, 0x45, 0x1f, 0x47, 0x4b, 0x09, 0x69, 0x78, 0xa7, 0xda,
+	0xdd, 0xe9, 0xb5, 0xcd, 0x86, 0xa6, 0x8b, 0x7d, 0xe9, 0xfd, 0xbe, 0x12, 0x7f, 0x45, 0xb8, 0x86,
+	0x4a, 0x71, 0x17, 0xd8, 0x2b, 0x2e, 0x4b, 0x25, 0x4c, 0xf2, 0x26, 0x9b, 0xe6, 0xa7, 0x74, 0x1e,
+	0xc8, 0xbd, 0x03, 0x0f, 0xc2, 0xe0, 0x07, 0x84, 0x6b, 0x66, 0x6c, 0xb9, 0x7b, 0xb7, 0xad, 0x56,
+	0x9c, 0xb9, 0xee, 0x33, 0xd7, 0x3d, 0xfd, 0xaf, 0xfb, 0xe3, 0xf0, 0x4a, 0xf4, 0x62, 0x57, 0x75,
+	0x37, 0x2e, 0x5a, 0x7e, 0x43, 0x6f, 0xc3, 0x96, 0x06, 0x7f, 0x41, 0x33, 0x65, 0x65, 0x63, 0x92,
+	0x28, 0x9b, 0xe6, 0x67, 0x37, 0xef, 0x8e, 0xae, 0x81, 0x7a, 0xba, 0x7e, 0x44, 0xef, 0xa1, 0xab,
+	0x08, 0xb4, 0x52, 0x73, 0xe8, 0x44, 0x70, 0xad, 0xcf, 0x7f, 0xb8, 0x6f, 0x30, 0xff, 0x24, 0x95,
+	0xb2, 0xcf, 0xdb, 0x0d, 0xe1, 0xd0, 0x14, 0x83, 0xb5, 0xf0, 0xd6, 0xeb, 0xf0, 0x6b, 0xf5, 0xb7,
+	0x45, 0x05, 0x41, 0xdb, 0xc4, 0x4e, 0xbc, 0xfd, 0x17, 0x00, 0x00, 0xff, 0xff, 0x4e, 0xc5, 0xdf,
+	0x09, 0xdb, 0x02, 0x00, 0x00,
 }
diff --git a/go/voltha/voltha.pb.go b/go/voltha/voltha.pb.go
index f6512d6..172221f 100644
--- a/go/voltha/voltha.pb.go
+++ b/go/voltha/voltha.pb.go
@@ -50,18 +50,6 @@
 // IDs from public import voltha_protos/common.proto
 type IDs = common.IDs
 
-// LogLevel from public import voltha_protos/common.proto
-type LogLevel = common.LogLevel
-
-// Logging from public import voltha_protos/common.proto
-type Logging = common.Logging
-
-// LoggingComponent from public import voltha_protos/common.proto
-type LoggingComponent = common.LoggingComponent
-
-// Loggings from public import voltha_protos/common.proto
-type Loggings = common.Loggings
-
 // AdminState from public import voltha_protos/common.proto
 type AdminState = common.AdminState
 
@@ -82,19 +70,6 @@
 
 const TestModeKeys_api_test = TestModeKeys(common.TestModeKeys_api_test)
 
-// LogLevel_Types from public import voltha_protos/common.proto
-type LogLevel_Types = common.LogLevel_Types
-
-var LogLevel_Types_name = common.LogLevel_Types_name
-var LogLevel_Types_value = common.LogLevel_Types_value
-
-const LogLevel_DEBUG = LogLevel_Types(common.LogLevel_DEBUG)
-const LogLevel_INFO = LogLevel_Types(common.LogLevel_INFO)
-const LogLevel_WARNING = LogLevel_Types(common.LogLevel_WARNING)
-const LogLevel_ERROR = LogLevel_Types(common.LogLevel_ERROR)
-const LogLevel_CRITICAL = LogLevel_Types(common.LogLevel_CRITICAL)
-const LogLevel_FATAL = LogLevel_Types(common.LogLevel_FATAL)
-
 // AdminState_Types from public import voltha_protos/common.proto
 type AdminState_Types = common.AdminState_Types
 
@@ -2015,162 +1990,157 @@
 func init() { proto.RegisterFile("voltha_protos/voltha.proto", fileDescriptor_e084f1a60ce7016c) }
 
 var fileDescriptor_e084f1a60ce7016c = []byte{
-	// 2467 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x9a, 0xcd, 0x73, 0xdb, 0xc6,
-	0x15, 0xc0, 0x05, 0x7d, 0xeb, 0x89, 0x92, 0xc8, 0xa5, 0x3e, 0x68, 0x4a, 0x8a, 0xed, 0x8d, 0x63,
-	0xab, 0x4a, 0x4c, 0xda, 0x96, 0xe3, 0x69, 0xed, 0x66, 0x1a, 0x89, 0x92, 0x55, 0xd6, 0x92, 0xc9,
-	0x42, 0x96, 0xdd, 0x8f, 0x78, 0x38, 0x20, 0xb1, 0xa4, 0x30, 0x06, 0x01, 0x16, 0xbb, 0xa4, 0xa3,
-	0xf1, 0xe4, 0x92, 0x7e, 0xa4, 0xf7, 0xdc, 0x7b, 0x6a, 0xa7, 0x33, 0xfd, 0x5f, 0x72, 0xea, 0xa9,
-	0xd7, 0x4e, 0x0f, 0xfd, 0x0b, 0x32, 0xd3, 0x5b, 0x67, 0x3f, 0x40, 0x02, 0x04, 0x20, 0x89, 0x69,
-	0x66, 0x7a, 0xb2, 0xb1, 0x6f, 0xf7, 0xf7, 0xde, 0xbe, 0xdd, 0x7d, 0xfb, 0xf6, 0x51, 0x90, 0xef,
-	0xb9, 0x36, 0x3b, 0x33, 0x6a, 0x1d, 0xcf, 0x65, 0x2e, 0x2d, 0xca, 0xaf, 0x82, 0xf8, 0x42, 0xd3,
-	0xf2, 0x2b, 0xbf, 0xd1, 0x72, 0xdd, 0x96, 0x4d, 0x8a, 0x46, 0xc7, 0x2a, 0x1a, 0x8e, 0xe3, 0x32,
-	0x83, 0x59, 0xae, 0x43, 0x65, 0xaf, 0xfc, 0xba, 0x92, 0x8a, 0xaf, 0x7a, 0xb7, 0x59, 0x24, 0xed,
-	0x0e, 0x3b, 0x57, 0xc2, 0x5c, 0x18, 0xdf, 0x26, 0x4c, 0xc1, 0xf3, 0x43, 0x8a, 0x1b, 0x6e, 0xbb,
-	0xed, 0x3a, 0xf1, 0xb2, 0x33, 0x62, 0xd8, 0xec, 0x4c, 0xc9, 0x70, 0x58, 0x66, 0xbb, 0x2d, 0xab,
-	0x61, 0xd8, 0x35, 0x93, 0xf4, 0xac, 0x06, 0x89, 0x1f, 0x1f, 0x92, 0xad, 0x87, 0x65, 0x86, 0x69,
-	0x74, 0x18, 0xf1, 0x94, 0xf0, 0x7a, 0x58, 0xe8, 0x76, 0x88, 0xd3, 0xb4, 0xdd, 0xb7, 0xb5, 0xfb,
-	0x3b, 0x09, 0x1d, 0xda, 0x0d, 0xab, 0xd6, 0xb6, 0xea, 0x35, 0xb3, 0xae, 0x3a, 0xdc, 0x8c, 0xe9,
-	0x60, 0xd8, 0x86, 0xd7, 0xee, 0x77, 0xc1, 0x7f, 0xd6, 0x60, 0x7e, 0x5f, 0x98, 0x74, 0xe8, 0xb9,
-	0xdd, 0x0e, 0x5a, 0x81, 0x71, 0xcb, 0xcc, 0x69, 0x37, 0xb4, 0xad, 0xb9, 0xbd, 0xa9, 0x7f, 0x7f,
-	0xfb, 0xcd, 0xa6, 0xa6, 0x8f, 0x5b, 0x26, 0x2a, 0xc3, 0x52, 0x78, 0x72, 0x34, 0x37, 0x7e, 0x63,
-	0x62, 0x6b, 0xfe, 0xc1, 0x4a, 0x41, 0xad, 0xd2, 0x91, 0x14, 0x4b, 0xd6, 0xde, 0xdc, 0x3f, 0xbf,
-	0xfd, 0x66, 0x73, 0x92, 0xb3, 0xf4, 0x45, 0x3b, 0x28, 0xa1, 0x68, 0x07, 0x66, 0x7c, 0xc4, 0x84,
-	0x40, 0x2c, 0xfa, 0x88, 0xe8, 0x58, 0xbf, 0x27, 0xfe, 0x11, 0xa4, 0x02, 0x56, 0x52, 0xf4, 0x03,
-	0x98, 0xb2, 0x18, 0x69, 0xd3, 0x9c, 0x26, 0x10, 0xd9, 0x30, 0x42, 0x74, 0xd2, 0x65, 0x0f, 0xfc,
-	0x27, 0x0d, 0xd0, 0x41, 0x8f, 0x38, 0xec, 0xa9, 0x65, 0x33, 0xe2, 0xe9, 0x5d, 0x9b, 0x3c, 0x23,
-	0xe7, 0xf8, 0x2b, 0x0d, 0xb2, 0x43, 0xcd, 0x2f, 0xce, 0x3b, 0x04, 0x2d, 0x02, 0x34, 0x45, 0x4b,
-	0xcd, 0xb0, 0xed, 0xf4, 0x18, 0x4a, 0xc1, 0x6c, 0xc3, 0x60, 0xa4, 0xe5, 0x7a, 0xe7, 0x69, 0x0d,
-	0xa5, 0x21, 0x45, 0xbb, 0xf5, 0x5a, 0xbf, 0x65, 0x1c, 0x21, 0x58, 0x7c, 0xd3, 0xb1, 0x6a, 0x84,
-	0xa3, 0x6a, 0xec, 0xbc, 0x43, 0xd2, 0x13, 0x68, 0x05, 0x32, 0x0d, 0xd7, 0x69, 0x5a, 0xad, 0x60,
-	0xf3, 0x24, 0x6f, 0x96, 0xf3, 0x09, 0x36, 0x4f, 0x61, 0x0b, 0x96, 0x86, 0x0c, 0x41, 0x9f, 0xc2,
-	0xc4, 0x1b, 0x72, 0x2e, 0x96, 0x61, 0xf1, 0x41, 0xc1, 0x9f, 0x5c, 0x74, 0x16, 0x85, 0x98, 0x19,
-	0xe8, 0x7c, 0x28, 0x5a, 0x86, 0xa9, 0x9e, 0x61, 0x77, 0x49, 0x6e, 0x9c, 0x2f, 0xa5, 0x2e, 0x3f,
-	0xf0, 0x5f, 0x35, 0x98, 0x0f, 0x0c, 0x49, 0x5a, 0xed, 0x55, 0x98, 0x26, 0x8e, 0x51, 0xb7, 0xe5,
-	0xe8, 0x59, 0x5d, 0x7d, 0xa1, 0x75, 0x98, 0x53, 0x13, 0xb0, 0xcc, 0xdc, 0x84, 0x00, 0xcf, 0xca,
-	0x86, 0xb2, 0x89, 0x36, 0x01, 0x06, 0xd3, 0xca, 0x4d, 0x0a, 0xe9, 0x9c, 0x68, 0x11, 0x7e, 0xbd,
-	0x0b, 0x53, 0x5e, 0xd7, 0x26, 0x34, 0x37, 0x25, 0x56, 0x6c, 0x2d, 0x61, 0x52, 0xba, 0xec, 0x85,
-	0x3f, 0x81, 0x54, 0x40, 0x42, 0xd1, 0x5d, 0x98, 0x91, 0xcb, 0x12, 0x59, 0xf2, 0x20, 0xc0, 0xef,
-	0x83, 0xdf, 0x40, 0xaa, 0xe4, 0x7a, 0xa4, 0xec, 0x50, 0x66, 0x38, 0x0d, 0x82, 0x6e, 0xc3, 0xbc,
-	0xa5, 0xfe, 0x5f, 0x1b, 0x9e, 0x31, 0xf8, 0x92, 0xb2, 0x89, 0x76, 0x60, 0x5a, 0x1e, 0x70, 0x31,
-	0xf3, 0xf9, 0x07, 0xcb, 0xbe, 0x96, 0x9f, 0x8a, 0xd6, 0x13, 0x66, 0xb0, 0x2e, 0xdd, 0x9b, 0xe2,
-	0x3b, 0x74, 0x4c, 0x57, 0x5d, 0xf1, 0x13, 0x58, 0x08, 0x2a, 0xa3, 0x68, 0x3b, 0xbc, 0x3b, 0xfb,
-	0x90, 0x60, 0x2f, 0x7f, 0x7b, 0xfe, 0x63, 0x12, 0xa6, 0x5f, 0x0a, 0x31, 0xba, 0x0e, 0x33, 0x3d,
-	0xe2, 0x51, 0xcb, 0x75, 0xc2, 0x06, 0xfa, 0xad, 0xe8, 0x11, 0xcc, 0xaa, 0x10, 0xe1, 0x1f, 0xbf,
-	0x25, 0x1f, 0xbd, 0x2b, 0xdb, 0x83, 0x87, 0xa7, 0xdf, 0x37, 0xee, 0xf4, 0x4e, 0xfc, 0xef, 0xa7,
-	0x77, 0xf2, 0xaa, 0xa7, 0x17, 0x7d, 0x0a, 0x29, 0xb5, 0x6f, 0xf8, 0xde, 0xf0, 0xb7, 0x00, 0x0a,
-	0x8f, 0xe4, 0xbb, 0x24, 0x38, 0x7a, 0xde, 0xec, 0x37, 0x53, 0x54, 0x82, 0x05, 0x45, 0x68, 0x89,
-	0x00, 0x90, 0x9b, 0x4e, 0x3c, 0xf7, 0x41, 0x86, 0x52, 0xab, 0x82, 0x46, 0x09, 0x16, 0xe4, 0x0e,
-	0xf5, 0x77, 0xd2, 0x4c, 0xe2, 0x4e, 0x0a, 0x41, 0x48, 0x70, 0x23, 0xfe, 0x1c, 0x32, 0x83, 0x40,
-	0x6b, 0x30, 0xa3, 0x6e, 0x50, 0x92, 0xdb, 0x50, 0x20, 0x2e, 0x29, 0x1c, 0x5b, 0x75, 0x69, 0xce,
-	0xbe, 0xc1, 0x8c, 0xbd, 0x34, 0x07, 0xcd, 0x07, 0x0e, 0x8e, 0xbe, 0xc4, 0x7b, 0xf1, 0x4e, 0x6a,
-	0x34, 0x7a, 0x05, 0xd9, 0x60, 0x68, 0xf6, 0xa1, 0x9b, 0x6a, 0x89, 0x04, 0x74, 0x97, 0xcb, 0x2e,
-	0xc4, 0x0a, 0xb3, 0x64, 0x37, 0x45, 0xc0, 0x7f, 0xd1, 0x20, 0x7d, 0x42, 0xec, 0xe6, 0x0b, 0x42,
-	0x99, 0x4e, 0x68, 0xc7, 0x75, 0x28, 0x41, 0x3f, 0x81, 0x69, 0x8f, 0xd0, 0xae, 0xcd, 0x54, 0x78,
-	0xb9, 0xe3, 0x4f, 0x7f, 0xb8, 0x67, 0xb0, 0xa1, 0x6b, 0x33, 0x5d, 0x0d, 0xc3, 0x55, 0x58, 0x0c,
-	0x4b, 0xd0, 0x3c, 0xcc, 0x9c, 0x9c, 0x96, 0x4a, 0x07, 0x27, 0x27, 0xe9, 0x31, 0xfe, 0xf1, 0x74,
-	0xb7, 0x7c, 0x74, 0xaa, 0x1f, 0xa4, 0x35, 0x94, 0x81, 0x85, 0xe7, 0x95, 0x17, 0xb5, 0x93, 0xd3,
-	0x6a, 0xb5, 0xa2, 0xbf, 0x38, 0xd8, 0x4f, 0x8f, 0xf3, 0xa6, 0xd3, 0xe7, 0xcf, 0x9e, 0x57, 0x5e,
-	0x3d, 0xaf, 0x1d, 0xe8, 0x7a, 0x45, 0x4f, 0x4f, 0xe0, 0x0a, 0x64, 0x2a, 0xcd, 0xdd, 0x16, 0x71,
-	0xd8, 0x49, 0xb7, 0x4e, 0x1b, 0x9e, 0x55, 0x27, 0x1e, 0x8f, 0x27, 0x6e, 0xd3, 0xe0, 0x8d, 0xfd,
-	0x13, 0xab, 0xcf, 0xa9, 0x96, 0xb2, 0xc9, 0x63, 0x91, 0xba, 0xdd, 0x2c, 0x53, 0x05, 0xb9, 0x59,
-	0xd9, 0x50, 0x36, 0xf1, 0x13, 0x80, 0x63, 0xd2, 0xae, 0x13, 0x8f, 0x9e, 0x59, 0x1d, 0x4e, 0x12,
-	0xbb, 0xa6, 0xe6, 0x18, 0x6d, 0xe2, 0x93, 0x44, 0xcb, 0x73, 0xa3, 0xcd, 0x23, 0xfe, 0x78, 0x1f,
-	0x31, 0x6e, 0x99, 0xf8, 0x00, 0x52, 0x4f, 0x6d, 0xf7, 0xed, 0x31, 0x61, 0x06, 0x5f, 0x0b, 0xf4,
-	0x31, 0x4c, 0xb7, 0x49, 0x20, 0xf2, 0x6c, 0x16, 0x82, 0x57, 0xb1, 0xdb, 0xec, 0xd4, 0x84, 0xb8,
-	0x26, 0x43, 0xbe, 0xae, 0x3a, 0x3f, 0xf8, 0x4f, 0x01, 0x16, 0xe4, 0xc1, 0x3e, 0x21, 0x1e, 0x5f,
-	0x24, 0xa4, 0xc3, 0xe2, 0x69, 0xc7, 0x34, 0x18, 0x39, 0x72, 0x5b, 0x47, 0xa4, 0x47, 0x6c, 0xb4,
-	0x54, 0x50, 0xa9, 0xc6, 0x91, 0xdb, 0x6a, 0x59, 0x4e, 0x2b, 0xbf, 0x5a, 0x90, 0x09, 0x4c, 0xc1,
-	0x4f, 0x60, 0x0a, 0x07, 0x3c, 0x81, 0xc1, 0x6b, 0x5f, 0xfe, 0xfd, 0x5f, 0x5f, 0x8f, 0x67, 0x70,
-	0x4a, 0xe4, 0x3d, 0xbd, 0xfb, 0x3c, 0xd5, 0xa0, 0x8f, 0xb5, 0x6d, 0x54, 0x85, 0xd4, 0x21, 0x61,
-	0x3e, 0x90, 0xa2, 0xdc, 0x10, 0xb1, 0xe4, 0xb6, 0x3b, 0xae, 0x43, 0x1c, 0x96, 0x4f, 0x0f, 0x49,
-	0x28, 0x5e, 0x16, 0xd0, 0x45, 0x14, 0x82, 0xa2, 0x57, 0xb0, 0x70, 0x48, 0x58, 0xc0, 0x7d, 0x09,
-	0x36, 0xe5, 0xfb, 0xe7, 0x77, 0xd0, 0x17, 0xe7, 0x05, 0x72, 0x19, 0x21, 0x1f, 0xd9, 0x1e, 0x70,
-	0x5e, 0x43, 0x5a, 0x4e, 0x3f, 0xc0, 0x8e, 0x61, 0x24, 0xfa, 0x60, 0x53, 0xb0, 0xd7, 0x70, 0x0c,
-	0x9b, 0x7b, 0x62, 0x1f, 0xe6, 0x0e, 0x09, 0x53, 0xa1, 0x34, 0xc9, 0xe6, 0x7e, 0xb4, 0x92, 0xfd,
-	0xf0, 0x92, 0x60, 0xce, 0xa1, 0x19, 0xc5, 0x44, 0xaf, 0x21, 0x73, 0x64, 0x51, 0x16, 0x8e, 0xe7,
-	0x49, 0xb4, 0x95, 0xb8, 0xc0, 0x4e, 0xf1, 0x35, 0x01, 0xcd, 0xa2, 0x8c, 0x6f, 0xa8, 0xd5, 0x27,
-	0x9d, 0xc0, 0xd2, 0x21, 0x09, 0xd1, 0x11, 0xf8, 0xeb, 0x52, 0xde, 0xcf, 0xc7, 0xde, 0x14, 0xf8,
-	0x3d, 0xc1, 0xcb, 0xa1, 0xd5, 0x08, 0xaf, 0xf8, 0xce, 0x32, 0xbf, 0x40, 0x3a, 0xa4, 0xb8, 0xcd,
-	0xbb, 0x7e, 0xb8, 0x4f, 0x32, 0x37, 0x3d, 0x74, 0x59, 0x50, 0x9c, 0x13, 0x64, 0x84, 0xd2, 0x3e,
-	0xb9, 0x7f, 0x65, 0x10, 0x40, 0x9c, 0x79, 0x14, 0x8e, 0xfe, 0x49, 0xe4, 0xd5, 0xd8, 0x7b, 0x84,
-	0xe2, 0xeb, 0x82, 0x7f, 0x0d, 0xad, 0x05, 0x76, 0x58, 0xf0, 0x1a, 0x42, 0xbf, 0x86, 0xb4, 0xdc,
-	0xbe, 0x83, 0x51, 0x21, 0x87, 0xc4, 0x5f, 0x50, 0xf8, 0x96, 0xe0, 0xbe, 0x87, 0x36, 0x12, 0xb8,
-	0xd2, 0x2f, 0x4d, 0x58, 0x8d, 0xcc, 0xa1, 0xea, 0x7a, 0x8c, 0xc6, 0xfb, 0x5c, 0xf5, 0x13, 0x3d,
-	0xf0, 0xb6, 0xd0, 0x70, 0x0b, 0xe1, 0x8b, 0x34, 0x14, 0x3b, 0x82, 0xf6, 0x39, 0x2c, 0x0f, 0x4f,
-	0x82, 0x43, 0xd0, 0x4a, 0x0c, 0xb9, 0x6c, 0xe6, 0xb3, 0x31, 0xcd, 0xf8, 0xa1, 0xd0, 0x57, 0x40,
-	0x1f, 0x5d, 0xae, 0xaf, 0xf8, 0x8e, 0xff, 0x53, 0xe3, 0x33, 0xfc, 0xbd, 0x06, 0x6b, 0x07, 0x22,
-	0x37, 0xbb, 0xb2, 0xf6, 0xa4, 0xd3, 0xf5, 0x44, 0x18, 0xf0, 0x31, 0xde, 0x19, 0xc5, 0x80, 0xa2,
-	0x4a, 0x0c, 0xbf, 0xd2, 0x20, 0xb7, 0x6f, 0xd1, 0xef, 0xc5, 0x90, 0x1f, 0x0b, 0x43, 0x1e, 0xe1,
-	0x87, 0x23, 0x19, 0x62, 0x4a, 0xed, 0xc8, 0x8c, 0x59, 0x73, 0x1e, 0xcd, 0xc3, 0x6b, 0x8e, 0x42,
-	0x21, 0x5c, 0xc8, 0xaf, 0xb8, 0xe2, 0x4d, 0xc1, 0xfa, 0xad, 0x06, 0x1b, 0xfd, 0x50, 0x1e, 0x56,
-	0xf4, 0x42, 0x98, 0xb1, 0x11, 0x51, 0x20, 0xda, 0xe5, 0x98, 0xc4, 0xa9, 0xdf, 0x15, 0x26, 0xdc,
-	0xc1, 0x57, 0x30, 0x81, 0x47, 0xbc, 0xdf, 0x69, 0xb0, 0x19, 0x63, 0xc5, 0x31, 0xbf, 0x7f, 0xa4,
-	0x19, 0xeb, 0x21, 0x33, 0x84, 0xe0, 0xd8, 0x35, 0x2f, 0xb1, 0xa2, 0x20, 0xac, 0xd8, 0xc2, 0xef,
-	0x5f, 0x68, 0x85, 0xbc, 0xe5, 0xb8, 0x19, 0x2d, 0x58, 0x8b, 0xb8, 0x5c, 0xa8, 0x0a, 0xfb, 0x3c,
-	0x1b, 0xb5, 0x85, 0xe2, 0x0f, 0x85, 0xae, 0x0f, 0xd0, 0x55, 0x74, 0x21, 0x06, 0xeb, 0xb1, 0x6b,
-	0xab, 0xd2, 0xbb, 0xa0, 0xb2, 0xb5, 0x88, 0xff, 0x65, 0x27, 0x7c, 0x4f, 0x28, 0xdc, 0x46, 0x5b,
-	0x97, 0xba, 0x58, 0x65, 0x9a, 0xe8, 0x6b, 0x0d, 0x6e, 0x26, 0xac, 0xb5, 0x60, 0x4a, 0x4f, 0xdf,
-	0x8c, 0x57, 0x78, 0x95, 0x55, 0xdf, 0x11, 0x26, 0xdd, 0xc5, 0x57, 0x36, 0x89, 0x3b, 0xbd, 0x02,
-	0xf3, 0xdc, 0x17, 0x97, 0x05, 0xe6, 0xa5, 0x70, 0x82, 0x4c, 0xfd, 0x44, 0x02, 0x2d, 0xf9, 0xca,
-	0xfc, 0x48, 0x5c, 0x81, 0x85, 0x01, 0xb0, 0x6c, 0x26, 0x23, 0xe7, 0x07, 0x6e, 0x8e, 0xb9, 0xea,
-	0x24, 0xce, 0x32, 0x29, 0x3a, 0x85, 0xb4, 0x4e, 0x1a, 0xae, 0xd3, 0xb0, 0x6c, 0xe2, 0x9b, 0x19,
-	0x1c, 0x9b, 0xe8, 0x8f, 0x0d, 0xc1, 0x5c, 0xc5, 0x51, 0x26, 0x9f, 0xf8, 0x81, 0xb8, 0xe6, 0x63,
-	0xae, 0x8a, 0xa1, 0x87, 0x88, 0x8f, 0x41, 0xcb, 0x43, 0x33, 0x95, 0x77, 0xc3, 0xcf, 0x20, 0x55,
-	0xf2, 0x88, 0xc1, 0x94, 0x69, 0x68, 0x68, 0x74, 0x84, 0xa6, 0x12, 0x1b, 0x3c, 0xec, 0x37, 0x6e,
-	0xd2, 0x2b, 0x48, 0xc9, 0x20, 0x1c, 0x63, 0x55, 0xd2, 0x24, 0xdf, 0x17, 0xbc, 0x4d, 0xbc, 0x1e,
-	0x67, 0x9d, 0x1f, 0x56, 0x7f, 0x09, 0x0b, 0x2a, 0xaa, 0x8e, 0x40, 0x56, 0x77, 0x23, 0xde, 0x88,
-	0x25, 0xfb, 0x71, 0xf2, 0x15, 0xa4, 0x74, 0x52, 0x77, 0x5d, 0xf6, 0xbd, 0xd9, 0xec, 0x09, 0x1c,
-	0x07, 0xef, 0x13, 0x9b, 0xb0, 0xef, 0xe0, 0x8c, 0xed, 0x78, 0xb0, 0x29, 0x70, 0xa8, 0x0b, 0x0b,
-	0xfb, 0xee, 0x5b, 0xc7, 0x76, 0x0d, 0xb3, 0xdc, 0x36, 0x5a, 0x64, 0x70, 0xaf, 0x88, 0x4f, 0x5f,
-	0x96, 0x5f, 0xf1, 0x15, 0x56, 0x3a, 0xc4, 0x13, 0xc5, 0x41, 0xfe, 0xa0, 0xc1, 0x8f, 0x84, 0x8e,
-	0x7b, 0xf8, 0xc3, 0x58, 0x1d, 0x16, 0x47, 0xd4, 0x4c, 0xc5, 0xa0, 0xc5, 0x77, 0xfc, 0xa9, 0xf0,
-	0x05, 0x5f, 0xdc, 0x2f, 0x35, 0x58, 0x3d, 0x24, 0x2c, 0xa4, 0x43, 0x96, 0x01, 0x92, 0x0d, 0x88,
-	0x6b, 0xc6, 0x8f, 0x85, 0x01, 0x0f, 0xd1, 0x83, 0x11, 0x0c, 0x28, 0x52, 0xa9, 0xa9, 0x2b, 0xd2,
-	0xa4, 0x10, 0x6f, 0x44, 0xed, 0x2a, 0xc8, 0xa0, 0x51, 0xa6, 0x8f, 0x9a, 0x32, 0x09, 0x0c, 0x91,
-	0xe8, 0xd0, 0x8a, 0xc6, 0x69, 0xa3, 0xf8, 0x23, 0xa1, 0xee, 0x36, 0xba, 0x75, 0x15, 0x75, 0xe8,
-	0x73, 0xc8, 0x96, 0x78, 0x3e, 0x6b, 0x5f, 0x71, 0x86, 0xb1, 0x0b, 0xac, 0x66, 0xb8, 0x3d, 0xd2,
-	0x0c, 0xff, 0xa8, 0x41, 0x76, 0xb7, 0xc1, 0xac, 0x9e, 0xc1, 0x88, 0xd0, 0x22, 0x63, 0xf5, 0x88,
-	0xaa, 0x4b, 0x42, 0xf5, 0x27, 0xf8, 0x87, 0xa3, 0x2c, 0xad, 0x6c, 0xee, 0x0a, 0x7d, 0x7c, 0xa3,
-	0xfd, 0x41, 0x83, 0x8c, 0x4e, 0x7a, 0xc4, 0x63, 0xff, 0x17, 0x43, 0x3c, 0xa1, 0x5a, 0x3e, 0x29,
-	0x97, 0x06, 0x37, 0x41, 0x34, 0x5f, 0x5e, 0xf0, 0x2d, 0x92, 0x89, 0x32, 0x16, 0x2a, 0x37, 0x50,
-	0x3e, 0x56, 0xa5, 0x4c, 0x90, 0x5f, 0x43, 0x36, 0x40, 0x6c, 0x97, 0xc4, 0x43, 0x39, 0x4c, 0xcd,
-	0xf4, 0xa9, 0xbe, 0x18, 0xdf, 0x11, 0xe4, 0x9b, 0xe8, 0x7a, 0x3c, 0xb9, 0xad, 0x1e, 0xdc, 0x14,
-	0x39, 0xb0, 0x22, 0xbd, 0x35, 0xac, 0x20, 0x0a, 0x4d, 0x0c, 0x41, 0x2a, 0xfb, 0xc3, 0x97, 0x29,
-	0xe3, 0x0e, 0x3a, 0x0d, 0x3a, 0xe8, 0x6a, 0xc9, 0xe5, 0xc5, 0x5e, 0x92, 0x49, 0x25, 0x81, 0xe5,
-	0x30, 0x76, 0x94, 0xbc, 0x66, 0x4b, 0x28, 0xc0, 0xe8, 0x46, 0xa2, 0x02, 0x3f, 0x9f, 0xf9, 0x2c,
-	0x68, 0xbd, 0xac, 0xae, 0x25, 0x5d, 0xf5, 0xd9, 0x68, 0x85, 0x8e, 0x26, 0xdd, 0xab, 0xb2, 0xb4,
-	0x87, 0x74, 0x51, 0x3d, 0x18, 0xf4, 0x1f, 0xf2, 0x4c, 0x84, 0x87, 0x6f, 0x0a, 0xdc, 0x3a, 0xba,
-	0x16, 0x87, 0x93, 0x77, 0x75, 0x0d, 0xd2, 0x03, 0x8b, 0x95, 0x53, 0x92, 0x4c, 0x5e, 0x8e, 0xa9,
-	0x08, 0x52, 0xbf, 0x74, 0x80, 0x56, 0x86, 0x94, 0x28, 0x97, 0x3c, 0x85, 0xf4, 0x09, 0xf3, 0x88,
-	0xd1, 0xae, 0x1a, 0x8d, 0x37, 0x84, 0xd1, 0x4a, 0x97, 0xa1, 0xd5, 0x90, 0xa7, 0xa5, 0xa0, 0xd2,
-	0x65, 0x89, 0x1b, 0x68, 0x6c, 0x4b, 0x43, 0x07, 0x22, 0xe5, 0x21, 0x56, 0x8f, 0x28, 0x50, 0xd9,
-	0xb9, 0xa0, 0x76, 0x10, 0xe5, 0x97, 0x1d, 0x3c, 0x76, 0x4f, 0x43, 0xcf, 0x20, 0xab, 0x30, 0xa5,
-	0x33, 0xc3, 0x69, 0x11, 0x51, 0x97, 0x4c, 0x9e, 0x72, 0x2e, 0x44, 0x0a, 0x0c, 0x11, 0xb0, 0x53,
-	0x58, 0xec, 0x2f, 0x88, 0xfc, 0x89, 0x27, 0x9c, 0x94, 0x47, 0xdd, 0x95, 0xb4, 0x59, 0x95, 0xb7,
-	0xfc, 0x35, 0xc9, 0xc8, 0xfc, 0x29, 0xf8, 0x73, 0x42, 0x5c, 0x25, 0x35, 0x1f, 0xd7, 0x88, 0x6f,
-	0x08, 0x15, 0x79, 0xdc, 0x5f, 0x90, 0x50, 0x61, 0x96, 0x1f, 0xb2, 0x97, 0xc2, 0xee, 0x20, 0x3d,
-	0xf6, 0xd1, 0x1e, 0xfc, 0x91, 0x20, 0x6a, 0x78, 0x88, 0x2a, 0x0d, 0x37, 0x21, 0x23, 0x83, 0xc5,
-	0x77, 0x33, 0xfc, 0x03, 0xa1, 0xe2, 0x7a, 0xfe, 0x02, 0x15, 0xdc, 0x7a, 0x13, 0x32, 0x32, 0x0b,
-	0xba, 0x54, 0x4b, 0xd2, 0x7e, 0x52, 0x73, 0xd9, 0xbe, 0x68, 0x2e, 0xea, 0x60, 0x84, 0x7e, 0x28,
-	0xb9, 0xf4, 0x60, 0x84, 0x3c, 0x16, 0x39, 0x18, 0x21, 0x2d, 0xe8, 0x48, 0x24, 0xdb, 0xe2, 0xea,
-	0xa1, 0xf1, 0xc9, 0xb6, 0x94, 0xf9, 0x19, 0x1c, 0x5a, 0x4f, 0xbe, 0x78, 0x28, 0xfa, 0x05, 0xcc,
-	0xfa, 0x85, 0xe3, 0x10, 0x2c, 0x97, 0x54, 0x81, 0xc6, 0xb7, 0x05, 0xf6, 0x06, 0x7e, 0x2f, 0x16,
-	0x4b, 0x89, 0xdd, 0xac, 0x31, 0x4e, 0x7b, 0x29, 0xf2, 0xa3, 0x50, 0xe1, 0x7d, 0xf8, 0xed, 0x19,
-	0xa9, 0xcc, 0x47, 0x23, 0x0f, 0x3f, 0x46, 0xbc, 0x9f, 0x7a, 0x74, 0x5a, 0x75, 0xf4, 0x19, 0xa0,
-	0x43, 0xc2, 0x86, 0x6a, 0xef, 0x43, 0x05, 0xaa, 0xb8, 0xf2, 0x7c, 0xd4, 0x1f, 0x61, 0xb6, 0xa8,
-	0xf4, 0x23, 0x0a, 0x0b, 0x27, 0x56, 0xbb, 0x6b, 0x1b, 0x8c, 0x88, 0xf1, 0x68, 0xa3, 0xef, 0x88,
-	0x60, 0xb3, 0x4e, 0x7e, 0xd3, 0x25, 0x94, 0x25, 0xdd, 0xf9, 0x91, 0xa2, 0x41, 0xd8, 0x47, 0x8a,
-	0x54, 0xe3, 0x24, 0xbe, 0x33, 0x4b, 0x30, 0xd7, 0x2f, 0xb2, 0xa3, 0x6b, 0xbe, 0xc2, 0x48, 0xf9,
-	0x3d, 0x9f, 0x2c, 0xc2, 0x63, 0xe8, 0x18, 0x40, 0xbe, 0x78, 0x44, 0x81, 0x27, 0x15, 0xcc, 0x08,
-	0x12, 0x37, 0xb4, 0x7a, 0x2a, 0xe2, 0x45, 0x6e, 0xe3, 0x60, 0xb4, 0x7a, 0xcc, 0xaa, 0x77, 0xce,
-	0x08, 0xbc, 0xc1, 0x8b, 0xac, 0x77, 0xbf, 0x18, 0x18, 0xfe, 0x58, 0xdb, 0xde, 0xb3, 0x21, 0xeb,
-	0x7a, 0x2d, 0x11, 0x17, 0x1b, 0xae, 0x67, 0x2a, 0xde, 0x5e, 0x4a, 0x56, 0x7d, 0xab, 0xe2, 0xe7,
-	0xf0, 0x5f, 0x15, 0x5a, 0x16, 0x3b, 0xeb, 0xd6, 0xb9, 0x57, 0x8b, 0x7e, 0x4f, 0xf5, 0x37, 0x07,
-	0x77, 0xfd, 0xbf, 0x40, 0xd8, 0x29, 0xb6, 0x5c, 0xd5, 0xf6, 0xb7, 0xf1, 0xd5, 0x8a, 0xcf, 0x7b,
-	0x19, 0x2c, 0x22, 0x57, 0xc7, 0xab, 0x13, 0xd5, 0xc9, 0xea, 0x54, 0x75, 0xba, 0x3a, 0x53, 0x9d,
-	0xad, 0x4f, 0x8b, 0xb1, 0x3b, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x70, 0x28, 0xbe, 0x4c, 0xcd,
-	0x20, 0x00, 0x00,
+	// 2400 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0x4b, 0x73, 0x1b, 0xc7,
+	0x11, 0xe6, 0xf2, 0xcd, 0x26, 0x48, 0x02, 0x03, 0x3e, 0x20, 0x90, 0xb4, 0xa4, 0xb1, 0x2c, 0x31,
+	0xb4, 0x09, 0x48, 0xa2, 0xac, 0x4a, 0xa4, 0xb8, 0x62, 0xbe, 0xc4, 0x20, 0x12, 0x05, 0x64, 0x29,
+	0x4a, 0x79, 0x58, 0x85, 0x5a, 0x60, 0x07, 0xe0, 0x96, 0x16, 0x58, 0x64, 0x77, 0x40, 0x99, 0xa5,
+	0xf2, 0xc5, 0x79, 0x38, 0x77, 0xdf, 0x73, 0x4a, 0x2a, 0x55, 0xf9, 0x2f, 0x3e, 0xf9, 0x94, 0x6b,
+	0x2a, 0x87, 0xfc, 0x02, 0x9f, 0x53, 0xd3, 0x33, 0x0b, 0xec, 0x62, 0x77, 0x49, 0xc2, 0x71, 0x55,
+	0x4e, 0xe4, 0x4e, 0xf7, 0x7c, 0xfd, 0x75, 0xcf, 0x4c, 0x4f, 0x4f, 0x03, 0xf2, 0x67, 0x8e, 0xcd,
+	0x4f, 0x8d, 0x6a, 0xc7, 0x75, 0xb8, 0xe3, 0x15, 0xe5, 0x57, 0x01, 0xbf, 0xc8, 0xa4, 0xfc, 0xca,
+	0xaf, 0x35, 0x1d, 0xa7, 0x69, 0xb3, 0xa2, 0xd1, 0xb1, 0x8a, 0x46, 0xbb, 0xed, 0x70, 0x83, 0x5b,
+	0x4e, 0xdb, 0x93, 0x5a, 0xf9, 0x55, 0x25, 0xc5, 0xaf, 0x5a, 0xb7, 0x51, 0x64, 0xad, 0x0e, 0x3f,
+	0x57, 0xc2, 0x5c, 0x18, 0xbe, 0xc5, 0xb8, 0x02, 0xcf, 0x0f, 0x18, 0xae, 0x3b, 0xad, 0x96, 0xd3,
+	0x8e, 0x97, 0x9d, 0x32, 0xc3, 0xe6, 0xa7, 0x4a, 0x46, 0xc3, 0x32, 0xdb, 0x69, 0x5a, 0x75, 0xc3,
+	0xae, 0x9a, 0xec, 0xcc, 0xaa, 0xb3, 0xf8, 0xf9, 0x21, 0xd9, 0x6a, 0x58, 0x66, 0x98, 0x46, 0x87,
+	0x33, 0x57, 0x09, 0xaf, 0x87, 0x85, 0x4e, 0x87, 0xb5, 0x1b, 0xb6, 0xf3, 0xb6, 0x7a, 0x6f, 0x3b,
+	0x41, 0xa1, 0x55, 0xb7, 0xaa, 0x2d, 0xab, 0x56, 0x35, 0x6b, 0x4a, 0xe1, 0x66, 0x8c, 0x82, 0x61,
+	0x1b, 0x6e, 0xab, 0xa7, 0x42, 0xff, 0xaa, 0xc1, 0xec, 0x3e, 0x52, 0x3a, 0x74, 0x9d, 0x6e, 0x87,
+	0x2c, 0xc1, 0xa8, 0x65, 0xe6, 0xb4, 0x1b, 0xda, 0xc6, 0xcc, 0xee, 0xc4, 0x7f, 0xbe, 0xfb, 0x66,
+	0x5d, 0xd3, 0x47, 0x2d, 0x93, 0x94, 0x60, 0x21, 0xec, 0x9c, 0x97, 0x1b, 0xbd, 0x31, 0xb6, 0x31,
+	0x7b, 0x7f, 0xa9, 0xa0, 0x56, 0xe9, 0x99, 0x14, 0x4b, 0xac, 0xdd, 0x99, 0x7f, 0x7d, 0xf7, 0xcd,
+	0xfa, 0xb8, 0xc0, 0xd2, 0xe7, 0xed, 0xa0, 0xc4, 0x23, 0xdb, 0x30, 0xe5, 0x43, 0x8c, 0x21, 0xc4,
+	0xbc, 0x0f, 0x11, 0x9d, 0xeb, 0x6b, 0xd2, 0x9f, 0x40, 0x2a, 0xc0, 0xd2, 0x23, 0x3f, 0x82, 0x09,
+	0x8b, 0xb3, 0x96, 0x97, 0xd3, 0x10, 0x22, 0x1b, 0x86, 0x40, 0x25, 0x5d, 0x6a, 0xd0, 0xbf, 0x68,
+	0x40, 0x0e, 0xce, 0x58, 0x9b, 0x3f, 0xb1, 0x6c, 0xce, 0x5c, 0xbd, 0x6b, 0xb3, 0xa7, 0xec, 0x9c,
+	0x7e, 0xa5, 0x41, 0x76, 0x60, 0xf8, 0xc5, 0x79, 0x87, 0x91, 0x79, 0x80, 0x06, 0x8e, 0x54, 0x0d,
+	0xdb, 0x4e, 0x8f, 0x90, 0x14, 0x4c, 0xd7, 0x0d, 0xce, 0x9a, 0x8e, 0x7b, 0x9e, 0xd6, 0x48, 0x1a,
+	0x52, 0x5e, 0xb7, 0x56, 0xed, 0x8d, 0x8c, 0x12, 0x02, 0xf3, 0x6f, 0x3a, 0x56, 0x95, 0x09, 0xa8,
+	0x2a, 0x3f, 0xef, 0xb0, 0xf4, 0x18, 0x59, 0x82, 0x4c, 0xdd, 0x69, 0x37, 0xac, 0x66, 0x70, 0x78,
+	0x5c, 0x0c, 0x4b, 0x7f, 0x82, 0xc3, 0x13, 0xd4, 0x82, 0x85, 0x01, 0x22, 0xe4, 0x53, 0x18, 0x7b,
+	0xc3, 0xce, 0x71, 0x19, 0xe6, 0xef, 0x17, 0x7c, 0xe7, 0xa2, 0x5e, 0x14, 0x62, 0x3c, 0xd0, 0xc5,
+	0x54, 0xb2, 0x08, 0x13, 0x67, 0x86, 0xdd, 0x65, 0xb9, 0x51, 0xb1, 0x94, 0xba, 0xfc, 0xa0, 0x7f,
+	0xd7, 0x60, 0x36, 0x30, 0x25, 0x69, 0xb5, 0x97, 0x61, 0x92, 0xb5, 0x8d, 0x9a, 0x2d, 0x67, 0x4f,
+	0xeb, 0xea, 0x8b, 0xac, 0xc2, 0x8c, 0x72, 0xc0, 0x32, 0x73, 0x63, 0x08, 0x3c, 0x2d, 0x07, 0x4a,
+	0x26, 0x59, 0x07, 0xe8, 0xbb, 0x95, 0x1b, 0x47, 0xe9, 0x0c, 0x8e, 0x60, 0x5c, 0xb7, 0x60, 0xc2,
+	0xed, 0xda, 0xcc, 0xcb, 0x4d, 0xe0, 0x8a, 0xad, 0x24, 0x38, 0xa5, 0x4b, 0x2d, 0xfa, 0x09, 0xa4,
+	0x02, 0x12, 0x8f, 0x6c, 0xc1, 0x94, 0x5c, 0x96, 0xc8, 0x92, 0x07, 0x01, 0x7c, 0x1d, 0xfa, 0x06,
+	0x52, 0x7b, 0x8e, 0xcb, 0x4a, 0x6d, 0x8f, 0x1b, 0xed, 0x3a, 0x23, 0xb7, 0x61, 0xd6, 0x52, 0xff,
+	0x57, 0x07, 0x3d, 0x06, 0x5f, 0x52, 0x32, 0xc9, 0x36, 0x4c, 0xca, 0x03, 0x8e, 0x9e, 0xcf, 0xde,
+	0x5f, 0xf4, 0xad, 0xfc, 0x1c, 0x47, 0x8f, 0xb9, 0xc1, 0xbb, 0xde, 0xee, 0x84, 0xd8, 0xa1, 0x23,
+	0xba, 0x52, 0xa5, 0x8f, 0x61, 0x2e, 0x68, 0xcc, 0x23, 0x9b, 0xe1, 0xdd, 0xd9, 0x03, 0x09, 0x6a,
+	0xf9, 0xdb, 0xf3, 0x9f, 0xe3, 0x30, 0xf9, 0x12, 0xc5, 0xe4, 0x3a, 0x4c, 0x9d, 0x31, 0xd7, 0xb3,
+	0x9c, 0x76, 0x98, 0xa0, 0x3f, 0x4a, 0x1e, 0xc2, 0xb4, 0x4a, 0x11, 0xfe, 0xf1, 0x5b, 0xf0, 0xa1,
+	0x77, 0xe4, 0x78, 0xf0, 0xf0, 0xf4, 0x74, 0xe3, 0x4e, 0xef, 0xd8, 0xff, 0x7e, 0x7a, 0xc7, 0xaf,
+	0x7a, 0x7a, 0xc9, 0xa7, 0x90, 0x52, 0xfb, 0x46, 0xec, 0x0d, 0x7f, 0x0b, 0x90, 0xf0, 0x4c, 0xb1,
+	0x4b, 0x82, 0xb3, 0x67, 0xcd, 0xde, 0xb0, 0x47, 0xf6, 0x60, 0x4e, 0x21, 0x34, 0x31, 0x01, 0xe4,
+	0x26, 0x13, 0xcf, 0x7d, 0x10, 0x43, 0x99, 0x55, 0x49, 0x63, 0x0f, 0xe6, 0xe4, 0x0e, 0xf5, 0x77,
+	0xd2, 0x54, 0xe2, 0x4e, 0x0a, 0x81, 0xb0, 0xe0, 0x46, 0xfc, 0x25, 0x64, 0xfa, 0x89, 0xd6, 0xe0,
+	0x46, 0xcd, 0xf0, 0x58, 0x6e, 0x4d, 0x01, 0x09, 0x49, 0xe1, 0xc8, 0xaa, 0x49, 0x3a, 0xfb, 0x06,
+	0x37, 0x76, 0xd3, 0x02, 0x68, 0x36, 0x70, 0x70, 0xf4, 0x05, 0xa1, 0x25, 0x94, 0xd4, 0x6c, 0xf2,
+	0x0a, 0xb2, 0xc1, 0xd4, 0xec, 0x83, 0xae, 0xab, 0x25, 0x42, 0xd0, 0x1d, 0x21, 0xbb, 0x10, 0x16,
+	0x69, 0x49, 0x35, 0x85, 0x40, 0xff, 0xa6, 0x41, 0xfa, 0x98, 0xd9, 0x8d, 0x17, 0xcc, 0xe3, 0x3a,
+	0xf3, 0x3a, 0x4e, 0xdb, 0x63, 0xe4, 0x67, 0x30, 0xe9, 0x32, 0xaf, 0x6b, 0x73, 0x95, 0x5e, 0xee,
+	0xf8, 0xee, 0x0f, 0x6a, 0x06, 0x07, 0xba, 0x36, 0xd7, 0xd5, 0x34, 0x5a, 0x81, 0xf9, 0xb0, 0x84,
+	0xcc, 0xc2, 0xd4, 0xf1, 0xc9, 0xde, 0xde, 0xc1, 0xf1, 0x71, 0x7a, 0x44, 0x7c, 0x3c, 0xd9, 0x29,
+	0x3d, 0x3b, 0xd1, 0x0f, 0xd2, 0x1a, 0xc9, 0xc0, 0xdc, 0xf3, 0xf2, 0x8b, 0xea, 0xf1, 0x49, 0xa5,
+	0x52, 0xd6, 0x5f, 0x1c, 0xec, 0xa7, 0x47, 0xc5, 0xd0, 0xc9, 0xf3, 0xa7, 0xcf, 0xcb, 0xaf, 0x9e,
+	0x57, 0x0f, 0x74, 0xbd, 0xac, 0xa7, 0xc7, 0x68, 0x19, 0x32, 0xe5, 0xc6, 0x4e, 0x93, 0xb5, 0xf9,
+	0x71, 0xb7, 0xe6, 0xd5, 0x5d, 0xab, 0xc6, 0x5c, 0x91, 0x4f, 0x9c, 0x86, 0x21, 0x06, 0x7b, 0x27,
+	0x56, 0x9f, 0x51, 0x23, 0x25, 0x53, 0xe4, 0x22, 0x75, 0xbb, 0x59, 0xa6, 0x4a, 0x72, 0xd3, 0x72,
+	0xa0, 0x64, 0xd2, 0xc7, 0x00, 0x47, 0xac, 0x55, 0x63, 0xae, 0x77, 0x6a, 0x75, 0x04, 0x12, 0xee,
+	0x9a, 0x6a, 0xdb, 0x68, 0x31, 0x1f, 0x09, 0x47, 0x9e, 0x1b, 0x2d, 0x91, 0xf1, 0x47, 0x7b, 0x10,
+	0xa3, 0x96, 0x49, 0x0f, 0x20, 0xf5, 0xc4, 0x76, 0xde, 0x1e, 0x31, 0x6e, 0x88, 0xb5, 0x20, 0x1f,
+	0xc3, 0x64, 0x8b, 0x05, 0x32, 0xcf, 0x7a, 0x21, 0x78, 0x15, 0x3b, 0x8d, 0x4e, 0x15, 0xc5, 0x55,
+	0x99, 0xf2, 0x75, 0xa5, 0x7c, 0xff, 0xdb, 0x2d, 0x98, 0x93, 0x07, 0xfb, 0x98, 0xb9, 0x62, 0x91,
+	0xc8, 0x2b, 0x98, 0x3b, 0x64, 0x3c, 0x40, 0x6c, 0xb9, 0x20, 0xcb, 0x95, 0x82, 0x5f, 0xae, 0x14,
+	0x0e, 0x44, 0xb9, 0x92, 0xef, 0x9d, 0x8c, 0xbe, 0x2e, 0xcd, 0x7f, 0xf9, 0xed, 0xbf, 0xbf, 0x1e,
+	0x5d, 0x24, 0x04, 0x2b, 0x9f, 0xb3, 0x7b, 0xc5, 0x56, 0x1f, 0xe7, 0x35, 0xa4, 0x4f, 0x3a, 0xa6,
+	0xc1, 0x59, 0x00, 0x3b, 0x06, 0x23, 0x9f, 0x60, 0x8f, 0xae, 0x23, 0xf6, 0x0a, 0x8d, 0xc1, 0x7e,
+	0xa4, 0x6d, 0x92, 0x7d, 0x98, 0x39, 0x64, 0x5c, 0x25, 0xa9, 0x24, 0xce, 0xbd, 0x3c, 0x20, 0xf5,
+	0xe8, 0x02, 0x62, 0xce, 0x90, 0x29, 0x85, 0x49, 0x5e, 0x43, 0xe6, 0x99, 0xe5, 0xf1, 0x70, 0xa6,
+	0x4c, 0x42, 0x5b, 0x8a, 0x4b, 0x99, 0x1e, 0xbd, 0x86, 0xa0, 0x59, 0x92, 0xf1, 0x89, 0x5a, 0x3d,
+	0xa4, 0x63, 0x58, 0x38, 0x64, 0x21, 0x74, 0x02, 0x05, 0x55, 0xc8, 0x95, 0xf6, 0xf3, 0xb1, 0x39,
+	0x98, 0xbe, 0x87, 0x78, 0x39, 0xb2, 0x1c, 0xc1, 0x2b, 0xbe, 0xb3, 0xcc, 0x2f, 0x88, 0x0e, 0x29,
+	0xc1, 0x79, 0xc7, 0x4f, 0xa4, 0x49, 0x74, 0xd3, 0x03, 0x69, 0xd8, 0xa3, 0x39, 0x44, 0x26, 0x24,
+	0xed, 0x23, 0xf7, 0x92, 0x31, 0x03, 0x22, 0x30, 0x9f, 0x85, 0xf3, 0x6a, 0x12, 0xf2, 0x72, 0x6c,
+	0x86, 0xf6, 0xe8, 0x75, 0xc4, 0xbf, 0x46, 0x56, 0x7c, 0xfc, 0x81, 0x04, 0x4f, 0x7e, 0x0b, 0xe9,
+	0x43, 0x16, 0xb6, 0x12, 0x0a, 0x48, 0x7c, 0xea, 0xa7, 0xb7, 0x10, 0xf7, 0x3d, 0xb2, 0x96, 0x80,
+	0x2b, 0xe3, 0xd2, 0x80, 0xe5, 0x88, 0x0f, 0x15, 0xc7, 0xe5, 0x5e, 0x7c, 0xcc, 0x95, 0x1e, 0x6a,
+	0xd0, 0x4d, 0xb4, 0x70, 0x8b, 0xd0, 0x8b, 0x2c, 0x14, 0x3b, 0x88, 0xf6, 0x39, 0x2c, 0x0e, 0x3a,
+	0x21, 0x40, 0xc8, 0x52, 0x0c, 0x72, 0xc9, 0xcc, 0x67, 0x63, 0x86, 0xe9, 0x03, 0xb4, 0x57, 0x20,
+	0x1f, 0x5d, 0x6e, 0xaf, 0xf8, 0x4e, 0xfc, 0xa9, 0x0a, 0x0f, 0xff, 0xa8, 0xc1, 0xca, 0x01, 0x56,
+	0x3d, 0x57, 0xb6, 0x9e, 0x74, 0xba, 0x1e, 0x23, 0x81, 0x8f, 0xe9, 0xf6, 0x30, 0x04, 0x8a, 0xaa,
+	0xe4, 0xfa, 0x4a, 0x83, 0xdc, 0xbe, 0xe5, 0xfd, 0x20, 0x44, 0x7e, 0x8a, 0x44, 0x1e, 0xd2, 0x07,
+	0x43, 0x11, 0x31, 0xa5, 0x75, 0x62, 0xc6, 0xac, 0xb9, 0xc8, 0x93, 0xe1, 0x35, 0x27, 0xa1, 0xe4,
+	0x88, 0xf2, 0x2b, 0xae, 0x78, 0x03, 0xb1, 0x7e, 0xaf, 0xc1, 0x9a, 0xcc, 0x65, 0x11, 0x43, 0x2f,
+	0x90, 0xc6, 0x5a, 0xc4, 0x00, 0x8e, 0xcb, 0x39, 0x89, 0xae, 0x6f, 0x21, 0x85, 0x3b, 0xf4, 0x0a,
+	0x14, 0x44, 0xc6, 0xfb, 0x83, 0x06, 0xeb, 0x31, 0x2c, 0x8e, 0x44, 0x66, 0x97, 0x34, 0x56, 0x43,
+	0x34, 0x50, 0x70, 0xe4, 0x98, 0x97, 0xb0, 0x28, 0x20, 0x8b, 0x0d, 0xfa, 0xfe, 0x85, 0x2c, 0xe4,
+	0xfd, 0x21, 0x68, 0x34, 0x61, 0x25, 0x12, 0x72, 0x34, 0x15, 0x8e, 0x79, 0x36, 0xca, 0xc5, 0xa3,
+	0x1f, 0xa2, 0xad, 0x0f, 0xc8, 0x55, 0x6c, 0x11, 0x0e, 0xab, 0xb1, 0x6b, 0xab, 0x0a, 0xa7, 0xa0,
+	0xb1, 0x95, 0x48, 0xfc, 0xa5, 0x12, 0xbd, 0x8b, 0x06, 0x37, 0xc9, 0xc6, 0xa5, 0x21, 0x56, 0x35,
+	0x1c, 0xf9, 0x5a, 0x83, 0x9b, 0x09, 0x6b, 0x8d, 0x98, 0x32, 0xd2, 0x37, 0xe3, 0x0d, 0x5e, 0x65,
+	0xd5, 0xb7, 0x91, 0xd2, 0x16, 0xbd, 0x32, 0x25, 0x11, 0xf4, 0x32, 0xcc, 0x8a, 0x58, 0x5c, 0x96,
+	0x98, 0x17, 0xc2, 0xa5, 0xa7, 0x47, 0x57, 0xd0, 0x58, 0x86, 0x2c, 0xf8, 0xc6, 0xfc, 0x4c, 0x5c,
+	0x86, 0xb9, 0x3e, 0x60, 0xc9, 0x4c, 0x86, 0x9c, 0xed, 0x87, 0x39, 0xe6, 0xaa, 0x93, 0x70, 0x96,
+	0xe9, 0x91, 0x13, 0x48, 0xeb, 0xac, 0xee, 0xb4, 0xeb, 0x96, 0xcd, 0x7c, 0x9a, 0xc1, 0xb9, 0x89,
+	0xf1, 0x58, 0x43, 0xcc, 0x65, 0x1a, 0xc5, 0x14, 0x8e, 0x1f, 0xe0, 0x35, 0x1f, 0x73, 0x55, 0x0c,
+	0x94, 0xf8, 0x3e, 0x0c, 0x59, 0x1c, 0xf0, 0x54, 0xde, 0x0d, 0xbf, 0x80, 0xd4, 0x9e, 0xcb, 0x0c,
+	0xae, 0xa8, 0x91, 0x81, 0xd9, 0x11, 0x34, 0x55, 0xd8, 0xd0, 0xc1, 0xb8, 0x09, 0x4a, 0xaf, 0x20,
+	0x25, 0x93, 0x70, 0x0c, 0xab, 0x24, 0x27, 0xdf, 0x47, 0xbc, 0x75, 0xba, 0x1a, 0xc7, 0xce, 0x4f,
+	0xab, 0xbf, 0x86, 0x39, 0x95, 0x55, 0x87, 0x40, 0x56, 0x77, 0x23, 0x5d, 0x8b, 0x45, 0xf6, 0xf3,
+	0xe4, 0x2b, 0x48, 0xe9, 0xac, 0xe6, 0x38, 0xfc, 0x07, 0xe3, 0xec, 0x22, 0x9c, 0x00, 0xde, 0x67,
+	0x36, 0xe3, 0xdf, 0x23, 0x18, 0x9b, 0xf1, 0xc0, 0x26, 0xc2, 0x91, 0x2e, 0xcc, 0xed, 0x3b, 0x6f,
+	0xdb, 0xb6, 0x63, 0x98, 0xa5, 0x96, 0xd1, 0x64, 0xfd, 0x7b, 0x05, 0x3f, 0x7d, 0x59, 0x7e, 0xc9,
+	0x37, 0x58, 0xee, 0x30, 0x17, 0xdb, 0x6e, 0xe2, 0xa9, 0x40, 0x1f, 0xa2, 0x8d, 0xbb, 0xf4, 0xc3,
+	0x58, 0x1b, 0x96, 0x80, 0xa8, 0x9a, 0x0a, 0xc3, 0x2b, 0xbe, 0x13, 0x45, 0xf8, 0x17, 0x62, 0x71,
+	0xbf, 0xd4, 0x60, 0xf9, 0x90, 0xf1, 0x90, 0x0d, 0xf9, 0xc0, 0x4e, 0x26, 0x10, 0x37, 0x4c, 0x1f,
+	0x21, 0x81, 0x07, 0xe4, 0xfe, 0x10, 0x04, 0x8a, 0x9e, 0xb4, 0xd4, 0xc5, 0x32, 0x29, 0x84, 0x37,
+	0xa4, 0x75, 0x95, 0x64, 0xc8, 0x30, 0xee, 0x93, 0x86, 0x2c, 0x02, 0x43, 0x48, 0xde, 0xc0, 0x8a,
+	0xc6, 0x59, 0xf3, 0xe8, 0x47, 0x68, 0xee, 0x36, 0xb9, 0x75, 0x15, 0x73, 0xe4, 0x73, 0xc8, 0xee,
+	0x89, 0x7a, 0xd6, 0xbe, 0xa2, 0x87, 0xb1, 0x0b, 0xac, 0x3c, 0xdc, 0x1c, 0xca, 0xc3, 0x3f, 0x6b,
+	0x90, 0xdd, 0xa9, 0x73, 0xeb, 0xcc, 0xe0, 0x0c, 0xad, 0xc8, 0x5c, 0x3d, 0xa4, 0xe9, 0x3d, 0x34,
+	0xfd, 0x09, 0xfd, 0xf1, 0x30, 0x4b, 0x2b, 0x87, 0xbb, 0x68, 0x4f, 0x6c, 0xb4, 0x3f, 0x69, 0x90,
+	0xd1, 0xd9, 0x19, 0x73, 0xf9, 0xff, 0x85, 0x88, 0x8b, 0xa6, 0x05, 0x91, 0x0a, 0x2c, 0xf4, 0x6f,
+	0x82, 0x68, 0xbd, 0x3c, 0xe7, 0x33, 0x92, 0x85, 0x32, 0x45, 0x93, 0x6b, 0x24, 0x1f, 0x6b, 0x52,
+	0x16, 0xc8, 0xaf, 0x21, 0x1b, 0x40, 0x6c, 0xed, 0xe1, 0x13, 0x34, 0x8c, 0x9a, 0xe9, 0xa1, 0xfa,
+	0x62, 0x7a, 0x07, 0x91, 0x6f, 0x92, 0xeb, 0xf1, 0xc8, 0x2d, 0xf5, 0x94, 0xf5, 0x48, 0x1b, 0x96,
+	0x64, 0xb4, 0x06, 0x0d, 0x44, 0x41, 0x13, 0x53, 0x90, 0xaa, 0xfe, 0xe8, 0x65, 0xc6, 0x44, 0x80,
+	0x4e, 0x82, 0x01, 0xba, 0x5a, 0x71, 0x79, 0x71, 0x94, 0x64, 0x51, 0xc9, 0x60, 0x31, 0x0c, 0x3b,
+	0x4c, 0x5d, 0xb3, 0x81, 0x06, 0x28, 0xb9, 0x91, 0x68, 0xc0, 0xaf, 0x67, 0x3e, 0x0b, 0xb2, 0x97,
+	0x7d, 0xab, 0xa4, 0xab, 0x3e, 0x1b, 0xed, 0x7d, 0x79, 0x49, 0xf7, 0xaa, 0x6c, 0x9a, 0x11, 0x1d,
+	0xbb, 0x07, 0x7d, 0xfd, 0x81, 0xc8, 0x44, 0xf0, 0xe8, 0x4d, 0x84, 0x5b, 0x25, 0xd7, 0xe2, 0xe0,
+	0xe4, 0x5d, 0x5d, 0x85, 0x74, 0x9f, 0xb1, 0x0a, 0x4a, 0x12, 0xe5, 0xc5, 0x98, 0x5e, 0x9b, 0xe7,
+	0xb7, 0x0e, 0xc8, 0xd2, 0x80, 0x11, 0x15, 0x92, 0x27, 0x90, 0x3e, 0xe6, 0x2e, 0x33, 0x5a, 0x15,
+	0xa3, 0xfe, 0x86, 0x71, 0xaf, 0xdc, 0xe5, 0x64, 0x39, 0x14, 0x69, 0x29, 0x28, 0x77, 0x79, 0xe2,
+	0x06, 0x1a, 0xd9, 0xd0, 0xc8, 0x01, 0x96, 0x3c, 0xcc, 0x3a, 0x63, 0x0a, 0xa8, 0xd4, 0xbe, 0xa0,
+	0x77, 0x10, 0xc5, 0x2f, 0xb5, 0xe9, 0xc8, 0x5d, 0x8d, 0x3c, 0x85, 0xac, 0x82, 0xd9, 0x3b, 0x35,
+	0xda, 0x4d, 0x86, 0x1d, 0xbf, 0x64, 0x97, 0x73, 0x21, 0xa4, 0xc0, 0x14, 0x04, 0x3b, 0x81, 0xf9,
+	0xde, 0x82, 0xc8, 0x1f, 0x4f, 0xc2, 0x45, 0x79, 0x34, 0x5c, 0x49, 0x9b, 0x55, 0x45, 0xcb, 0x5f,
+	0x93, 0x8c, 0xac, 0x9f, 0x82, 0x8d, 0xfa, 0xb8, 0x1e, 0x65, 0x3e, 0x6e, 0x90, 0xde, 0x40, 0x13,
+	0x79, 0xda, 0x5b, 0x90, 0x50, 0xcb, 0x53, 0x1c, 0xb2, 0x97, 0xc8, 0x3b, 0x88, 0x1e, 0xfb, 0x68,
+	0x0f, 0xb6, 0xdf, 0xa3, 0xc4, 0x43, 0xa8, 0x92, 0xb8, 0x09, 0x19, 0x99, 0x2c, 0xbe, 0x1f, 0xf1,
+	0x0f, 0xd0, 0xc4, 0xf5, 0xfc, 0x05, 0x26, 0x04, 0x7b, 0x13, 0x32, 0xb2, 0x0a, 0xba, 0xd4, 0x4a,
+	0xd2, 0x7e, 0x52, 0xbe, 0x6c, 0x5e, 0xe4, 0x8b, 0x3a, 0x18, 0xa1, 0x9f, 0x20, 0x2e, 0x3d, 0x18,
+	0xa1, 0x88, 0x45, 0x0e, 0x46, 0xc8, 0x0a, 0x79, 0x86, 0xc5, 0x36, 0x5e, 0x3d, 0x5e, 0x7c, 0xb1,
+	0x2d, 0x65, 0x7e, 0x05, 0x47, 0x56, 0x93, 0x2f, 0x1e, 0x8f, 0xfc, 0x0a, 0xa6, 0xfd, 0x96, 0x6c,
+	0x08, 0x2c, 0x97, 0xd4, 0xdb, 0xa5, 0xb7, 0x11, 0xf6, 0x06, 0x7d, 0x2f, 0x16, 0xd6, 0x63, 0x76,
+	0xa3, 0xca, 0x05, 0xda, 0x4b, 0xac, 0x8f, 0x42, 0x2d, 0xed, 0xc1, 0xb7, 0x67, 0xa4, 0xe7, 0x1d,
+	0xcd, 0x3c, 0xe2, 0x18, 0x09, 0x3d, 0xf5, 0xe8, 0xb4, 0x6a, 0xe4, 0x33, 0x20, 0x87, 0x8c, 0x0f,
+	0x74, 0xb5, 0x07, 0x1a, 0x54, 0x71, 0x8d, 0xef, 0x68, 0x3c, 0xc2, 0xd8, 0xd8, 0x43, 0x27, 0x1e,
+	0xcc, 0x1d, 0x5b, 0xad, 0xae, 0x6d, 0x70, 0x86, 0xf3, 0xc9, 0x5a, 0x2f, 0x10, 0xc1, 0x61, 0x9d,
+	0xfd, 0xae, 0xcb, 0x3c, 0x9e, 0x74, 0xe7, 0x47, 0x9a, 0x06, 0xe1, 0x18, 0x29, 0xa4, 0xaa, 0x40,
+	0x12, 0x3b, 0x73, 0x0f, 0x66, 0x7a, 0xed, 0x6b, 0x72, 0xcd, 0x37, 0x18, 0x69, 0x6c, 0xe7, 0x93,
+	0x45, 0x74, 0x84, 0x1c, 0x01, 0xc8, 0x17, 0x0f, 0x36, 0x78, 0x52, 0xc1, 0x8a, 0x20, 0x71, 0x43,
+	0xab, 0xa7, 0x22, 0x9d, 0x17, 0x1c, 0xfb, 0xb3, 0xd5, 0x63, 0x56, 0xbd, 0x73, 0x86, 0xc0, 0xeb,
+	0xbf, 0xc8, 0xce, 0xee, 0x15, 0x03, 0xd3, 0x1f, 0x69, 0x9b, 0xbb, 0x36, 0x64, 0x1d, 0xb7, 0x89,
+	0x79, 0xb1, 0xee, 0xb8, 0xa6, 0xc2, 0xdb, 0x4d, 0xc9, 0xae, 0x6f, 0x05, 0x7f, 0x68, 0xfe, 0x4d,
+	0xa1, 0x69, 0xf1, 0xd3, 0x6e, 0x4d, 0x44, 0xb5, 0xe8, 0x6b, 0xaa, 0x5f, 0xf3, 0xb7, 0xfc, 0xdf,
+	0xf6, 0xb7, 0x8b, 0x4d, 0x47, 0x8d, 0xfd, 0x63, 0x74, 0xb9, 0xec, 0xe3, 0xbd, 0x0c, 0x36, 0x91,
+	0x2b, 0xa3, 0x95, 0xb1, 0xca, 0x78, 0x65, 0xa2, 0x32, 0x59, 0x99, 0xaa, 0x4c, 0xd7, 0x26, 0x71,
+	0xee, 0xf6, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x1e, 0x07, 0xe5, 0x3e, 0x27, 0x20, 0x00, 0x00,
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -2185,9 +2155,6 @@
 //
 // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
 type VolthaServiceClient interface {
-	// Get more information on a given physical device
-	UpdateLogLevel(ctx context.Context, in *common.Logging, opts ...grpc.CallOption) (*empty.Empty, error)
-	GetLogLevels(ctx context.Context, in *common.LoggingComponent, opts ...grpc.CallOption) (*common.Loggings, error)
 	// Get the membership group of a Voltha Core
 	GetMembership(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*Membership, error)
 	// Set the membership group of a Voltha Core
@@ -2324,24 +2291,6 @@
 	return &volthaServiceClient{cc}
 }
 
-func (c *volthaServiceClient) UpdateLogLevel(ctx context.Context, in *common.Logging, opts ...grpc.CallOption) (*empty.Empty, error) {
-	out := new(empty.Empty)
-	err := c.cc.Invoke(ctx, "/voltha.VolthaService/UpdateLogLevel", in, out, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
-func (c *volthaServiceClient) GetLogLevels(ctx context.Context, in *common.LoggingComponent, opts ...grpc.CallOption) (*common.Loggings, error) {
-	out := new(common.Loggings)
-	err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetLogLevels", in, out, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
 func (c *volthaServiceClient) GetMembership(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*Membership, error) {
 	out := new(Membership)
 	err := c.cc.Invoke(ctx, "/voltha.VolthaService/GetMembership", in, out, opts...)
@@ -2946,9 +2895,6 @@
 
 // VolthaServiceServer is the server API for VolthaService service.
 type VolthaServiceServer interface {
-	// Get more information on a given physical device
-	UpdateLogLevel(context.Context, *common.Logging) (*empty.Empty, error)
-	GetLogLevels(context.Context, *common.LoggingComponent) (*common.Loggings, error)
 	// Get the membership group of a Voltha Core
 	GetMembership(context.Context, *empty.Empty) (*Membership, error)
 	// Set the membership group of a Voltha Core
@@ -3081,42 +3027,6 @@
 	s.RegisterService(&_VolthaService_serviceDesc, srv)
 }
 
-func _VolthaService_UpdateLogLevel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(common.Logging)
-	if err := dec(in); err != nil {
-		return nil, err
-	}
-	if interceptor == nil {
-		return srv.(VolthaServiceServer).UpdateLogLevel(ctx, in)
-	}
-	info := &grpc.UnaryServerInfo{
-		Server:     srv,
-		FullMethod: "/voltha.VolthaService/UpdateLogLevel",
-	}
-	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(VolthaServiceServer).UpdateLogLevel(ctx, req.(*common.Logging))
-	}
-	return interceptor(ctx, in, info, handler)
-}
-
-func _VolthaService_GetLogLevels_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(common.LoggingComponent)
-	if err := dec(in); err != nil {
-		return nil, err
-	}
-	if interceptor == nil {
-		return srv.(VolthaServiceServer).GetLogLevels(ctx, in)
-	}
-	info := &grpc.UnaryServerInfo{
-		Server:     srv,
-		FullMethod: "/voltha.VolthaService/GetLogLevels",
-	}
-	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(VolthaServiceServer).GetLogLevels(ctx, req.(*common.LoggingComponent))
-	}
-	return interceptor(ctx, in, info, handler)
-}
-
 func _VolthaService_GetMembership_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 	in := new(empty.Empty)
 	if err := dec(in); err != nil {
@@ -4198,14 +4108,6 @@
 	HandlerType: (*VolthaServiceServer)(nil),
 	Methods: []grpc.MethodDesc{
 		{
-			MethodName: "UpdateLogLevel",
-			Handler:    _VolthaService_UpdateLogLevel_Handler,
-		},
-		{
-			MethodName: "GetLogLevels",
-			Handler:    _VolthaService_GetLogLevels_Handler,
-		},
-		{
 			MethodName: "GetMembership",
 			Handler:    _VolthaService_GetMembership_Handler,
 		},
