// Code generated by protoc-gen-go. DO NOT EDIT.
// source: voltha_protos/ext_config.proto

package config

import (
	fmt "fmt"
	proto "github.com/golang/protobuf/proto"
	math "math"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package

type OnuItuPonAlarm_AlarmID int32

const (
	OnuItuPonAlarm_RDI_ERRORS OnuItuPonAlarm_AlarmID = 0
)

var OnuItuPonAlarm_AlarmID_name = map[int32]string{
	0: "RDI_ERRORS",
}

var OnuItuPonAlarm_AlarmID_value = map[string]int32{
	"RDI_ERRORS": 0,
}

func (x OnuItuPonAlarm_AlarmID) String() string {
	return proto.EnumName(OnuItuPonAlarm_AlarmID_name, int32(x))
}

func (OnuItuPonAlarm_AlarmID) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_fb43b44b7fa3aba9, []int{1, 0}
}

type OnuItuPonAlarm_AlarmReportingCondition int32

const (
	OnuItuPonAlarm_RATE_THRESHOLD  OnuItuPonAlarm_AlarmReportingCondition = 0
	OnuItuPonAlarm_RATE_RANGE      OnuItuPonAlarm_AlarmReportingCondition = 1
	OnuItuPonAlarm_VALUE_THRESHOLD OnuItuPonAlarm_AlarmReportingCondition = 2
)

var OnuItuPonAlarm_AlarmReportingCondition_name = map[int32]string{
	0: "RATE_THRESHOLD",
	1: "RATE_RANGE",
	2: "VALUE_THRESHOLD",
}

var OnuItuPonAlarm_AlarmReportingCondition_value = map[string]int32{
	"RATE_THRESHOLD":  0,
	"RATE_RANGE":      1,
	"VALUE_THRESHOLD": 2,
}

func (x OnuItuPonAlarm_AlarmReportingCondition) String() string {
	return proto.EnumName(OnuItuPonAlarm_AlarmReportingCondition_name, int32(x))
}

func (OnuItuPonAlarm_AlarmReportingCondition) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_fb43b44b7fa3aba9, []int{1, 1}
}

