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

package types

import (
	fmt "fmt"
	math "math"

	types "github.com/33cn/chain33/types"
	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 BlockID struct {
	Hash                 []byte   `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_BlockID proto.InternalMessageInfo

func (m *BlockID) GetHash() []byte {
	if m != nil {
		return m.Hash
	}
	return nil
}

type TendermintBitArray struct {
	Bits                 int32    `protobuf:"varint,1,opt,name=bits,proto3" json:"bits,omitempty"`
	Elems                []uint64 `protobuf:"varint,2,rep,packed,name=elems,proto3" json:"elems,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_TendermintBitArray proto.InternalMessageInfo

func (m *TendermintBitArray) GetBits() int32 {
	if m != nil {
		return m.Bits
	}
	return 0
}

func (m *TendermintBitArray) GetElems() []uint64 {
	if m != nil {
		return m.Elems
	}
	return nil
}

type Vote struct {
	ValidatorAddress     []byte   `protobuf:"bytes,1,opt,name=validatorAddress,proto3" json:"validatorAddress,omitempty"`
	ValidatorIndex       int32    `protobuf:"varint,2,opt,name=validatorIndex,proto3" json:"validatorIndex,omitempty"`
	Height               int64    `protobuf:"varint,3,opt,name=height,proto3" json:"height,omitempty"`
	Round                int32    `protobuf:"varint,4,opt,name=round,proto3" json:"round,omitempty"`
	Timestamp            int64    `protobuf:"varint,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	Type                 uint32   `protobuf:"varint,6,opt,name=type,proto3" json:"type,omitempty"`
	BlockID              *BlockID `protobuf:"bytes,7,opt,name=blockID,proto3" json:"blockID,omitempty"`
	Signature            []byte   `protobuf:"bytes,8,opt,name=signature,proto3" json:"signature,omitempty"`
	UseAggSig            bool     `protobuf:"varint,9,opt,name=useAggSig,proto3" json:"useAggSig,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_Vote proto.InternalMessageInfo

func (m *Vote) GetValidatorAddress() []byte {
	if m != nil {
		return m.ValidatorAddress
	}
	return nil
}

func (m *Vote) GetValidatorIndex() int32 {
	if m != nil {
		return m.ValidatorIndex
	}
	return 0
}

func (m *Vote) GetHeight() int64 {
	if m != nil {
		return m.Height
	}
	return 0
}

func (m *Vote) GetRound() int32 {
	if m != nil {
		return m.Round
	}
	return 0
}

func (m *Vote) GetTimestamp() int64 {
	if m != nil {
		return m.Timestamp
	}
	return 0
}

func (m *Vote) GetType() uint32 {
	if m != nil {
		return m.Type
	}
	return 0
}

func (m *Vote) GetBlockID() *BlockID {
	if m != nil {
		return m.BlockID
	}
	return nil
}

func (m *Vote) GetSignature() []byte {
	if m != nil {
		return m.Signature
	}
	return nil
}

func (m *Vote) GetUseAggSig() bool {
	if m != nil {
		return m.UseAggSig
	}
	return false
}

type TendermintCommit struct {
	BlockID              *BlockID `protobuf:"bytes,1,opt,name=blockID,proto3" json:"blockID,omitempty"`
	Precommits           []*Vote  `protobuf:"bytes,2,rep,name=precommits,proto3" json:"precommits,omitempty"`
	AggVote              *AggVote `protobuf:"bytes,3,opt,name=aggVote,proto3" json:"aggVote,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_TendermintCommit proto.InternalMessageInfo

func (m *TendermintCommit) GetBlockID() *BlockID {
	if m != nil {
		return m.BlockID
	}
	return nil
}

func (m *TendermintCommit) GetPrecommits() []*Vote {
	if m != nil {
		return m.Precommits
	}
	return nil
}

func (m *TendermintCommit) GetAggVote() *AggVote {
	if m != nil {
		return m.AggVote
	}
	return nil
}

type TendermintBlockInfo struct {
	State                *State           `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"`
	Proposal             *Proposal        `protobuf:"bytes,3,opt,name=proposal,proto3" json:"proposal,omitempty"`
	Block                *TendermintBlock `protobuf:"bytes,4,opt,name=block,proto3" json:"block,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

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

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

var xxx_messageInfo_TendermintBlockInfo proto.InternalMessageInfo

func (m *TendermintBlockInfo) GetState() *State {
	if m != nil {
		return m.State
	}
	return nil
}

func (m *TendermintBlockInfo) GetProposal() *Proposal {
	if m != nil {
		return m.Proposal
	}
	return nil
}

func (m *TendermintBlockInfo) GetBlock() *TendermintBlock {
	if m != nil {
		return m.Block
	}
	return nil
}

type BlockSize struct {
	MaxBytes             int32    `protobuf:"varint,1,opt,name=maxBytes,proto3" json:"maxBytes,omitempty"`
	MaxTxs               int32    `protobuf:"varint,2,opt,name=maxTxs,proto3" json:"maxTxs,omitempty"`
	MaxGas               int64    `protobuf:"varint,3,opt,name=maxGas,proto3" json:"maxGas,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_BlockSize proto.InternalMessageInfo

func (m *BlockSize) GetMaxBytes() int32 {
	if m != nil {
		return m.MaxBytes
	}
	return 0
}

func (m *BlockSize) GetMaxTxs() int32 {
	if m != nil {
		return m.MaxTxs
	}
	return 0
}

func (m *BlockSize) GetMaxGas() int64 {
	if m != nil {
		return m.MaxGas
	}
	return 0
}

type TxSize struct {
	MaxBytes             int32    `protobuf:"varint,1,opt,name=maxBytes,proto3" json:"maxBytes,omitempty"`
	MaxGas               int64    `protobuf:"varint,2,opt,name=maxGas,proto3" json:"maxGas,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TxSize) Reset()         { *m = TxSize{} }
func (m *TxSize) String() string { return proto.CompactTextString(m) }
func (*TxSize) ProtoMessage()    {}
func (*TxSize) Descriptor() ([]byte, []int) {
	return fileDescriptor_04f926c8da23c367, []int{6}
}

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

var xxx_messageInfo_TxSize proto.InternalMessageInfo

func (m *TxSize) GetMaxBytes() int32 {
	if m != nil {
		return m.MaxBytes
	}
	return 0
}

func (m *TxSize) GetMaxGas() int64 {
	if m != nil {
		return m.MaxGas
	}
	return 0
}

type BlockGossip struct {
	BlockPartSizeBytes   int32    `protobuf:"varint,1,opt,name=blockPartSizeBytes,proto3" json:"blockPartSizeBytes,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *BlockGossip) Reset()         { *m = BlockGossip{} }
func (m *BlockGossip) String() string { return proto.CompactTextString(m) }
func (*BlockGossip) ProtoMessage()    {}
func (*BlockGossip) Descriptor() ([]byte, []int) {
	return fileDescriptor_04f926c8da23c367, []int{7}
}

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

var xxx_messageInfo_BlockGossip proto.InternalMessageInfo

func (m *BlockGossip) GetBlockPartSizeBytes() int32 {
	if m != nil {
		return m.BlockPartSizeBytes
	}
	return 0
}

type EvidenceParams struct {
	MaxAge               int64    `protobuf:"varint,1,opt,name=maxAge,proto3" json:"maxAge,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *EvidenceParams) Reset()         { *m = EvidenceParams{} }
func (m *EvidenceParams) String() string { return proto.CompactTextString(m) }
func (*EvidenceParams) ProtoMessage()    {}
func (*EvidenceParams) Descriptor() ([]byte, []int) {
	return fileDescriptor_04f926c8da23c367, []int{8}
}

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

var xxx_messageInfo_EvidenceParams proto.InternalMessageInfo

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

type ConsensusParams struct {
	BlockSize            *BlockSize      `protobuf:"bytes,1,opt,name=blockSize,proto3" json:"blockSize,omitempty"`
	TxSize               *TxSize         `protobuf:"bytes,2,opt,name=txSize,proto3" json:"txSize,omitempty"`
	BlockGossip          *BlockGossip    `protobuf:"bytes,3,opt,name=blockGossip,proto3" json:"blockGossip,omitempty"`
	EvidenceParams       *EvidenceParams `protobuf:"bytes,4,opt,name=evidenceParams,proto3" json:"evidenceParams,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *ConsensusParams) Reset()         { *m = ConsensusParams{} }
func (m *ConsensusParams) String() string { return proto.CompactTextString(m) }
func (*ConsensusParams) ProtoMessage()    {}
func (*ConsensusParams) Descriptor() ([]byte, []int) {
	return fileDescriptor_04f926c8da23c367, []int{9}
}

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

var xxx_messageInfo_ConsensusParams proto.InternalMessageInfo

func (m *ConsensusParams) GetBlockSize() *BlockSize {
	if m != nil {
		return m.BlockSize
	}
	return nil
}

func (m *ConsensusParams) GetTxSize() *TxSize {
	if m != nil {
		return m.TxSize
	}
	return nil
}

func (m *ConsensusParams) GetBlockGossip() *BlockGossip {
	if m != nil {
		return m.BlockGossip
	}
	return nil
}

func (m *ConsensusParams) GetEvidenceParams() *EvidenceParams {
	if m != nil {
		return m.EvidenceParams
	}
	return nil
}

type Validator struct {
	Address              []byte   `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	PubKey               []byte   `protobuf:"bytes,2,opt,name=pubKey,proto3" json:"pubKey,omitempty"`
	VotingPower          int64    `protobuf:"varint,3,opt,name=votingPower,proto3" json:"votingPower,omitempty"`
	Accum                int64    `protobuf:"varint,4,opt,name=accum,proto3" json:"accum,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Validator) Reset()         { *m = Validator{} }
func (m *Validator) String() string { return proto.CompactTextString(m) }
func (*Validator) ProtoMessage()    {}
func (*Validator) Descriptor() ([]byte, []int) {
	return fileDescriptor_04f926c8da23c367, []int{10}
}

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

var xxx_messageInfo_Validator proto.InternalMessageInfo

func (m *Validator) GetAddress() []byte {
	if m != nil {
		return m.Address
	}
	return nil
}

func (m *Validator) GetPubKey() []byte {
	if m != nil {
		return m.PubKey
	}
	return nil
}

func (m *Validator) GetVotingPower() int64 {
	if m != nil {
		return m.VotingPower
	}
	return 0
}

func (m *Validator) GetAccum() int64 {
	if m != nil {
		return m.Accum
	}
	return 0
}

type ValidatorSet struct {
	Validators           []*Validator `protobuf:"bytes,1,rep,name=validators,proto3" json:"validators,omitempty"`
	Proposer             *Validator   `protobuf:"bytes,2,opt,name=proposer,proto3" json:"proposer,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

func (m *ValidatorSet) Reset()         { *m = ValidatorSet{} }
func (m *ValidatorSet) String() string { return proto.CompactTextString(m) }
func (*ValidatorSet) ProtoMessage()    {}
func (*ValidatorSet) Descriptor() ([]byte, []int) {
	return fileDescriptor_04f926c8da23c367, []int{11}
}

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

var xxx_messageInfo_ValidatorSet proto.InternalMessageInfo

func (m *ValidatorSet) GetValidators() []*Validator {
	if m != nil {
		return m.Validators
	}
	return nil
}

func (m *ValidatorSet) GetProposer() *Validator {
	if m != nil {
		return m.Proposer
	}
	return nil
}

type State struct {
	ChainID                          string           `protobuf:"bytes,1,opt,name=chainID,proto3" json:"chainID,omitempty"`
	LastBlockHeight                  int64            `protobuf:"varint,2,opt,name=lastBlockHeight,proto3" json:"lastBlockHeight,omitempty"`
	LastBlockTotalTx                 int64            `protobuf:"varint,3,opt,name=lastBlockTotalTx,proto3" json:"lastBlockTotalTx,omitempty"`
	LastBlockID                      *BlockID         `protobuf:"bytes,4,opt,name=lastBlockID,proto3" json:"lastBlockID,omitempty"`
	LastBlockTime                    int64            `protobuf:"varint,5,opt,name=lastBlockTime,proto3" json:"lastBlockTime,omitempty"`
	Validators                       *ValidatorSet    `protobuf:"bytes,6,opt,name=validators,proto3" json:"validators,omitempty"`
	LastValidators                   *ValidatorSet    `protobuf:"bytes,7,opt,name=lastValidators,proto3" json:"lastValidators,omitempty"`
	LastHeightValidatorsChanged      int64            `protobuf:"varint,8,opt,name=lastHeightValidatorsChanged,proto3" json:"lastHeightValidatorsChanged,omitempty"`
	ConsensusParams                  *ConsensusParams `protobuf:"bytes,9,opt,name=consensusParams,proto3" json:"consensusParams,omitempty"`
	LastHeightConsensusParamsChanged int64            `protobuf:"varint,10,opt,name=lastHeightConsensusParamsChanged,proto3" json:"lastHeightConsensusParamsChanged,omitempty"`
	LastResultsHash                  []byte           `protobuf:"bytes,11,opt,name=lastResultsHash,proto3" json:"lastResultsHash,omitempty"`
	AppHash                          []byte           `protobuf:"bytes,12,opt,name=appHash,proto3" json:"appHash,omitempty"`
	XXX_NoUnkeyedLiteral             struct{}         `json:"-"`
	XXX_unrecognized                 []byte           `json:"-"`
	XXX_sizecache                    int32            `json:"-"`
}

func (m *State) Reset()         { *m = State{} }
func (m *State) String() string { return proto.CompactTextString(m) }
func (*State) ProtoMessage()    {}
func (*State) Descriptor() ([]byte, []int) {
	return fileDescriptor_04f926c8da23c367, []int{12}
}

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

var xxx_messageInfo_State proto.InternalMessageInfo

func (m *State) GetChainID() string {
	if m != nil {
		return m.ChainID
	}
	return ""
}

func (m *State) GetLastBlockHeight() int64 {
	if m != nil {
		return m.LastBlockHeight
	}
	return 0
}

func (m *State) GetLastBlockTotalTx() int64 {
	if m != nil {
		return m.LastBlockTotalTx
	}
	return 0
}

func (m *State) GetLastBlockID() *BlockID {
	if m != nil {
		return m.LastBlockID
	}
	return nil
}

func (m *State) GetLastBlockTime() int64 {
	if m != nil {
		return m.LastBlockTime
	}
	return 0
}

func (m *State) GetValidators() *ValidatorSet {
	if m != nil {
		return m.Validators
	}
	return nil
}

func (m *State) GetLastValidators() *ValidatorSet {
	if m != nil {
		return m.LastValidators
	}
	return nil
}

func (m *State) GetLastHeightValidatorsChanged() int64 {
	if m != nil {
		return m.LastHeightValidatorsChanged
	}
	return 0
}

func (m *State) GetConsensusParams() *ConsensusParams {
	if m != nil {
		return m.ConsensusParams
	}
	return nil
}

func (m *State) GetLastHeightConsensusParamsChanged() int64 {
	if m != nil {
		return m.LastHeightConsensusParamsChanged
	}
	return 0
}

func (m *State) GetLastResultsHash() []byte {
	if m != nil {
		return m.LastResultsHash
	}
	return nil
}

func (m *State) GetAppHash() []byte {
	if m != nil {
		return m.AppHash
	}
	return nil
}

type TendermintBlockHeader struct {
	ChainID              string   `protobuf:"bytes,1,opt,name=chainID,proto3" json:"chainID,omitempty"`
	Height               int64    `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"`
	Round                int64    `protobuf:"varint,3,opt,name=round,proto3" json:"round,omitempty"`
	Time                 int64    `protobuf:"varint,4,opt,name=time,proto3" json:"time,omitempty"`
	NumTxs               int64    `protobuf:"varint,5,opt,name=numTxs,proto3" json:"numTxs,omitempty"`
	LastBlockID          *BlockID `protobuf:"bytes,6,opt,name=lastBlockID,proto3" json:"lastBlockID,omitempty"`
	TotalTxs             int64    `protobuf:"varint,7,opt,name=totalTxs,proto3" json:"totalTxs,omitempty"`
	LastCommitHash       []byte   `protobuf:"bytes,8,opt,name=lastCommitHash,proto3" json:"lastCommitHash,omitempty"`
	ValidatorsHash       []byte   `protobuf:"bytes,9,opt,name=validatorsHash,proto3" json:"validatorsHash,omitempty"`
	ConsensusHash        []byte   `protobuf:"bytes,10,opt,name=consensusHash,proto3" json:"consensusHash,omitempty"`
	AppHash              []byte   `protobuf:"bytes,11,opt,name=appHash,proto3" json:"appHash,omitempty"`
	LastResultsHash      []byte   `protobuf:"bytes,12,opt,name=lastResultsHash,proto3" json:"lastResultsHash,omitempty"`
	ProposerAddr         []byte   `protobuf:"bytes,13,opt,name=proposerAddr,proto3" json:"proposerAddr,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TendermintBlockHeader) Reset()         { *m = TendermintBlockHeader{} }
func (m *TendermintBlockHeader) String() string { return proto.CompactTextString(m) }
func (*TendermintBlockHeader) ProtoMessage()    {}
func (*TendermintBlockHeader) Descriptor() ([]byte, []int) {
	return fileDescriptor_04f926c8da23c367, []int{13}
}

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

var xxx_messageInfo_TendermintBlockHeader proto.InternalMessageInfo

func (m *TendermintBlockHeader) GetChainID() string {
	if m != nil {
		return m.ChainID
	}
	return ""
}

func (m *TendermintBlockHeader) GetHeight() int64 {
	if m != nil {
		return m.Height
	}
	return 0
}

func (m *TendermintBlockHeader) GetRound() int64 {
	if m != nil {
		return m.Round
	}
	return 0
}

func (m *TendermintBlockHeader) GetTime() int64 {
	if m != nil {
		return m.Time
	}
	return 0
}

func (m *TendermintBlockHeader) GetNumTxs() int64 {
	if m != nil {
		return m.NumTxs
	}
	return 0
}

func (m *TendermintBlockHeader) GetLastBlockID() *BlockID {
	if m != nil {
		return m.LastBlockID
	}
	return nil
}

func (m *TendermintBlockHeader) GetTotalTxs() int64 {
	if m != nil {
		return m.TotalTxs
	}
	return 0
}

func (m *TendermintBlockHeader) GetLastCommitHash() []byte {
	if m != nil {
		return m.LastCommitHash
	}
	return nil
}

func (m *TendermintBlockHeader) GetValidatorsHash() []byte {
	if m != nil {
		return m.ValidatorsHash
	}
	return nil
}

func (m *TendermintBlockHeader) GetConsensusHash() []byte {
	if m != nil {
		return m.ConsensusHash
	}
	return nil
}

func (m *TendermintBlockHeader) GetAppHash() []byte {
	if m != nil {
		return m.AppHash
	}
	return nil
}

func (m *TendermintBlockHeader) GetLastResultsHash() []byte {
	if m != nil {
		return m.LastResultsHash
	}
	return nil
}

func (m *TendermintBlockHeader) GetProposerAddr() []byte {
	if m != nil {
		return m.ProposerAddr
	}
	return nil
}

type TendermintBlock struct {
	Header               *TendermintBlockHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
	Data                 *types.Block           `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	LastCommit           *TendermintCommit      `protobuf:"bytes,4,opt,name=lastCommit,proto3" json:"lastCommit,omitempty"`
	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
	XXX_unrecognized     []byte                 `json:"-"`
	XXX_sizecache        int32                  `json:"-"`
}

func (m *TendermintBlock) Reset()         { *m = TendermintBlock{} }
func (m *TendermintBlock) String() string { return proto.CompactTextString(m) }
func (*TendermintBlock) ProtoMessage()    {}
func (*TendermintBlock) Descriptor() ([]byte, []int) {
	return fileDescriptor_04f926c8da23c367, []int{14}
}

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

var xxx_messageInfo_TendermintBlock proto.InternalMessageInfo

func (m *TendermintBlock) GetHeader() *TendermintBlockHeader {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *TendermintBlock) GetData() *types.Block {
	if m != nil {
		return m.Data
	}
	return nil
}

func (m *TendermintBlock) GetLastCommit() *TendermintCommit {
	if m != nil {
		return m.LastCommit
	}
	return nil
}

type Proposal struct {
	Height               int64    `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
	Round                int32    `protobuf:"varint,2,opt,name=round,proto3" json:"round,omitempty"`
	Timestamp            int64    `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	POLRound             int32    `protobuf:"varint,4,opt,name=POLRound,proto3" json:"POLRound,omitempty"`
	POLBlockID           *BlockID `protobuf:"bytes,5,opt,name=POLBlockID,proto3" json:"POLBlockID,omitempty"`
	Signature            []byte   `protobuf:"bytes,6,opt,name=signature,proto3" json:"signature,omitempty"`
	Blockhash            []byte   `protobuf:"bytes,7,opt,name=blockhash,proto3" json:"blockhash,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Proposal) Reset()         { *m = Proposal{} }
func (m *Proposal) String() string { return proto.CompactTextString(m) }
func (*Proposal) ProtoMessage()    {}
func (*Proposal) Descriptor() ([]byte, []int) {
	return fileDescriptor_04f926c8da23c367, []int{15}
}

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

var xxx_messageInfo_Proposal proto.InternalMessageInfo

func (m *Proposal) GetHeight() int64 {
	if m != nil {
		return m.Height
	}
	return 0
}

func (m *Proposal) GetRound() int32 {
	if m != nil {
		return m.Round
	}
	return 0
}

func (m *Proposal) GetTimestamp() int64 {
	if m != nil {
		return m.Timestamp
	}
	return 0
}

func (m *Proposal) GetPOLRound() int32 {
	if m != nil {
		return m.POLRound
	}
	return 0
}

func (m *Proposal) GetPOLBlockID() *BlockID {
	if m != nil {
		return m.POLBlockID
	}
	return nil
}

func (m *Proposal) GetSignature() []byte {
	if m != nil {
		return m.Signature
	}
	return nil
}

func (m *Proposal) GetBlockhash() []byte {
	if m != nil {
		return m.Blockhash
	}
	return nil
}

type NewRoundStepMsg struct {
	Height                int64    `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
	Round                 int32    `protobuf:"varint,2,opt,name=round,proto3" json:"round,omitempty"`
	Step                  int32    `protobuf:"varint,3,opt,name=step,proto3" json:"step,omitempty"`
	SecondsSinceStartTime int32    `protobuf:"varint,4,opt,name=secondsSinceStartTime,proto3" json:"secondsSinceStartTime,omitempty"`
	LastCommitRound       int32    `protobuf:"varint,5,opt,name=lastCommitRound,proto3" json:"lastCommitRound,omitempty"`
	XXX_NoUnkeyedLiteral  struct{} `json:"-"`
	XXX_unrecognized      []byte   `json:"-"`
	XXX_sizecache         int32    `json:"-"`
}

func (m *NewRoundStepMsg) Reset()         { *m = NewRoundStepMsg{} }
func (m *NewRoundStepMsg) String() string { return proto.CompactTextString(m) }
func (*NewRoundStepMsg) ProtoMessage()    {}
func (*NewRoundStepMsg) Descriptor() ([]byte, []int) {
	return fileDescriptor_04f926c8da23c367, []int{16}
}

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

var xxx_messageInfo_NewRoundStepMsg proto.InternalMessageInfo

func (m *NewRoundStepMsg) GetHeight() int64 {
	if m != nil {
		return m.Height
	}
	return 0
}

func (m *NewRoundStepMsg) GetRound() int32 {
	if m != nil {
		return m.Round
	}
	return 0
}

func (m *NewRoundStepMsg) GetStep() int32 {
	if m != nil {
		return m.Step
	}
	return 0
}

func (m *NewRoundStepMsg) GetSecondsSinceStartTime() int32 {
	if m != nil {
		return m.SecondsSinceStartTime
	}
	return 0
}

func (m *NewRoundStepMsg) GetLastCommitRound() int32 {
	if m != nil {
		return m.LastCommitRound
	}
	return 0
}

type ValidBlockMsg struct {
	Height               int64    `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
	Round                int32    `protobuf:"varint,2,opt,name=round,proto3" json:"round,omitempty"`
	Blockhash            []byte   `protobuf:"bytes,3,opt,name=blockhash,proto3" json:"blockhash,omitempty"`
	IsCommit             bool     `protobuf:"varint,4,opt,name=isCommit,proto3" json:"isCommit,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ValidBlockMsg) Reset()         { *m = ValidBlockMsg{} }
func (m *ValidBlockMsg) String() string { return proto.CompactTextString(m) }
func (*ValidBlockMsg) ProtoMessage()    {}
func (*ValidBlockMsg) Descriptor() ([]byte, []int) {
	return fileDescriptor_04f926c8da23c367, []int{17}
}

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

var xxx_messageInfo_ValidBlockMsg proto.InternalMessageInfo

func (m *ValidBlockMsg) GetHeight() int64 {
	if m != nil {
		return m.Height
	}
	return 0
}

func (m *ValidBlockMsg) GetRound() int32 {
	if m != nil {
		return m.Round
	}
	return 0
}

func (m *ValidBlockMsg) GetBlockhash() []byte {
	if m != nil {
		return m.Blockhash
	}
	return nil
}

func (m *ValidBlockMsg) GetIsCommit() bool {
	if m != nil {
		return m.IsCommit
	}
	return false
}

type ProposalPOLMsg struct {
	Height               int64               `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
	ProposalPOLRound     int32               `protobuf:"varint,2,opt,name=proposalPOLRound,proto3" json:"proposalPOLRound,omitempty"`
	ProposalPOL          *TendermintBitArray `protobuf:"bytes,3,opt,name=proposalPOL,proto3" json:"proposalPOL,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *ProposalPOLMsg) Reset()         { *m = ProposalPOLMsg{} }
func (m *ProposalPOLMsg) String() string { return proto.CompactTextString(m) }
func (*ProposalPOLMsg) ProtoMessage()    {}
func (*ProposalPOLMsg) Descriptor() ([]byte, []int) {
	return fileDescriptor_04f926c8da23c367, []int{18}
}

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

var xxx_messageInfo_ProposalPOLMsg proto.InternalMessageInfo

func (m *ProposalPOLMsg) GetHeight() int64 {
	if m != nil {
		return m.Height
	}
	return 0
}

func (m *ProposalPOLMsg) GetProposalPOLRound() int32 {
	if m != nil {
		return m.ProposalPOLRound
	}
	return 0
}

func (m *ProposalPOLMsg) GetProposalPOL() *TendermintBitArray {
	if m != nil {
		return m.ProposalPOL
	}
	return nil
}

type HasVoteMsg struct {
	Height               int64    `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
	Round                int32    `protobuf:"varint,2,opt,name=round,proto3" json:"round,omitempty"`
	Type                 int32    `protobuf:"varint,3,opt,name=type,proto3" json:"type,omitempty"`
	Index                int32    `protobuf:"varint,4,opt,name=index,proto3" json:"index,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *HasVoteMsg) Reset()         { *m = HasVoteMsg{} }
func (m *HasVoteMsg) String() string { return proto.CompactTextString(m) }
func (*HasVoteMsg) ProtoMessage()    {}
func (*HasVoteMsg) Descriptor() ([]byte, []int) {
	return fileDescriptor_04f926c8da23c367, []int{19}
}

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

var xxx_messageInfo_HasVoteMsg proto.InternalMessageInfo

func (m *HasVoteMsg) GetHeight() int64 {
	if m != nil {
		return m.Height
	}
	return 0
}

func (m *HasVoteMsg) GetRound() int32 {
	if m != nil {
		return m.Round
	}
	return 0
}

func (m *HasVoteMsg) GetType() int32 {
	if m != nil {
		return m.Type
	}
	return 0
}

func (m *HasVoteMsg) GetIndex() int32 {
	if m != nil {
		return m.Index
	}
	return 0
}

type VoteSetMaj23Msg struct {
	Height               int64    `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
	Round                int32    `protobuf:"varint,2,opt,name=round,proto3" json:"round,omitempty"`
	Type                 int32    `protobuf:"varint,3,opt,name=type,proto3" json:"type,omitempty"`
	BlockID              *BlockID `protobuf:"bytes,4,opt,name=blockID,proto3" json:"blockID,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *VoteSetMaj23Msg) Reset()         { *m = VoteSetMaj23Msg{} }
func (m *VoteSetMaj23Msg) String() string { return proto.CompactTextString(m) }
func (*VoteSetMaj23Msg) ProtoMessage()    {}
func (*VoteSetMaj23Msg) Descriptor() ([]byte, []int) {
	return fileDescriptor_04f926c8da23c367, []int{20}
}

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

var xxx_messageInfo_VoteSetMaj23Msg proto.InternalMessageInfo

func (m *VoteSetMaj23Msg) GetHeight() int64 {
	if m != nil {
		return m.Height
	}
	return 0
}

func (m *VoteSetMaj23Msg) GetRound() int32 {
	if m != nil {
		return m.Round
	}
	return 0
}

func (m *VoteSetMaj23Msg) GetType() int32 {
	if m != nil {
		return m.Type
	}
	return 0
}

func (m *VoteSetMaj23Msg) GetBlockID() *BlockID {
	if m != nil {
		return m.BlockID
	}
	return nil
}

type VoteSetBitsMsg struct {
	Height               int64               `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
	Round                int32               `protobuf:"varint,2,opt,name=round,proto3" json:"round,omitempty"`
	Type                 int32               `protobuf:"varint,3,opt,name=type,proto3" json:"type,omitempty"`
	BlockID              *BlockID            `protobuf:"bytes,4,opt,name=blockID,proto3" json:"blockID,omitempty"`
	Votes                *TendermintBitArray `protobuf:"bytes,5,opt,name=votes,proto3" json:"votes,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *VoteSetBitsMsg) Reset()         { *m = VoteSetBitsMsg{} }
func (m *VoteSetBitsMsg) String() string { return proto.CompactTextString(m) }
func (*VoteSetBitsMsg) ProtoMessage()    {}
func (*VoteSetBitsMsg) Descriptor() ([]byte, []int) {
	return fileDescriptor_04f926c8da23c367, []int{21}
}

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

var xxx_messageInfo_VoteSetBitsMsg proto.InternalMessageInfo

func (m *VoteSetBitsMsg) GetHeight() int64 {
	if m != nil {
		return m.Height
	}
	return 0
}

func (m *VoteSetBitsMsg) GetRound() int32 {
	if m != nil {
		return m.Round
	}
	return 0
}

func (m *VoteSetBitsMsg) GetType() int32 {
	if m != nil {
		return m.Type
	}
	return 0
}

func (m *VoteSetBitsMsg) GetBlockID() *BlockID {
	if m != nil {
		return m.BlockID
	}
	return nil
}

func (m *VoteSetBitsMsg) GetVotes() *TendermintBitArray {
	if m != nil {
		return m.Votes
	}
	return nil
}

type Heartbeat struct {
	ValidatorAddress     []byte   `protobuf:"bytes,1,opt,name=validatorAddress,proto3" json:"validatorAddress,omitempty"`
	ValidatorIndex       int32    `protobuf:"varint,2,opt,name=validatorIndex,proto3" json:"validatorIndex,omitempty"`
	Height               int64    `protobuf:"varint,3,opt,name=height,proto3" json:"height,omitempty"`
	Round                int32    `protobuf:"varint,4,opt,name=round,proto3" json:"round,omitempty"`
	Sequence             int32    `protobuf:"varint,5,opt,name=sequence,proto3" json:"sequence,omitempty"`
	Signature            []byte   `protobuf:"bytes,6,opt,name=signature,proto3" json:"signature,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Heartbeat) Reset()         { *m = Heartbeat{} }
func (m *Heartbeat) String() string { return proto.CompactTextString(m) }
func (*Heartbeat) ProtoMessage()    {}
func (*Heartbeat) Descriptor() ([]byte, []int) {
	return fileDescriptor_04f926c8da23c367, []int{22}
}

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

var xxx_messageInfo_Heartbeat proto.InternalMessageInfo

func (m *Heartbeat) GetValidatorAddress() []byte {
	if m != nil {
		return m.ValidatorAddress
	}
	return nil
}

func (m *Heartbeat) GetValidatorIndex() int32 {
	if m != nil {
		return m.ValidatorIndex
	}
	return 0
}

func (m *Heartbeat) GetHeight() int64 {
	if m != nil {
		return m.Height
	}
	return 0
}

func (m *Heartbeat) GetRound() int32 {
	if m != nil {
		return m.Round
	}
	return 0
}

func (m *Heartbeat) GetSequence() int32 {
	if m != nil {
		return m.Sequence
	}
	return 0
}

func (m *Heartbeat) GetSignature() []byte {
	if m != nil {
		return m.Signature
	}
	return nil
}

type IsHealthy struct {
	IsHealthy            bool     `protobuf:"varint,1,opt,name=isHealthy,proto3" json:"isHealthy,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *IsHealthy) Reset()         { *m = IsHealthy{} }
func (m *IsHealthy) String() string { return proto.CompactTextString(m) }
func (*IsHealthy) ProtoMessage()    {}
func (*IsHealthy) Descriptor() ([]byte, []int) {
	return fileDescriptor_04f926c8da23c367, []int{23}
}

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

var xxx_messageInfo_IsHealthy proto.InternalMessageInfo

func (m *IsHealthy) GetIsHealthy() bool {
	if m != nil {
		return m.IsHealthy
	}
	return false
}

type AggVote struct {
	ValidatorAddress     []byte              `protobuf:"bytes,1,opt,name=validatorAddress,proto3" json:"validatorAddress,omitempty"`
	ValidatorArray       *TendermintBitArray `protobuf:"bytes,2,opt,name=validatorArray,proto3" json:"validatorArray,omitempty"`
	Height               int64               `protobuf:"varint,3,opt,name=height,proto3" json:"height,omitempty"`
	Round                int32               `protobuf:"varint,4,opt,name=round,proto3" json:"round,omitempty"`
	Timestamp            int64               `protobuf:"varint,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	Type                 uint32              `protobuf:"varint,6,opt,name=type,proto3" json:"type,omitempty"`
	BlockID              *BlockID            `protobuf:"bytes,7,opt,name=blockID,proto3" json:"blockID,omitempty"`
	Signature            []byte              `protobuf:"bytes,8,opt,name=signature,proto3" json:"signature,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *AggVote) Reset()         { *m = AggVote{} }
func (m *AggVote) String() string { return proto.CompactTextString(m) }
func (*AggVote) ProtoMessage()    {}
func (*AggVote) Descriptor() ([]byte, []int) {
	return fileDescriptor_04f926c8da23c367, []int{24}
}

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

var xxx_messageInfo_AggVote proto.InternalMessageInfo

func (m *AggVote) GetValidatorAddress() []byte {
	if m != nil {
		return m.ValidatorAddress
	}
	return nil
}

func (m *AggVote) GetValidatorArray() *TendermintBitArray {
	if m != nil {
		return m.ValidatorArray
	}
	return nil
}

func (m *AggVote) GetHeight() int64 {
	if m != nil {
		return m.Height
	}
	return 0
}

func (m *AggVote) GetRound() int32 {
	if m != nil {
		return m.Round
	}
	return 0
}

func (m *AggVote) GetTimestamp() int64 {
	if m != nil {
		return m.Timestamp
	}
	return 0
}

func (m *AggVote) GetType() uint32 {
	if m != nil {
		return m.Type
	}
	return 0
}

func (m *AggVote) GetBlockID() *BlockID {
	if m != nil {
		return m.BlockID
	}
	return nil
}

func (m *AggVote) GetSignature() []byte {
	if m != nil {
		return m.Signature
	}
	return nil
}

func init() {
	proto.RegisterType((*BlockID)(nil), "types.BlockID")
	proto.RegisterType((*TendermintBitArray)(nil), "types.TendermintBitArray")
	proto.RegisterType((*Vote)(nil), "types.Vote")
	proto.RegisterType((*TendermintCommit)(nil), "types.TendermintCommit")
	proto.RegisterType((*TendermintBlockInfo)(nil), "types.TendermintBlockInfo")
	proto.RegisterType((*BlockSize)(nil), "types.BlockSize")
	proto.RegisterType((*TxSize)(nil), "types.TxSize")
	proto.RegisterType((*BlockGossip)(nil), "types.BlockGossip")
	proto.RegisterType((*EvidenceParams)(nil), "types.EvidenceParams")
	proto.RegisterType((*ConsensusParams)(nil), "types.ConsensusParams")
	proto.RegisterType((*Validator)(nil), "types.Validator")
	proto.RegisterType((*ValidatorSet)(nil), "types.ValidatorSet")
	proto.RegisterType((*State)(nil), "types.State")
	proto.RegisterType((*TendermintBlockHeader)(nil), "types.TendermintBlockHeader")
	proto.RegisterType((*TendermintBlock)(nil), "types.TendermintBlock")
	proto.RegisterType((*Proposal)(nil), "types.Proposal")
	proto.RegisterType((*NewRoundStepMsg)(nil), "types.NewRoundStepMsg")
	proto.RegisterType((*ValidBlockMsg)(nil), "types.ValidBlockMsg")
	proto.RegisterType((*ProposalPOLMsg)(nil), "types.ProposalPOLMsg")
	proto.RegisterType((*HasVoteMsg)(nil), "types.HasVoteMsg")
	proto.RegisterType((*VoteSetMaj23Msg)(nil), "types.VoteSetMaj23Msg")
	proto.RegisterType((*VoteSetBitsMsg)(nil), "types.VoteSetBitsMsg")
	proto.RegisterType((*Heartbeat)(nil), "types.Heartbeat")
	proto.RegisterType((*IsHealthy)(nil), "types.IsHealthy")
	proto.RegisterType((*AggVote)(nil), "types.AggVote")
}

func init() {
	proto.RegisterFile("tendermint.proto", fileDescriptor_04f926c8da23c367)
}

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