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

package types

import (
	fmt "fmt"
	math "math"

	proto "github.com/golang/protobuf/proto"
)

// 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 SyncTxConfig struct {
	Chain33Host          string   `protobuf:"bytes,1,opt,name=chain33host,proto3" json:"chain33host,omitempty"`
	PushHost             string   `protobuf:"bytes,2,opt,name=pushHost,proto3" json:"pushHost,omitempty"`
	PushName             string   `protobuf:"bytes,3,opt,name=pushName,proto3" json:"pushName,omitempty"`
	PushBind             string   `protobuf:"bytes,4,opt,name=pushBind,proto3" json:"pushBind,omitempty"`
	MaturityDegree       int32    `protobuf:"varint,5,opt,name=maturityDegree,proto3" json:"maturityDegree,omitempty"`
	FetchHeightPeriodMs  int64    `protobuf:"varint,9,opt,name=fetchHeightPeriodMs,proto3" json:"fetchHeightPeriodMs,omitempty"`
	StartSyncHeight      int64    `protobuf:"varint,10,opt,name=startSyncHeight,proto3" json:"startSyncHeight,omitempty"`
	StartSyncSequence    int64    `protobuf:"varint,11,opt,name=startSyncSequence,proto3" json:"startSyncSequence,omitempty"`
	StartSyncHash        string   `protobuf:"bytes,12,opt,name=startSyncHash,proto3" json:"startSyncHash,omitempty"`
	KeepAliveDuration    int64    `protobuf:"varint,13,opt,name=keepAliveDuration,proto3" json:"keepAliveDuration,omitempty"`
	Chain33RpcUrls       []string `protobuf:"bytes,14,rep,name=chain33RpcUrls,proto3" json:"chain33RpcUrls,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_SyncTxConfig proto.InternalMessageInfo

func (m *SyncTxConfig) GetChain33Host() string {
	if m != nil {
		return m.Chain33Host
	}
	return ""
}

func (m *SyncTxConfig) GetPushHost() string {
	if m != nil {
		return m.PushHost
	}
	return ""
}

func (m *SyncTxConfig) GetPushName() string {
	if m != nil {
		return m.PushName
	}
	return ""
}

func (m *SyncTxConfig) GetPushBind() string {
	if m != nil {
		return m.PushBind
	}
	return ""
}

func (m *SyncTxConfig) GetMaturityDegree() int32 {
	if m != nil {
		return m.MaturityDegree
	}
	return 0
}

func (m *SyncTxConfig) GetFetchHeightPeriodMs() int64 {
	if m != nil {
		return m.FetchHeightPeriodMs
	}
	return 0
}

func (m *SyncTxConfig) GetStartSyncHeight() int64 {
	if m != nil {
		return m.StartSyncHeight
	}
	return 0
}

func (m *SyncTxConfig) GetStartSyncSequence() int64 {
	if m != nil {
		return m.StartSyncSequence
	}
	return 0
}

func (m *SyncTxConfig) GetStartSyncHash() string {
	if m != nil {
		return m.StartSyncHash
	}
	return ""
}

func (m *SyncTxConfig) GetKeepAliveDuration() int64 {
	if m != nil {
		return m.KeepAliveDuration
	}
	return 0
}

func (m *SyncTxConfig) GetChain33RpcUrls() []string {
	if m != nil {
		return m.Chain33RpcUrls
	}
	return nil
}

type Log struct {
	Loglevel             string   `protobuf:"bytes,1,opt,name=loglevel,proto3" json:"loglevel,omitempty"`
	LogConsoleLevel      string   `protobuf:"bytes,2,opt,name=logConsoleLevel,proto3" json:"logConsoleLevel,omitempty"`
	LogFile              string   `protobuf:"bytes,3,opt,name=logFile,proto3" json:"logFile,omitempty"`
	MaxFileSize          uint32   `protobuf:"varint,4,opt,name=maxFileSize,proto3" json:"maxFileSize,omitempty"`
	MaxBackups           uint32   `protobuf:"varint,5,opt,name=maxBackups,proto3" json:"maxBackups,omitempty"`
	MaxAge               uint32   `protobuf:"varint,6,opt,name=maxAge,proto3" json:"maxAge,omitempty"`
	LocalTime            bool     `protobuf:"varint,7,opt,name=localTime,proto3" json:"localTime,omitempty"`
	Compress             bool     `protobuf:"varint,8,opt,name=compress,proto3" json:"compress,omitempty"`
	CallerFile           bool     `protobuf:"varint,9,opt,name=callerFile,proto3" json:"callerFile,omitempty"`
	CallerFunction       bool     `protobuf:"varint,10,opt,name=callerFunction,proto3" json:"callerFunction,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_Log proto.InternalMessageInfo