type AlarmConfig struct {
	// Types that are valid to be assigned to Config:
	//	*AlarmConfig_OnuItuPonAlarmConfig
	Config               isAlarmConfig_Config `protobuf_oneof:"config"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *AlarmConfig) Reset()         { *m = AlarmConfig{} }
func (m *AlarmConfig) String() string { return proto.CompactTextString(m) }
func (*AlarmConfig) ProtoMessage()    {}
func (*AlarmConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_fb43b44b7fa3aba9, []int{0}
}

func (m *AlarmConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AlarmConfig.Unmarshal(m, b)
}
func (m *AlarmConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AlarmConfig.Marshal(b, m, deterministic)
}
func (m *AlarmConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AlarmConfig.Merge(m, src)
}
func (m *AlarmConfig) XXX_Size() int {
	return xxx_messageInfo_AlarmConfig.Size(m)
}
func (m *AlarmConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_AlarmConfig.DiscardUnknown(m)
}

var xxx_messageInfo_AlarmConfig proto.InternalMessageInfo

type isAlarmConfig_Config interface {
	isAlarmConfig_Config()
}

type AlarmConfig_OnuItuPonAlarmConfig struct {
	OnuItuPonAlarmConfig *OnuItuPonAlarm `protobuf:"bytes,1,opt,name=onu_itu_pon_alarm_config,json=onuItuPonAlarmConfig,proto3,oneof"`
}

func (*AlarmConfig_OnuItuPonAlarmConfig) isAlarmConfig_Config() {}

func (m *AlarmConfig) GetConfig() isAlarmConfig_Config {
	if m != nil {
		return m.Config
	}
	return nil
}

func (m *AlarmConfig) GetOnuItuPonAlarmConfig() *OnuItuPonAlarm {
	if x, ok := m.GetConfig().(*AlarmConfig_OnuItuPonAlarmConfig); ok {
		return x.OnuItuPonAlarmConfig
	}
	return nil
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*AlarmConfig) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*AlarmConfig_OnuItuPonAlarmConfig)(nil),
	}
}

type OnuItuPonAlarm struct {
	PonNi                   uint32                                 `protobuf:"fixed32,1,opt,name=pon_ni,json=ponNi,proto3" json:"pon_ni,omitempty"`
	OnuId                   uint32                                 `protobuf:"fixed32,2,opt,name=onu_id,json=onuId,proto3" json:"onu_id,omitempty"`
	AlarmId                 OnuItuPonAlarm_AlarmID                 `protobuf:"varint,3,opt,name=alarm_id,json=alarmId,proto3,enum=config.OnuItuPonAlarm_AlarmID" json:"alarm_id,omitempty"`
	AlarmReportingCondition OnuItuPonAlarm_AlarmReportingCondition `protobuf:"varint,4,opt,name=alarm_reporting_condition,json=alarmReportingCondition,proto3,enum=config.OnuItuPonAlarm_AlarmReportingCondition" json:"alarm_reporting_condition,omitempty"`
	// Types that are valid to be assigned to Config:
	//	*OnuItuPonAlarm_RateThresholdConfig_
	//	*OnuItuPonAlarm_RateRangeConfig_
	//	*OnuItuPonAlarm_ValueThresholdConfig_
	Config               isOnuItuPonAlarm_Config `protobuf_oneof:"config"`
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}

func (m *OnuItuPonAlarm) Reset()         { *m = OnuItuPonAlarm{} }
func (m *OnuItuPonAlarm) String() string { return proto.CompactTextString(m) }
func (*OnuItuPonAlarm) ProtoMessage()    {}
func (*OnuItuPonAlarm) Descriptor() ([]byte, []int) {
	return fileDescriptor_fb43b44b7fa3aba9, []int{1}
}

func (m *OnuItuPonAlarm) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_OnuItuPonAlarm.Unmarshal(m, b)
}
func (m *OnuItuPonAlarm) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_OnuItuPonAlarm.Marshal(b, m, deterministic)
}
func (m *OnuItuPonAlarm) XXX_Merge(src proto.Message) {
	xxx_messageInfo_OnuItuPonAlarm.Merge(m, src)
}
func (m *OnuItuPonAlarm) XXX_Size() int {
	return xxx_messageInfo_OnuItuPonAlarm.Size(m)
}
func (m *OnuItuPonAlarm) XXX_DiscardUnknown() {
	xxx_messageInfo_OnuItuPonAlarm.DiscardUnknown(m)
}

var xxx_messageInfo_OnuItuPonAlarm proto.InternalMessageInfo

func (m *OnuItuPonAlarm) GetPonNi() uint32 {
	if m != nil {
		return m.PonNi
	}
	return 0
}

func (m *OnuItuPonAlarm) GetOnuId() uint32 {
	if m != nil {
		return m.OnuId
	}
	return 0
}

func (m *OnuItuPonAlarm) GetAlarmId() OnuItuPonAlarm_AlarmID {
	if m != nil {
		return m.AlarmId
	}
	return OnuItuPonAlarm_RDI_ERRORS
}

func (m *OnuItuPonAlarm) GetAlarmReportingCondition() OnuItuPonAlarm_AlarmReportingCondition {
	if m != nil {
		return m.AlarmReportingCondition
	}
	return OnuItuPonAlarm_RATE_THRESHOLD
}

type isOnuItuPonAlarm_Config interface {
	isOnuItuPonAlarm_Config()
}

type OnuItuPonAlarm_RateThresholdConfig_ struct {
	RateThresholdConfig *OnuItuPonAlarm_RateThresholdConfig `protobuf:"bytes,5,opt,name=rate_threshold_config,json=rateThresholdConfig,proto3,oneof"`
}

type OnuItuPonAlarm_RateRangeConfig_ struct {
	RateRangeConfig *OnuItuPonAlarm_RateRangeConfig `protobuf:"bytes,6,opt,name=rate_range_config,json=rateRangeConfig,proto3,oneof"`
}

type OnuItuPonAlarm_ValueThresholdConfig_ struct {
	ValueThresholdConfig *OnuItuPonAlarm_ValueThresholdConfig `protobuf:"bytes,7,opt,name=value_threshold_config,json=valueThresholdConfig,proto3,oneof"`
}

func (*OnuItuPonAlarm_RateThresholdConfig_) isOnuItuPonAlarm_Config() {}

func (*OnuItuPonAlarm_RateRangeConfig_) isOnuItuPonAlarm_Config() {}

func (*OnuItuPonAlarm_ValueThresholdConfig_) isOnuItuPonAlarm_Config() {}

func (m *OnuItuPonAlarm) GetConfig() isOnuItuPonAlarm_Config {
	if m != nil {
		return m.Config
	}
	return nil
}

func (m *OnuItuPonAlarm) GetRateThresholdConfig() *OnuItuPonAlarm_RateThresholdConfig {
	if x, ok := m.GetConfig().(*OnuItuPonAlarm_RateThresholdConfig_); ok {
		return x.RateThresholdConfig
	}
	return nil
}

func (m *OnuItuPonAlarm) GetRateRangeConfig() *OnuItuPonAlarm_RateRangeConfig {
	if x, ok := m.GetConfig().(*OnuItuPonAlarm_RateRangeConfig_); ok {
		return x.RateRangeConfig
	}
	return nil
}

func (m *OnuItuPonAlarm) GetValueThresholdConfig() *OnuItuPonAlarm_ValueThresholdConfig {
	if x, ok := m.GetConfig().(*OnuItuPonAlarm_ValueThresholdConfig_); ok {
		return x.ValueThresholdConfig
	}
	return nil
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*OnuItuPonAlarm) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*OnuItuPonAlarm_RateThresholdConfig_)(nil),
		(*OnuItuPonAlarm_RateRangeConfig_)(nil),
		(*OnuItuPonAlarm_ValueThresholdConfig_)(nil),
	}
}

type OnuItuPonAlarm_SoakTime struct {
	ActiveSoakTime       uint32   `protobuf:"fixed32,1,opt,name=active_soak_time,json=activeSoakTime,proto3" json:"active_soak_time,omitempty"`
	ClearSoakTime        uint32   `protobuf:"fixed32,2,opt,name=clear_soak_time,json=clearSoakTime,proto3" json:"clear_soak_time,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *OnuItuPonAlarm_SoakTime) Reset()         { *m = OnuItuPonAlarm_SoakTime{} }
func (m *OnuItuPonAlarm_SoakTime) String() string { return proto.CompactTextString(m) }
func (*OnuItuPonAlarm_SoakTime) ProtoMessage()    {}
func (*OnuItuPonAlarm_SoakTime) Descriptor() ([]byte, []int) {
	return fileDescriptor_fb43b44b7fa3aba9, []int{1, 0}
}

func (m *OnuItuPonAlarm_SoakTime) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_OnuItuPonAlarm_SoakTime.Unmarshal(m, b)
}
func (m *OnuItuPonAlarm_SoakTime) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_OnuItuPonAlarm_SoakTime.Marshal(b, m, deterministic)
}
func (m *OnuItuPonAlarm_SoakTime) XXX_Merge(src proto.Message) {
	xxx_messageInfo_OnuItuPonAlarm_SoakTime.Merge(m, src)
}
func (m *OnuItuPonAlarm_SoakTime) XXX_Size() int {
	return xxx_messageInfo_OnuItuPonAlarm_SoakTime.Size(m)
}
func (m *OnuItuPonAlarm_SoakTime) XXX_DiscardUnknown() {
	xxx_messageInfo_OnuItuPonAlarm_SoakTime.DiscardUnknown(m)
}

var xxx_messageInfo_OnuItuPonAlarm_SoakTime proto.InternalMessageInfo

func (m *OnuItuPonAlarm_SoakTime) GetActiveSoakTime() uint32 {
	if m != nil {
		return m.ActiveSoakTime
	}
	return 0
}

func (m *OnuItuPonAlarm_SoakTime) GetClearSoakTime() uint32 {
	if m != nil {
		return m.ClearSoakTime
	}
	return 0
}

type OnuItuPonAlarm_RateThresholdConfig struct {
	RateThresholdRising  uint64                   `protobuf:"fixed64,1,opt,name=rate_threshold_rising,json=rateThresholdRising,proto3" json:"rate_threshold_rising,omitempty"`
	RateThresholdFalling uint64                   `protobuf:"fixed64,2,opt,name=rate_threshold_falling,json=rateThresholdFalling,proto3" json:"rate_threshold_falling,omitempty"`
	SoakTime             *OnuItuPonAlarm_SoakTime `protobuf:"bytes,3,opt,name=soak_time,json=soakTime,proto3" json:"soak_time,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
	XXX_unrecognized     []byte                   `json:"-"`
	XXX_sizecache        int32                    `json:"-"`
}

func (m *OnuItuPonAlarm_RateThresholdConfig) Reset()         { *m = OnuItuPonAlarm_RateThresholdConfig{} }
func (m *OnuItuPonAlarm_RateThresholdConfig) String() string { return proto.CompactTextString(m) }
func (*OnuItuPonAlarm_RateThresholdConfig) ProtoMessage()    {}
func (*OnuItuPonAlarm_RateThresholdConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_fb43b44b7fa3aba9, []int{1, 1}
}

func (m *OnuItuPonAlarm_RateThresholdConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_OnuItuPonAlarm_RateThresholdConfig.Unmarshal(m, b)
}
func (m *OnuItuPonAlarm_RateThresholdConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_OnuItuPonAlarm_RateThresholdConfig.Marshal(b, m, deterministic)
}
func (m *OnuItuPonAlarm_RateThresholdConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_OnuItuPonAlarm_RateThresholdConfig.Merge(m, src)
}
func (m *OnuItuPonAlarm_RateThresholdConfig) XXX_Size() int {
	return xxx_messageInfo_OnuItuPonAlarm_RateThresholdConfig.Size(m)
}
func (m *OnuItuPonAlarm_RateThresholdConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_OnuItuPonAlarm_RateThresholdConfig.DiscardUnknown(m)
}

var xxx_messageInfo_OnuItuPonAlarm_RateThresholdConfig proto.InternalMessageInfo

func (m *OnuItuPonAlarm_RateThresholdConfig) GetRateThresholdRising() uint64 {
	if m != nil {
		return m.RateThresholdRising
	}
	return 0
}

func (m *OnuItuPonAlarm_RateThresholdConfig) GetRateThresholdFalling() uint64 {
	if m != nil {
		return m.RateThresholdFalling
	}
	return 0
}

func (m *OnuItuPonAlarm_RateThresholdConfig) GetSoakTime() *OnuItuPonAlarm_SoakTime {
	if m != nil {
		return m.SoakTime
	}
	return nil
}

type OnuItuPonAlarm_RateRangeConfig struct {
	RateRangeLower       uint64                   `protobuf:"fixed64,1,opt,name=rate_range_lower,json=rateRangeLower,proto3" json:"rate_range_lower,omitempty"`
	RateRangeUpper       uint64                   `protobuf:"fixed64,2,opt,name=rate_range_upper,json=rateRangeUpper,proto3" json:"rate_range_upper,omitempty"`
	SoakTime             *OnuItuPonAlarm_SoakTime `protobuf:"bytes,3,opt,name=soak_time,json=soakTime,proto3" json:"soak_time,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
	XXX_unrecognized     []byte                   `json:"-"`
	XXX_sizecache        int32                    `json:"-"`
}