func (m *Log) GetLoglevel() string {
	if m != nil {
		return m.Loglevel
	}
	return ""
}

func (m *Log) GetLogConsoleLevel() string {
	if m != nil {
		return m.LogConsoleLevel
	}
	return ""
}

func (m *Log) GetLogFile() string {
	if m != nil {
		return m.LogFile
	}
	return ""
}

func (m *Log) GetMaxFileSize() uint32 {
	if m != nil {
		return m.MaxFileSize
	}
	return 0
}

func (m *Log) GetMaxBackups() uint32 {
	if m != nil {
		return m.MaxBackups
	}
	return 0
}

func (m *Log) GetMaxAge() uint32 {
	if m != nil {
		return m.MaxAge
	}
	return 0
}

func (m *Log) GetLocalTime() bool {
	if m != nil {
		return m.LocalTime
	}
	return false
}

func (m *Log) GetCompress() bool {
	if m != nil {
		return m.Compress
	}
	return false
}

func (m *Log) GetCallerFile() bool {
	if m != nil {
		return m.CallerFile
	}
	return false
}

func (m *Log) GetCallerFunction() bool {
	if m != nil {
		return m.CallerFunction
	}
	return false
}

type EthRelayerCfg struct {
	EthChainName         string   `protobuf:"bytes,1,opt,name=ethChainName,proto3" json:"ethChainName,omitempty"`
	EthProvider          []string `protobuf:"bytes,2,rep,name=ethProvider,proto3" json:"ethProvider,omitempty"`
	EthProviderCli       []string `protobuf:"bytes,3,rep,name=ethProviderCli,proto3" json:"ethProviderCli,omitempty"`
	BridgeRegistry       string   `protobuf:"bytes,4,opt,name=bridgeRegistry,proto3" json:"bridgeRegistry,omitempty"`
	EthMaturityDegree    int32    `protobuf:"varint,5,opt,name=ethMaturityDegree,proto3" json:"ethMaturityDegree,omitempty"`
	EthBlockFetchPeriod  int32    `protobuf:"varint,6,opt,name=ethBlockFetchPeriod,proto3" json:"ethBlockFetchPeriod,omitempty"`
	StartListenHeight    int64    `protobuf:"varint,7,opt,name=startListenHeight,proto3" json:"startListenHeight,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_EthRelayerCfg proto.InternalMessageInfo

func (m *EthRelayerCfg) GetEthChainName() string {
	if m != nil {
		return m.EthChainName
	}
	return ""
}

func (m *EthRelayerCfg) GetEthProvider() []string {
	if m != nil {
		return m.EthProvider
	}
	return nil
}

func (m *EthRelayerCfg) GetEthProviderCli() []string {
	if m != nil {
		return m.EthProviderCli
	}
	return nil
}

func (m *EthRelayerCfg) GetBridgeRegistry() string {
	if m != nil {
		return m.BridgeRegistry
	}
	return ""
}

func (m *EthRelayerCfg) GetEthMaturityDegree() int32 {
	if m != nil {
		return m.EthMaturityDegree
	}
	return 0
}

func (m *EthRelayerCfg) GetEthBlockFetchPeriod() int32 {
	if m != nil {
		return m.EthBlockFetchPeriod
	}
	return 0
}

func (m *EthRelayerCfg) GetStartListenHeight() int64 {
	if m != nil {
		return m.StartListenHeight
	}
	return 0
}

type Chain33RelayerCfg struct {
	SyncTxConfig            *SyncTxConfig `protobuf:"bytes,1,opt,name=syncTxConfig,proto3" json:"syncTxConfig,omitempty"`
	BridgeRegistryOnChain33 string        `protobuf:"bytes,2,opt,name=bridgeRegistryOnChain33,proto3" json:"bridgeRegistryOnChain33,omitempty"`
	ChainName               string        `protobuf:"bytes,3,opt,name=chainName,proto3" json:"chainName,omitempty"`
	ChainID4Chain33         int32         `protobuf:"varint,4,opt,name=chainID4Chain33,proto3" json:"chainID4Chain33,omitempty"`
	XXX_NoUnkeyedLiteral    struct{}      `json:"-"`
	XXX_unrecognized        []byte        `json:"-"`
	XXX_sizecache           int32         `json:"-"`
}

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

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

var xxx_messageInfo_Chain33RelayerCfg proto.InternalMessageInfo

func (m *Chain33RelayerCfg) GetSyncTxConfig() *SyncTxConfig {
	if m != nil {
		return m.SyncTxConfig
	}
	return nil
}

func (m *Chain33RelayerCfg) GetBridgeRegistryOnChain33() string {
	if m != nil {
		return m.BridgeRegistryOnChain33
	}
	return ""
}

func (m *Chain33RelayerCfg) GetChainName() string {
	if m != nil {
		return m.ChainName
	}
	return ""
}

func (m *Chain33RelayerCfg) GetChainID4Chain33() int32 {
	if m != nil {
		return m.ChainID4Chain33
	}
	return 0
}

type RelayerConfig struct {
	Title                string             `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"`
	JrpcBindAddr         string             `protobuf:"bytes,2,opt,name=jrpcBindAddr,proto3" json:"jrpcBindAddr,omitempty"`
	EthRelayerCfg        []*EthRelayerCfg   `protobuf:"bytes,3,rep,name=ethRelayerCfg,proto3" json:"ethRelayerCfg,omitempty"`
	Chain33RelayerCfg    *Chain33RelayerCfg `protobuf:"bytes,4,opt,name=chain33RelayerCfg,proto3" json:"chain33RelayerCfg,omitempty"`
	Log                  *Log               `protobuf:"bytes,5,opt,name=log,proto3" json:"log,omitempty"`
	Dbdriver             string             `protobuf:"bytes,6,opt,name=dbdriver,proto3" json:"dbdriver,omitempty"`
	DbPath               string             `protobuf:"bytes,7,opt,name=dbPath,proto3" json:"dbPath,omitempty"`
	DbCache              int32              `protobuf:"varint,8,opt,name=dbCache,proto3" json:"dbCache,omitempty"`
	ProcessWithDraw      bool               `protobuf:"varint,9,opt,name=processWithDraw,proto3" json:"processWithDraw,omitempty"`
	RemindUrl            string             `protobuf:"bytes,10,opt,name=remindUrl,proto3" json:"remindUrl,omitempty"`
	RemindClientErrorUrl string             `protobuf:"bytes,11,opt,name=remindClientErrorUrl,proto3" json:"remindClientErrorUrl,omitempty"`
	RemindEmail          []string           `protobuf:"bytes,12,rep,name=remindEmail,proto3" json:"remindEmail,omitempty"`
	DelayedSendTime      int64              `protobuf:"varint,13,opt,name=delayedSendTime,proto3" json:"delayedSendTime,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

func (m *RelayerConfig) Reset()         { *m = RelayerConfig{} }
func (m *RelayerConfig) String() string { return proto.CompactTextString(m) }
func (*RelayerConfig) ProtoMessage()    {}
func (*RelayerConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_3eaf2c85e69e9ea4, []int{4}
}

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

var xxx_messageInfo_RelayerConfig proto.InternalMessageInfo

func (m *RelayerConfig) GetTitle() string {
	if m != nil {
		return m.Title
	}
	return ""
}

func (m *RelayerConfig) GetJrpcBindAddr() string {
	if m != nil {
		return m.JrpcBindAddr
	}
	return ""
}

func (m *RelayerConfig) GetEthRelayerCfg() []*EthRelayerCfg {
	if m != nil {
		return m.EthRelayerCfg
	}
	return nil
}

func (m *RelayerConfig) GetChain33RelayerCfg() *Chain33RelayerCfg {
	if m != nil {
		return m.Chain33RelayerCfg
	}
	return nil
}

func (m *RelayerConfig) GetLog() *Log {
	if m != nil {
		return m.Log
	}
	return nil
}

func (m *RelayerConfig) GetDbdriver() string {
	if m != nil {
		return m.Dbdriver
	}
	return ""
}

func (m *RelayerConfig) GetDbPath() string {
	if m != nil {
		return m.DbPath
	}
	return ""
}

func (m *RelayerConfig) GetDbCache() int32 {
	if m != nil {
		return m.DbCache
	}
	return 0
}

func (m *RelayerConfig) GetProcessWithDraw() bool {
	if m != nil {
		return m.ProcessWithDraw
	}
	return false
}

func (m *RelayerConfig) GetRemindUrl() string {
	if m != nil {
		return m.RemindUrl
	}
	return ""
}

func (m *RelayerConfig) GetRemindClientErrorUrl() string {
	if m != nil {
		return m.RemindClientErrorUrl
	}
	return ""
}

func (m *RelayerConfig) GetRemindEmail() []string {
	if m != nil {
		return m.RemindEmail
	}
	return nil
}

func (m *RelayerConfig) GetDelayedSendTime() int64 {
	if m != nil {
		return m.DelayedSendTime
	}
	return 0
}

type SyncTxReceiptConfig struct {
	Chain33Host          string   `protobuf:"bytes,1,opt,name=chain33host,proto3" json:"chain33host,omitempty"`
	PushHost             string   `protobuf:"bytes,2,opt,name=pushHost,proto3" json:"pushHost,omitempty"`
	PushName             string   `protobuf:"bytes,3,opt,name=pushName,proto3" json:"pushName,omitempty"`
	PushBind             string   `protobuf:"bytes,4,opt,name=pushBind,proto3" json:"pushBind,omitempty"`
	StartSyncHeight      int64    `protobuf:"varint,5,opt,name=startSyncHeight,proto3" json:"startSyncHeight,omitempty"`
	StartSyncSequence    int64    `protobuf:"varint,6,opt,name=startSyncSequence,proto3" json:"startSyncSequence,omitempty"`
	StartSyncHash        string   `protobuf:"bytes,7,opt,name=startSyncHash,proto3" json:"startSyncHash,omitempty"`
	Contracts            []string `protobuf:"bytes,8,rep,name=contracts,proto3" json:"contracts,omitempty"`
	KeepAliveDuration    int64    `protobuf:"varint,9,opt,name=keepAliveDuration,proto3" json:"keepAliveDuration,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *SyncTxReceiptConfig) Reset()         { *m = SyncTxReceiptConfig{} }
func (m *SyncTxReceiptConfig) String() string { return proto.CompactTextString(m) }
func (*SyncTxReceiptConfig) ProtoMessage()    {}
func (*SyncTxReceiptConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_3eaf2c85e69e9ea4, []int{5}
}

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

var xxx_messageInfo_SyncTxReceiptConfig proto.InternalMessageInfo

func (m *SyncTxReceiptConfig) GetChain33Host() string {
	if m != nil {
		return m.Chain33Host
	}
	return ""
}

func (m *SyncTxReceiptConfig) GetPushHost() string {
	if m != nil {
		return m.PushHost
	}
	return ""
}

func (m *SyncTxReceiptConfig) GetPushName() string {
	if m != nil {
		return m.PushName
	}
	return ""
}

func (m *SyncTxReceiptConfig) GetPushBind() string {
	if m != nil {
		return m.PushBind
	}
	return ""
}

func (m *SyncTxReceiptConfig) GetStartSyncHeight() int64 {
	if m != nil {
		return m.StartSyncHeight
	}
	return 0
}

func (m *SyncTxReceiptConfig) GetStartSyncSequence() int64 {
	if m != nil {
		return m.StartSyncSequence
	}
	return 0
}

func (m *SyncTxReceiptConfig) GetStartSyncHash() string {
	if m != nil {
		return m.StartSyncHash
	}
	return ""
}

func (m *SyncTxReceiptConfig) GetContracts() []string {
	if m != nil {
		return m.Contracts
	}
	return nil
}

func (m *SyncTxReceiptConfig) GetKeepAliveDuration() int64 {
	if m != nil {
		return m.KeepAliveDuration
	}
	return 0
}

func init() {
	proto.RegisterType((*SyncTxConfig)(nil), "types.SyncTxConfig")
	proto.RegisterType((*Log)(nil), "types.Log")
	proto.RegisterType((*EthRelayerCfg)(nil), "types.EthRelayerCfg")
	proto.RegisterType((*Chain33RelayerCfg)(nil), "types.Chain33RelayerCfg")
	proto.RegisterType((*RelayerConfig)(nil), "types.RelayerConfig")
	proto.RegisterType((*SyncTxReceiptConfig)(nil), "types.SyncTxReceiptConfig")
}

func init() { proto.RegisterFile("config.proto", fileDescriptor_3eaf2c85e69e9ea4) }

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