func (m *OnuItuPonAlarm_RateRangeConfig) Reset()         { *m = OnuItuPonAlarm_RateRangeConfig{} }
func (m *OnuItuPonAlarm_RateRangeConfig) String() string { return proto.CompactTextString(m) }
func (*OnuItuPonAlarm_RateRangeConfig) ProtoMessage()    {}
func (*OnuItuPonAlarm_RateRangeConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_fb43b44b7fa3aba9, []int{1, 2}
}

func (m *OnuItuPonAlarm_RateRangeConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_OnuItuPonAlarm_RateRangeConfig.Unmarshal(m, b)
}
func (m *OnuItuPonAlarm_RateRangeConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_OnuItuPonAlarm_RateRangeConfig.Marshal(b, m, deterministic)
}
func (m *OnuItuPonAlarm_RateRangeConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_OnuItuPonAlarm_RateRangeConfig.Merge(m, src)
}
func (m *OnuItuPonAlarm_RateRangeConfig) XXX_Size() int {
	return xxx_messageInfo_OnuItuPonAlarm_RateRangeConfig.Size(m)
}
func (m *OnuItuPonAlarm_RateRangeConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_OnuItuPonAlarm_RateRangeConfig.DiscardUnknown(m)
}

var xxx_messageInfo_OnuItuPonAlarm_RateRangeConfig proto.InternalMessageInfo

func (m *OnuItuPonAlarm_RateRangeConfig) GetRateRangeLower() uint64 {
	if m != nil {
		return m.RateRangeLower
	}
	return 0
}

func (m *OnuItuPonAlarm_RateRangeConfig) GetRateRangeUpper() uint64 {
	if m != nil {
		return m.RateRangeUpper
	}
	return 0
}

func (m *OnuItuPonAlarm_RateRangeConfig) GetSoakTime() *OnuItuPonAlarm_SoakTime {
	if m != nil {
		return m.SoakTime
	}
	return nil
}

type OnuItuPonAlarm_ValueThresholdConfig struct {
	ThresholdLimit       uint64                   `protobuf:"fixed64,1,opt,name=threshold_limit,json=thresholdLimit,proto3" json:"threshold_limit,omitempty"`
	SoakTime             *OnuItuPonAlarm_SoakTime `protobuf:"bytes,2,opt,name=soak_time,json=soakTime,proto3" json:"soak_time,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
	XXX_unrecognized     []byte                   `json:"-"`
	XXX_sizecache        int32                    `json:"-"`
}

func (m *OnuItuPonAlarm_ValueThresholdConfig) Reset()         { *m = OnuItuPonAlarm_ValueThresholdConfig{} }
func (m *OnuItuPonAlarm_ValueThresholdConfig) String() string { return proto.CompactTextString(m) }
func (*OnuItuPonAlarm_ValueThresholdConfig) ProtoMessage()    {}
func (*OnuItuPonAlarm_ValueThresholdConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_fb43b44b7fa3aba9, []int{1, 3}
}

func (m *OnuItuPonAlarm_ValueThresholdConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_OnuItuPonAlarm_ValueThresholdConfig.Unmarshal(m, b)
}
func (m *OnuItuPonAlarm_ValueThresholdConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_OnuItuPonAlarm_ValueThresholdConfig.Marshal(b, m, deterministic)
}
func (m *OnuItuPonAlarm_ValueThresholdConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_OnuItuPonAlarm_ValueThresholdConfig.Merge(m, src)
}
func (m *OnuItuPonAlarm_ValueThresholdConfig) XXX_Size() int {
	return xxx_messageInfo_OnuItuPonAlarm_ValueThresholdConfig.Size(m)
}
func (m *OnuItuPonAlarm_ValueThresholdConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_OnuItuPonAlarm_ValueThresholdConfig.DiscardUnknown(m)
}

var xxx_messageInfo_OnuItuPonAlarm_ValueThresholdConfig proto.InternalMessageInfo

func (m *OnuItuPonAlarm_ValueThresholdConfig) GetThresholdLimit() uint64 {
	if m != nil {
		return m.ThresholdLimit
	}
	return 0
}

func (m *OnuItuPonAlarm_ValueThresholdConfig) GetSoakTime() *OnuItuPonAlarm_SoakTime {
	if m != nil {
		return m.SoakTime
	}
	return nil
}

func init() {
	proto.RegisterEnum("config.OnuItuPonAlarm_AlarmID", OnuItuPonAlarm_AlarmID_name, OnuItuPonAlarm_AlarmID_value)
	proto.RegisterEnum("config.OnuItuPonAlarm_AlarmReportingCondition", OnuItuPonAlarm_AlarmReportingCondition_name, OnuItuPonAlarm_AlarmReportingCondition_value)
	proto.RegisterType((*AlarmConfig)(nil), "config.AlarmConfig")
	proto.RegisterType((*OnuItuPonAlarm)(nil), "config.OnuItuPonAlarm")
	proto.RegisterType((*OnuItuPonAlarm_SoakTime)(nil), "config.OnuItuPonAlarm.SoakTime")
	proto.RegisterType((*OnuItuPonAlarm_RateThresholdConfig)(nil), "config.OnuItuPonAlarm.RateThresholdConfig")
	proto.RegisterType((*OnuItuPonAlarm_RateRangeConfig)(nil), "config.OnuItuPonAlarm.RateRangeConfig")
	proto.RegisterType((*OnuItuPonAlarm_ValueThresholdConfig)(nil), "config.OnuItuPonAlarm.ValueThresholdConfig")
}

func init() { proto.RegisterFile("voltha_protos/ext_config.proto", fileDescriptor_fb43b44b7fa3aba9) }

var fileDescriptor_fb43b44b7fa3aba9 = []byte{
	// 609 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0xd1, 0x4e, 0x1a, 0x41,
	0x14, 0x05, 0xac, 0x80, 0xd7, 0x14, 0xe8, 0x80, 0x8a, 0x3e, 0x58, 0xe3, 0x83, 0x35, 0x6d, 0xba,
	0x24, 0xd4, 0x97, 0x26, 0x7d, 0x41, 0xa5, 0x85, 0x84, 0xa8, 0x19, 0xd1, 0x87, 0xa6, 0xc9, 0x76,
	0x64, 0xc7, 0x65, 0xea, 0x32, 0xb3, 0x19, 0x66, 0x69, 0x5f, 0xfa, 0x35, 0xfd, 0x8e, 0xf6, 0xdb,
	0x9a, 0x99, 0xd9, 0x05, 0x81, 0xc5, 0xa4, 0xe9, 0x0b, 0xc9, 0x9e, 0x7b, 0xcf, 0xb9, 0x87, 0x73,
	0x67, 0x06, 0xf6, 0x27, 0x22, 0x50, 0x43, 0xe2, 0x86, 0x52, 0x28, 0x31, 0x6e, 0xd0, 0x1f, 0xca,
	0x1d, 0x08, 0x7e, 0xcf, 0x7c, 0xc7, 0x20, 0x28, 0x6f, 0xbf, 0x0e, 0x19, 0x6c, 0xb6, 0x02, 0x22,
	0x47, 0x67, 0xe6, 0x13, 0x5d, 0x41, 0x5d, 0xf0, 0xc8, 0x65, 0x2a, 0x72, 0x43, 0xc1, 0x5d, 0xa2,
	0x4b, 0x31, 0xb1, 0x9e, 0x3d, 0xc8, 0x1e, 0x6f, 0x36, 0xb7, 0x9d, 0x58, 0xe7, 0x92, 0x47, 0x5d,
	0x15, 0x5d, 0x09, 0x6e, 0xf8, 0x9d, 0x0c, 0xae, 0x89, 0x39, 0xc4, 0x2a, 0x9e, 0x16, 0x21, 0x19,
	0xf5, 0x67, 0x03, 0x4a, 0xf3, 0x24, 0xb4, 0x05, 0x79, 0x3d, 0x86, 0x33, 0x23, 0x5e, 0xc0, 0xeb,
	0xa1, 0xe0, 0x17, 0x4c, 0xc3, 0xc6, 0x85, 0x57, 0xcf, 0x59, 0x58, 0x2b, 0x7b, 0xe8, 0x3d, 0x14,
	0xad, 0x21, 0xe6, 0xd5, 0xd7, 0x0e, 0xb2, 0xc7, 0xa5, 0xe6, 0x7e, 0xba, 0x19, 0xc7, 0xfc, 0x76,
	0xcf, 0x71, 0xc1, 0xf4, 0x77, 0x3d, 0xf4, 0x0d, 0x76, 0x2d, 0x55, 0xd2, 0x50, 0x48, 0xc5, 0xb8,
	0xaf, 0xff, 0x95, 0xc7, 0x14, 0x13, 0xbc, 0xfe, 0xcc, 0x68, 0x39, 0x4f, 0x69, 0xe1, 0x84, 0x76,
	0x96, 0xb0, 0xf0, 0x0e, 0x49, 0x2f, 0xa0, 0xaf, 0xb0, 0x25, 0x89, 0xa2, 0xae, 0x1a, 0x4a, 0x3a,
	0x1e, 0x8a, 0xc0, 0x4b, 0x02, 0x5c, 0x37, 0x01, 0xbe, 0x5e, 0x31, 0x07, 0x13, 0x45, 0xfb, 0x09,
	0xc5, 0x86, 0xd7, 0xc9, 0xe0, 0xaa, 0x5c, 0x86, 0x51, 0x1f, 0x5e, 0x98, 0x09, 0x92, 0x70, 0x9f,
	0x26, 0xea, 0x79, 0xa3, 0x7e, 0xf4, 0x84, 0x3a, 0xd6, 0xed, 0x53, 0xe5, 0xb2, 0x9c, 0x87, 0xd0,
	0x00, 0xb6, 0x27, 0x24, 0x88, 0x52, 0x8c, 0x17, 0x8c, 0xf4, 0x9b, 0x15, 0xd2, 0xb7, 0x9a, 0xb4,
	0xec, 0xbc, 0x36, 0x49, 0xc1, 0xf7, 0xbe, 0x40, 0xf1, 0x5a, 0x90, 0x87, 0x3e, 0x1b, 0x51, 0x74,
	0x0c, 0x15, 0x32, 0x50, 0x6c, 0x42, 0xdd, 0xb1, 0x20, 0x0f, 0xae, 0x62, 0x23, 0x1a, 0x9f, 0x83,
	0x92, 0xc5, 0xa7, 0x9d, 0x47, 0x50, 0x1e, 0x04, 0x94, 0xc8, 0x47, 0x8d, 0xf6, 0x64, 0x3c, 0x37,
	0x70, 0xd2, 0xb7, 0xf7, 0x3b, 0x0b, 0xd5, 0x94, 0x1c, 0x51, 0x73, 0x69, 0x25, 0x92, 0x8d, 0x19,
	0xb7, 0x67, 0x3a, 0xbf, 0x10, 0x32, 0x36, 0x25, 0x74, 0x02, 0xdb, 0x0b, 0x9c, 0x7b, 0x12, 0x04,
	0x9a, 0x94, 0x33, 0xa4, 0xda, 0x1c, 0xe9, 0xa3, 0xad, 0xa1, 0x0f, 0xb0, 0x31, 0xf3, 0xb8, 0x66,
	0x72, 0x7b, 0xb9, 0x22, 0xb7, 0xc4, 0x35, 0x2e, 0x8e, 0x13, 0xff, 0xbf, 0xb2, 0x50, 0x5e, 0xd8,
	0x94, 0x4e, 0xe9, 0xd1, 0xb2, 0x03, 0xf1, 0x9d, 0xca, 0xd8, 0x76, 0x69, 0xba, 0xc1, 0x9e, 0x46,
	0x17, 0x3a, 0xa3, 0x30, 0xa4, 0x32, 0xf6, 0x3a, 0xeb, 0xbc, 0xd1, 0xe8, 0x7f, 0xba, 0xfc, 0x09,
	0xb5, 0xb4, 0x9d, 0xa3, 0x57, 0x50, 0x9e, 0x85, 0x15, 0xb0, 0x11, 0x53, 0x89, 0xd1, 0x29, 0xdc,
	0xd3, 0xe8, 0xfc, 0xf8, 0xdc, 0x3f, 0x8e, 0x3f, 0xdc, 0x85, 0x42, 0x7c, 0xbf, 0x51, 0x09, 0x00,
	0x9f, 0x77, 0xdd, 0x36, 0xc6, 0x97, 0xf8, 0xba, 0x92, 0x39, 0xc4, 0xb0, 0xb3, 0xe2, 0xba, 0x22,
	0x04, 0x25, 0xdc, 0xea, 0xb7, 0xdd, 0x7e, 0x07, 0xb7, 0xaf, 0x3b, 0x97, 0xbd, 0xf3, 0x4a, 0xc6,
	0xd0, 0x35, 0x86, 0x5b, 0x17, 0x9f, 0xda, 0x95, 0x2c, 0xaa, 0x42, 0xf9, 0xb6, 0xd5, 0xbb, 0x79,
	0xdc, 0x94, 0x9b, 0x3d, 0x60, 0xa7, 0x5d, 0xa8, 0x0a, 0xe9, 0x3b, 0x22, 0xa4, 0x7c, 0x20, 0xa4,
	0xe7, 0xd8, 0x27, 0xf6, 0x73, 0xd3, 0x67, 0x6a, 0x18, 0xdd, 0x39, 0x03, 0x31, 0x6a, 0x24, 0xb5,
	0x86, 0xad, 0xbd, 0x8d, 0x9f, 0xdf, 0xc9, 0x49, 0xc3, 0x17, 0xfa, 0x11, 0x6e, 0x58, 0xa9, 0xbb,
	0xbc, 0x29, 0xbc, 0xfb, 0x1b, 0x00, 0x00, 0xff, 0xff, 0xe2, 0x77, 0x17, 0x08, 0xa7, 0x05, 0x00,
	0x00,
}
