From 2017d360b618541d9a19b16026fa66fa1f6193c9 Mon Sep 17 00:00:00 2001 From: cboh4 Date: Thu, 13 Nov 2025 13:12:21 +0200 Subject: [PATCH 1/6] Revert "Merge pull request #133 from scrtlabs/add-implicit-hash-to-header" This reverts commit b12870d1effe375948fb4e230974bf3702e17438, reversing changes made to 020a790e6ba9ad075999b1010f8d0d2a5f3779a2. --- state/state.go | 10 +++++----- state/validation.go | 15 +++++++-------- types/block.go | 4 ++-- 3 files changed, 14 insertions(+), 15 deletions(-) diff --git a/state/state.go b/state/state.go index 801f44d07d5..f436d93c9b7 100644 --- a/state/state.go +++ b/state/state.go @@ -280,10 +280,10 @@ func (state State) MakeBlock( panic("Failed to validate generated random") } - // implicitHash, err := tmenclave.GetImplicitHash() - // if err != nil { - // panic("Failed to get implicit hash") - // } + implicitHash, err := tmenclave.GetImplicitHash() + if err != nil { + panic("Failed to get implicit hash") + } // ScrtLabs changes out <- // Fill rest of header with state data. @@ -292,7 +292,7 @@ func (state State) MakeBlock( timestamp, state.LastBlockID, state.Validators.Hash(), state.NextValidators.Hash(), state.ConsensusParams.Hash(), state.AppHash, state.LastResultsHash, - proposerAddress, &encryptedRandom, nil, + proposerAddress, &encryptedRandom, implicitHash, ) return block diff --git a/state/validation.go b/state/validation.go index b308fb43404..81dbc2f315a 100644 --- a/state/validation.go +++ b/state/validation.go @@ -121,15 +121,14 @@ func validateBlock(state State, block *types.Block) error { } } - // expectedImplicitHash, err := tmenclave.GetImplicitHash() // hash from last block's scheduling - // if err != nil { - // return fmt.Errorf("failed to get implicit hash: %w", err) - // } - if len(block.Header.ImplicitHash) > 0 { + expectedImplicitHash, err := tmenclave.GetImplicitHash() // hash from last block's scheduling + if err != nil { + return fmt.Errorf("failed to get implicit hash: %w", err) + } + if !bytes.Equal(block.Header.ImplicitHash, expectedImplicitHash) { emptySha256 := sha256.Sum256([]byte{}) - if !bytes.Equal(block.Header.ImplicitHash, emptySha256[:]) { - return fmt.Errorf("implicit_hash mismatch: expected nil or empty hash, got %s", - block.Header.ImplicitHash.String()) + if !(bytes.Equal(block.Header.ImplicitHash, []byte{}) && bytes.Equal(expectedImplicitHash, emptySha256[:])) { + return fmt.Errorf("implicit_hash mismatch: expected %X, got %X", hex.EncodeToString(expectedImplicitHash), hex.EncodeToString(block.Header.ImplicitHash)) } } diff --git a/types/block.go b/types/block.go index e0f17119113..aca900a54bf 100644 --- a/types/block.go +++ b/types/block.go @@ -489,7 +489,7 @@ func (h *Header) Hash() cmtbytes.HexBytes { cdcEncode(h.LastResultsHash), cdcEncode(h.EvidenceHash), cdcEncode(h.ProposerAddress), - // cdcEncode(h.ImplicitHash), + cdcEncode(h.ImplicitHash), }) } @@ -529,7 +529,7 @@ func (h *Header) StringIndented(indent string) string { indent, h.LastResultsHash, indent, h.EvidenceHash, indent, h.ProposerAddress, - // indent, h.ImplicitHash, + indent, h.ImplicitHash, indent, h.Hash(), ) } From a483034e24a616dd68ecfd779b99ecf45513d38a Mon Sep 17 00:00:00 2001 From: cboh4 Date: Thu, 13 Nov 2025 13:12:44 +0200 Subject: [PATCH 2/6] Revert "Merge pull request #132 from scrtlabs/add-implicit-hash-to-header" This reverts commit 020a790e6ba9ad075999b1010f8d0d2a5f3779a2, reversing changes made to 26f71adb761184702e1aa95791e27b7c06947a88. --- state/state.go | 1 + state/validation.go | 6 +----- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/state/state.go b/state/state.go index f436d93c9b7..363501ee628 100644 --- a/state/state.go +++ b/state/state.go @@ -295,6 +295,7 @@ func (state State) MakeBlock( proposerAddress, &encryptedRandom, implicitHash, ) + fmt.Printf("------------ HEADER HASH : %+v\n", block.Header.Hash()) return block } diff --git a/state/validation.go b/state/validation.go index 81dbc2f315a..b79b0d05491 100644 --- a/state/validation.go +++ b/state/validation.go @@ -2,7 +2,6 @@ package state import ( "bytes" - "crypto/sha256" "encoding/hex" "errors" "fmt" @@ -126,10 +125,7 @@ func validateBlock(state State, block *types.Block) error { return fmt.Errorf("failed to get implicit hash: %w", err) } if !bytes.Equal(block.Header.ImplicitHash, expectedImplicitHash) { - emptySha256 := sha256.Sum256([]byte{}) - if !(bytes.Equal(block.Header.ImplicitHash, []byte{}) && bytes.Equal(expectedImplicitHash, emptySha256[:])) { - return fmt.Errorf("implicit_hash mismatch: expected %X, got %X", hex.EncodeToString(expectedImplicitHash), hex.EncodeToString(block.Header.ImplicitHash)) - } + return fmt.Errorf("implicit_hash mismatch: expected %X, got %X", hex.EncodeToString(expectedImplicitHash), hex.EncodeToString(block.Header.ImplicitHash)) } // Validate block Time From ec621a707476a7c6c6963e5c6630e07fc87e433c Mon Sep 17 00:00:00 2001 From: cboh4 Date: Thu, 13 Nov 2025 13:15:34 +0200 Subject: [PATCH 3/6] Revert "Merge pull request #131 from scrtlabs/add-implicit-hash-to-header" This reverts commit 26f71adb761184702e1aa95791e27b7c06947a88, reversing changes made to 90a50c0421d672077d563a46bfc2a30671f56193. --- abci/types/types.pb.go | 3222 +++++----------------------- go.sum | 4 +- proto/tendermint/abci/types.proto | 61 - proto/tendermint/types/types.pb.go | 231 +- proto/tendermint/types/types.proto | 3 - state/execution.go | 51 +- state/state.go | 13 +- state/validation.go | 13 +- types/block.go | 16 +- 9 files changed, 638 insertions(+), 2976 deletions(-) diff --git a/abci/types/types.pb.go b/abci/types/types.pb.go index 347d3fd267f..620ca144664 100644 --- a/abci/types/types.pb.go +++ b/abci/types/types.pb.go @@ -8,7 +8,6 @@ import ( fmt "fmt" crypto "github.com/cometbft/cometbft/proto/tendermint/crypto" types1 "github.com/cometbft/cometbft/proto/tendermint/types" - version "github.com/cometbft/cometbft/proto/tendermint/version" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" @@ -1102,20 +1101,6 @@ type RequestPrepareProposal struct { NextValidatorsHash []byte `protobuf:"bytes,7,opt,name=next_validators_hash,json=nextValidatorsHash,proto3" json:"next_validators_hash,omitempty"` // address of the public key of the validator proposing the block. ProposerAddress []byte `protobuf:"bytes,8,opt,name=proposer_address,json=proposerAddress,proto3" json:"proposer_address,omitempty"` - // scheduled_msgs_hash - Version version.Consensus `protobuf:"bytes,9,opt,name=version,proto3" json:"version"` - LastBlockId types1.BlockID `protobuf:"bytes,10,opt,name=last_block_id,json=lastBlockId,proto3" json:"last_block_id"` - DataHash []byte `protobuf:"bytes,11,opt,name=data_hash,json=dataHash,proto3" json:"data_hash,omitempty"` - LastCommitHash []byte `protobuf:"bytes,12,opt,name=last_commit_hash,json=lastCommitHash,proto3" json:"last_commit_hash,omitempty"` - ValidatorsHash []byte `protobuf:"bytes,13,opt,name=validators_hash,json=validatorsHash,proto3" json:"validators_hash,omitempty"` - ConsensusHash []byte `protobuf:"bytes,14,opt,name=consensus_hash,json=consensusHash,proto3" json:"consensus_hash,omitempty"` - LastResultsHash []byte `protobuf:"bytes,15,opt,name=last_results_hash,json=lastResultsHash,proto3" json:"last_results_hash,omitempty"` - // consensus info - EvidenceHash []byte `protobuf:"bytes,16,opt,name=evidence_hash,json=evidenceHash,proto3" json:"evidence_hash,omitempty"` - // encrypted random - EncryptedRandom *types1.EncryptedRandom `protobuf:"bytes,17,opt,name=encrypted_random,json=encryptedRandom,proto3" json:"encrypted_random,omitempty"` - // scheduled_msgs_hash - ImplicitHash []byte `protobuf:"bytes,18,opt,name=implicit_hash,json=implicitHash,proto3" json:"implicit_hash,omitempty"` } func (m *RequestPrepareProposal) Reset() { *m = RequestPrepareProposal{} } @@ -1207,76 +1192,6 @@ func (m *RequestPrepareProposal) GetProposerAddress() []byte { return nil } -func (m *RequestPrepareProposal) GetVersion() version.Consensus { - if m != nil { - return m.Version - } - return version.Consensus{} -} - -func (m *RequestPrepareProposal) GetLastBlockId() types1.BlockID { - if m != nil { - return m.LastBlockId - } - return types1.BlockID{} -} - -func (m *RequestPrepareProposal) GetDataHash() []byte { - if m != nil { - return m.DataHash - } - return nil -} - -func (m *RequestPrepareProposal) GetLastCommitHash() []byte { - if m != nil { - return m.LastCommitHash - } - return nil -} - -func (m *RequestPrepareProposal) GetValidatorsHash() []byte { - if m != nil { - return m.ValidatorsHash - } - return nil -} - -func (m *RequestPrepareProposal) GetConsensusHash() []byte { - if m != nil { - return m.ConsensusHash - } - return nil -} - -func (m *RequestPrepareProposal) GetLastResultsHash() []byte { - if m != nil { - return m.LastResultsHash - } - return nil -} - -func (m *RequestPrepareProposal) GetEvidenceHash() []byte { - if m != nil { - return m.EvidenceHash - } - return nil -} - -func (m *RequestPrepareProposal) GetEncryptedRandom() *types1.EncryptedRandom { - if m != nil { - return m.EncryptedRandom - } - return nil -} - -func (m *RequestPrepareProposal) GetImplicitHash() []byte { - if m != nil { - return m.ImplicitHash - } - return nil -} - type RequestProcessProposal struct { Txs [][]byte `protobuf:"bytes,1,rep,name=txs,proto3" json:"txs,omitempty"` ProposedLastCommit CommitInfo `protobuf:"bytes,2,opt,name=proposed_last_commit,json=proposedLastCommit,proto3" json:"proposed_last_commit"` @@ -1288,20 +1203,6 @@ type RequestProcessProposal struct { NextValidatorsHash []byte `protobuf:"bytes,7,opt,name=next_validators_hash,json=nextValidatorsHash,proto3" json:"next_validators_hash,omitempty"` // address of the public key of the original proposer of the block. ProposerAddress []byte `protobuf:"bytes,8,opt,name=proposer_address,json=proposerAddress,proto3" json:"proposer_address,omitempty"` - // scheduled_msgs_hash - Version version.Consensus `protobuf:"bytes,9,opt,name=version,proto3" json:"version"` - LastBlockId types1.BlockID `protobuf:"bytes,10,opt,name=last_block_id,json=lastBlockId,proto3" json:"last_block_id"` - DataHash []byte `protobuf:"bytes,11,opt,name=data_hash,json=dataHash,proto3" json:"data_hash,omitempty"` - LastCommitHash []byte `protobuf:"bytes,12,opt,name=last_commit_hash,json=lastCommitHash,proto3" json:"last_commit_hash,omitempty"` - ValidatorsHash []byte `protobuf:"bytes,13,opt,name=validators_hash,json=validatorsHash,proto3" json:"validators_hash,omitempty"` - ConsensusHash []byte `protobuf:"bytes,14,opt,name=consensus_hash,json=consensusHash,proto3" json:"consensus_hash,omitempty"` - LastResultsHash []byte `protobuf:"bytes,15,opt,name=last_results_hash,json=lastResultsHash,proto3" json:"last_results_hash,omitempty"` - // consensus info - EvidenceHash []byte `protobuf:"bytes,16,opt,name=evidence_hash,json=evidenceHash,proto3" json:"evidence_hash,omitempty"` - // encrypted random - EncryptedRandom *types1.EncryptedRandom `protobuf:"bytes,17,opt,name=encrypted_random,json=encryptedRandom,proto3" json:"encrypted_random,omitempty"` - // scheduled_msgs_hash - ImplicitHash []byte `protobuf:"bytes,18,opt,name=implicit_hash,json=implicitHash,proto3" json:"implicit_hash,omitempty"` } func (m *RequestProcessProposal) Reset() { *m = RequestProcessProposal{} } @@ -1393,76 +1294,6 @@ func (m *RequestProcessProposal) GetProposerAddress() []byte { return nil } -func (m *RequestProcessProposal) GetVersion() version.Consensus { - if m != nil { - return m.Version - } - return version.Consensus{} -} - -func (m *RequestProcessProposal) GetLastBlockId() types1.BlockID { - if m != nil { - return m.LastBlockId - } - return types1.BlockID{} -} - -func (m *RequestProcessProposal) GetDataHash() []byte { - if m != nil { - return m.DataHash - } - return nil -} - -func (m *RequestProcessProposal) GetLastCommitHash() []byte { - if m != nil { - return m.LastCommitHash - } - return nil -} - -func (m *RequestProcessProposal) GetValidatorsHash() []byte { - if m != nil { - return m.ValidatorsHash - } - return nil -} - -func (m *RequestProcessProposal) GetConsensusHash() []byte { - if m != nil { - return m.ConsensusHash - } - return nil -} - -func (m *RequestProcessProposal) GetLastResultsHash() []byte { - if m != nil { - return m.LastResultsHash - } - return nil -} - -func (m *RequestProcessProposal) GetEvidenceHash() []byte { - if m != nil { - return m.EvidenceHash - } - return nil -} - -func (m *RequestProcessProposal) GetEncryptedRandom() *types1.EncryptedRandom { - if m != nil { - return m.EncryptedRandom - } - return nil -} - -func (m *RequestProcessProposal) GetImplicitHash() []byte { - if m != nil { - return m.ImplicitHash - } - return nil -} - // Extends a vote with application-injected data type RequestExtendVote struct { // the hash of the block that this vote may be referring to @@ -1477,20 +1308,6 @@ type RequestExtendVote struct { NextValidatorsHash []byte `protobuf:"bytes,7,opt,name=next_validators_hash,json=nextValidatorsHash,proto3" json:"next_validators_hash,omitempty"` // address of the public key of the original proposer of the block. ProposerAddress []byte `protobuf:"bytes,8,opt,name=proposer_address,json=proposerAddress,proto3" json:"proposer_address,omitempty"` - // scheduled_msgs_hash - Version version.Consensus `protobuf:"bytes,9,opt,name=version,proto3" json:"version"` - LastBlockId types1.BlockID `protobuf:"bytes,10,opt,name=last_block_id,json=lastBlockId,proto3" json:"last_block_id"` - DataHash []byte `protobuf:"bytes,11,opt,name=data_hash,json=dataHash,proto3" json:"data_hash,omitempty"` - LastCommitHash []byte `protobuf:"bytes,12,opt,name=last_commit_hash,json=lastCommitHash,proto3" json:"last_commit_hash,omitempty"` - ValidatorsHash []byte `protobuf:"bytes,13,opt,name=validators_hash,json=validatorsHash,proto3" json:"validators_hash,omitempty"` - ConsensusHash []byte `protobuf:"bytes,14,opt,name=consensus_hash,json=consensusHash,proto3" json:"consensus_hash,omitempty"` - LastResultsHash []byte `protobuf:"bytes,15,opt,name=last_results_hash,json=lastResultsHash,proto3" json:"last_results_hash,omitempty"` - // consensus info - EvidenceHash []byte `protobuf:"bytes,16,opt,name=evidence_hash,json=evidenceHash,proto3" json:"evidence_hash,omitempty"` - // encrypted random - EncryptedRandom *types1.EncryptedRandom `protobuf:"bytes,17,opt,name=encrypted_random,json=encryptedRandom,proto3" json:"encrypted_random,omitempty"` - // scheduled_msgs_hash - ImplicitHash []byte `protobuf:"bytes,18,opt,name=implicit_hash,json=implicitHash,proto3" json:"implicit_hash,omitempty"` } func (m *RequestExtendVote) Reset() { *m = RequestExtendVote{} } @@ -1582,76 +1399,6 @@ func (m *RequestExtendVote) GetProposerAddress() []byte { return nil } -func (m *RequestExtendVote) GetVersion() version.Consensus { - if m != nil { - return m.Version - } - return version.Consensus{} -} - -func (m *RequestExtendVote) GetLastBlockId() types1.BlockID { - if m != nil { - return m.LastBlockId - } - return types1.BlockID{} -} - -func (m *RequestExtendVote) GetDataHash() []byte { - if m != nil { - return m.DataHash - } - return nil -} - -func (m *RequestExtendVote) GetLastCommitHash() []byte { - if m != nil { - return m.LastCommitHash - } - return nil -} - -func (m *RequestExtendVote) GetValidatorsHash() []byte { - if m != nil { - return m.ValidatorsHash - } - return nil -} - -func (m *RequestExtendVote) GetConsensusHash() []byte { - if m != nil { - return m.ConsensusHash - } - return nil -} - -func (m *RequestExtendVote) GetLastResultsHash() []byte { - if m != nil { - return m.LastResultsHash - } - return nil -} - -func (m *RequestExtendVote) GetEvidenceHash() []byte { - if m != nil { - return m.EvidenceHash - } - return nil -} - -func (m *RequestExtendVote) GetEncryptedRandom() *types1.EncryptedRandom { - if m != nil { - return m.EncryptedRandom - } - return nil -} - -func (m *RequestExtendVote) GetImplicitHash() []byte { - if m != nil { - return m.ImplicitHash - } - return nil -} - // Verify the vote extension type RequestVerifyVoteExtension struct { // the hash of the block that this received vote corresponds to @@ -1736,17 +1483,6 @@ type RequestFinalizeBlock struct { ProposerAddress []byte `protobuf:"bytes,8,opt,name=proposer_address,json=proposerAddress,proto3" json:"proposer_address,omitempty"` EncryptedRandom *types1.EncryptedRandom `protobuf:"bytes,9,opt,name=encrypted_random,json=encryptedRandom,proto3" json:"encrypted_random,omitempty"` Commit *types1.Commit `protobuf:"bytes,10,opt,name=commit,proto3" json:"commit,omitempty"` - Version version.Consensus `protobuf:"bytes,11,opt,name=version,proto3" json:"version"` - LastBlockId types1.BlockID `protobuf:"bytes,12,opt,name=last_block_id,json=lastBlockId,proto3" json:"last_block_id"` - DataHash []byte `protobuf:"bytes,13,opt,name=data_hash,json=dataHash,proto3" json:"data_hash,omitempty"` - LastCommitHash []byte `protobuf:"bytes,14,opt,name=last_commit_hash,json=lastCommitHash,proto3" json:"last_commit_hash,omitempty"` - ValidatorsHash []byte `protobuf:"bytes,15,opt,name=validators_hash,json=validatorsHash,proto3" json:"validators_hash,omitempty"` - ConsensusHash []byte `protobuf:"bytes,16,opt,name=consensus_hash,json=consensusHash,proto3" json:"consensus_hash,omitempty"` - LastResultsHash []byte `protobuf:"bytes,17,opt,name=last_results_hash,json=lastResultsHash,proto3" json:"last_results_hash,omitempty"` - // consensus info - EvidenceHash []byte `protobuf:"bytes,18,opt,name=evidence_hash,json=evidenceHash,proto3" json:"evidence_hash,omitempty"` - // scheduled_msgs_hash - ImplicitHash []byte `protobuf:"bytes,19,opt,name=implicit_hash,json=implicitHash,proto3" json:"implicit_hash,omitempty"` } func (m *RequestFinalizeBlock) Reset() { *m = RequestFinalizeBlock{} } @@ -1852,69 +1588,6 @@ func (m *RequestFinalizeBlock) GetCommit() *types1.Commit { return nil } -func (m *RequestFinalizeBlock) GetVersion() version.Consensus { - if m != nil { - return m.Version - } - return version.Consensus{} -} - -func (m *RequestFinalizeBlock) GetLastBlockId() types1.BlockID { - if m != nil { - return m.LastBlockId - } - return types1.BlockID{} -} - -func (m *RequestFinalizeBlock) GetDataHash() []byte { - if m != nil { - return m.DataHash - } - return nil -} - -func (m *RequestFinalizeBlock) GetLastCommitHash() []byte { - if m != nil { - return m.LastCommitHash - } - return nil -} - -func (m *RequestFinalizeBlock) GetValidatorsHash() []byte { - if m != nil { - return m.ValidatorsHash - } - return nil -} - -func (m *RequestFinalizeBlock) GetConsensusHash() []byte { - if m != nil { - return m.ConsensusHash - } - return nil -} - -func (m *RequestFinalizeBlock) GetLastResultsHash() []byte { - if m != nil { - return m.LastResultsHash - } - return nil -} - -func (m *RequestFinalizeBlock) GetEvidenceHash() []byte { - if m != nil { - return m.EvidenceHash - } - return nil -} - -func (m *RequestFinalizeBlock) GetImplicitHash() []byte { - if m != nil { - return m.ImplicitHash - } - return nil -} - type Response struct { // Types that are valid to be assigned to Value: // @@ -4007,221 +3680,208 @@ func init() { func init() { proto.RegisterFile("tendermint/abci/types.proto", fileDescriptor_252557cfdd89a31a) } var fileDescriptor_252557cfdd89a31a = []byte{ - // 3426 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0xbb, 0x73, 0x1b, 0xd7, - 0xb9, 0xc7, 0xe2, 0x8d, 0x0f, 0xaf, 0xe5, 0x21, 0x25, 0x43, 0x90, 0x4c, 0xd2, 0xeb, 0x91, 0x25, - 0xcb, 0x36, 0xe9, 0x4b, 0x5d, 0xf9, 0x31, 0xb2, 0xef, 0x0c, 0x08, 0x41, 0x17, 0xa4, 0x68, 0x92, - 0x5e, 0x42, 0xf2, 0xf8, 0xde, 0xc4, 0xeb, 0x25, 0x70, 0x48, 0xac, 0x05, 0x60, 0xd7, 0xbb, 0x0b, - 0x9a, 0x74, 0x95, 0x49, 0x26, 0x8d, 0x2b, 0xcf, 0x24, 0x99, 0x49, 0x11, 0x17, 0x29, 0xd2, 0xe4, - 0x2f, 0x48, 0x95, 0x34, 0x29, 0x5c, 0xa4, 0x70, 0x99, 0xca, 0xc9, 0xc8, 0x45, 0x66, 0xdc, 0xa6, - 0x70, 0x9b, 0x39, 0x8f, 0x7d, 0x01, 0xbb, 0xc4, 0x82, 0x76, 0x91, 0x99, 0xa8, 0xdb, 0xf3, 0x9d, - 0xef, 0xfb, 0xce, 0x9e, 0xb3, 0xdf, 0xeb, 0xfc, 0xce, 0x59, 0xb8, 0x6a, 0xe3, 0x51, 0x0f, 0x9b, - 0x43, 0x6d, 0x64, 0xaf, 0xab, 0x87, 0x5d, 0x6d, 0xdd, 0x3e, 0x33, 0xb0, 0xb5, 0x66, 0x98, 0xba, - 0xad, 0xa3, 0xaa, 0xd7, 0xb9, 0x46, 0x3a, 0xeb, 0xcf, 0xfa, 0xb8, 0xbb, 0xe6, 0x99, 0x61, 0xeb, - 0xeb, 0x86, 0xa9, 0xeb, 0x47, 0x8c, 0xbf, 0x7e, 0x6d, 0xba, 0xfb, 0x31, 0x3e, 0xe3, 0xda, 0x02, - 0xc2, 0x74, 0x94, 0x75, 0x43, 0x35, 0xd5, 0xa1, 0x15, 0x22, 0xcc, 0xba, 0x7d, 0xaf, 0x52, 0x5f, - 0x9d, 0xea, 0x3d, 0x51, 0x07, 0x5a, 0x4f, 0xb5, 0x75, 0x93, 0x73, 0x2c, 0xfb, 0x38, 0x4e, 0xb0, - 0x69, 0x69, 0xfa, 0x28, 0xa0, 0x61, 0xe5, 0x58, 0xd7, 0x8f, 0x07, 0x78, 0x9d, 0xb6, 0x0e, 0xc7, - 0x47, 0xeb, 0xb6, 0x36, 0xc4, 0x96, 0xad, 0x0e, 0x0d, 0xce, 0xb0, 0x74, 0xac, 0x1f, 0xeb, 0xf4, - 0x71, 0x9d, 0x3c, 0x31, 0xaa, 0xf4, 0xa7, 0x02, 0xe4, 0x64, 0xfc, 0xf1, 0x18, 0x5b, 0x36, 0xda, - 0x80, 0x34, 0xee, 0xf6, 0xf5, 0x9a, 0xb0, 0x2a, 0xdc, 0x2c, 0x6e, 0x5c, 0x5b, 0x9b, 0x58, 0x9e, - 0x35, 0xce, 0xd7, 0xea, 0xf6, 0xf5, 0x76, 0x42, 0xa6, 0xbc, 0xe8, 0x0e, 0x64, 0x8e, 0x06, 0x63, - 0xab, 0x5f, 0x4b, 0x52, 0xa1, 0x67, 0xa3, 0x84, 0xee, 0x13, 0xa6, 0x76, 0x42, 0x66, 0xdc, 0x64, - 0x28, 0x6d, 0x74, 0xa4, 0xd7, 0x52, 0xe7, 0x0f, 0xb5, 0x35, 0x3a, 0xa2, 0x43, 0x11, 0x5e, 0xb4, - 0x09, 0xa0, 0x8d, 0x34, 0x5b, 0xe9, 0xf6, 0x55, 0x6d, 0x54, 0xcb, 0x50, 0xc9, 0xe7, 0xa2, 0x25, - 0x35, 0xbb, 0x49, 0x18, 0xdb, 0x09, 0xb9, 0xa0, 0x39, 0x0d, 0xf2, 0xba, 0x1f, 0x8f, 0xb1, 0x79, - 0x56, 0xcb, 0x9e, 0xff, 0xba, 0xef, 0x12, 0x26, 0xf2, 0xba, 0x94, 0x1b, 0xbd, 0x05, 0xf9, 0x6e, - 0x1f, 0x77, 0x1f, 0x2b, 0xf6, 0x69, 0x2d, 0x4f, 0x25, 0x57, 0xa2, 0x24, 0x9b, 0x84, 0xaf, 0x73, - 0xda, 0x4e, 0xc8, 0xb9, 0x2e, 0x7b, 0x44, 0x6f, 0x40, 0xb6, 0xab, 0x0f, 0x87, 0x9a, 0x5d, 0x2b, - 0x52, 0xd9, 0xe5, 0x48, 0x59, 0xca, 0xd5, 0x4e, 0xc8, 0x9c, 0x1f, 0xed, 0x42, 0x65, 0xa0, 0x59, - 0xb6, 0x62, 0x8d, 0x54, 0xc3, 0xea, 0xeb, 0xb6, 0x55, 0x2b, 0x51, 0x0d, 0xd7, 0xa3, 0x34, 0xec, - 0x68, 0x96, 0x7d, 0xe0, 0x30, 0xb7, 0x13, 0x72, 0x79, 0xe0, 0x27, 0x10, 0x7d, 0xfa, 0xd1, 0x11, - 0x36, 0x5d, 0x85, 0xb5, 0xf2, 0xf9, 0xfa, 0xf6, 0x08, 0xb7, 0x23, 0x4f, 0xf4, 0xe9, 0x7e, 0x02, - 0xfa, 0x7f, 0x58, 0x1c, 0xe8, 0x6a, 0xcf, 0x55, 0xa7, 0x74, 0xfb, 0xe3, 0xd1, 0xe3, 0x5a, 0x85, - 0x2a, 0x7d, 0x31, 0xf2, 0x25, 0x75, 0xb5, 0xe7, 0xa8, 0x68, 0x12, 0x81, 0x76, 0x42, 0x5e, 0x18, - 0x4c, 0x12, 0xd1, 0x07, 0xb0, 0xa4, 0x1a, 0xc6, 0xe0, 0x6c, 0x52, 0x7b, 0x95, 0x6a, 0xbf, 0x15, - 0xa5, 0xbd, 0x41, 0x64, 0x26, 0xd5, 0x23, 0x75, 0x8a, 0x8a, 0x3a, 0x20, 0x1a, 0x26, 0x36, 0x54, - 0x13, 0x2b, 0x86, 0xa9, 0x1b, 0xba, 0xa5, 0x0e, 0x6a, 0x22, 0xd5, 0x7d, 0x23, 0x4a, 0xf7, 0x3e, - 0xe3, 0xdf, 0xe7, 0xec, 0xed, 0x84, 0x5c, 0x35, 0x82, 0x24, 0xa6, 0x55, 0xef, 0x62, 0xcb, 0xf2, - 0xb4, 0x2e, 0xcc, 0xd2, 0x4a, 0xf9, 0x83, 0x5a, 0x03, 0x24, 0xd4, 0x82, 0x22, 0x3e, 0x25, 0xe2, - 0xca, 0x89, 0x6e, 0xe3, 0x1a, 0xa2, 0x0a, 0xa5, 0x48, 0x0f, 0xa5, 0xac, 0x8f, 0x74, 0x1b, 0xb7, - 0x13, 0x32, 0x60, 0xb7, 0x85, 0x54, 0xb8, 0x74, 0x82, 0x4d, 0xed, 0xe8, 0x8c, 0xaa, 0x51, 0x68, - 0x0f, 0x89, 0x24, 0xb5, 0x45, 0xaa, 0xf0, 0xa5, 0x28, 0x85, 0x8f, 0xa8, 0x10, 0x51, 0xd1, 0x72, - 0x44, 0xda, 0x09, 0x79, 0xf1, 0x64, 0x9a, 0x4c, 0x4c, 0xec, 0x48, 0x1b, 0xa9, 0x03, 0xed, 0x53, - 0xac, 0x1c, 0x0e, 0xf4, 0xee, 0xe3, 0xda, 0xd2, 0xf9, 0x26, 0x76, 0x9f, 0x73, 0x6f, 0x12, 0x66, - 0x62, 0x62, 0x47, 0x7e, 0xc2, 0x66, 0x0e, 0x32, 0x27, 0xea, 0x60, 0x8c, 0xb7, 0xd3, 0xf9, 0xb4, - 0x98, 0xd9, 0x4e, 0xe7, 0x73, 0x62, 0x7e, 0x3b, 0x9d, 0x2f, 0x88, 0xb0, 0x9d, 0xce, 0x83, 0x58, - 0x94, 0x6e, 0x40, 0xd1, 0x17, 0x98, 0x50, 0x0d, 0x72, 0x43, 0x6c, 0x59, 0xea, 0x31, 0xa6, 0x71, - 0xac, 0x20, 0x3b, 0x4d, 0xa9, 0x02, 0x25, 0x7f, 0x30, 0x92, 0x3e, 0x17, 0x5c, 0x49, 0x12, 0x67, - 0x88, 0x24, 0x0f, 0xac, 0x8e, 0x24, 0x6f, 0xa2, 0xe7, 0xa1, 0x4c, 0xa7, 0xa2, 0x38, 0xfd, 0x24, - 0xd8, 0xa5, 0xe5, 0x12, 0x25, 0x3e, 0xe2, 0x4c, 0x2b, 0x50, 0x34, 0x36, 0x0c, 0x97, 0x25, 0x45, - 0x59, 0xc0, 0xd8, 0x30, 0x1c, 0x86, 0xe7, 0xa0, 0x44, 0xe6, 0xed, 0x72, 0xa4, 0xe9, 0x20, 0x45, - 0x42, 0xe3, 0x2c, 0xd2, 0x5f, 0x92, 0x20, 0x4e, 0x06, 0x30, 0xf4, 0x06, 0xa4, 0x49, 0x2c, 0xe7, - 0x61, 0xb9, 0xbe, 0xc6, 0x02, 0xfd, 0x9a, 0x13, 0xe8, 0xd7, 0x3a, 0x4e, 0xa0, 0xdf, 0xcc, 0x7f, - 0xf9, 0xf5, 0x4a, 0xe2, 0xf3, 0xbf, 0xad, 0x08, 0x32, 0x95, 0x40, 0x57, 0x48, 0xd8, 0x52, 0xb5, - 0x91, 0xa2, 0xf5, 0xe8, 0x2b, 0x17, 0x48, 0x4c, 0x52, 0xb5, 0xd1, 0x56, 0x0f, 0xed, 0x80, 0xd8, - 0xd5, 0x47, 0x16, 0x1e, 0x59, 0x63, 0x4b, 0x61, 0x89, 0x8a, 0x07, 0xe3, 0x40, 0x48, 0x65, 0x19, - 0xa6, 0xe9, 0x70, 0xee, 0x53, 0x46, 0xb9, 0xda, 0x0d, 0x12, 0xd0, 0x7d, 0x00, 0x37, 0x5f, 0x59, - 0xb5, 0xf4, 0x6a, 0xea, 0x66, 0x71, 0x63, 0x75, 0xea, 0x83, 0x3f, 0x72, 0x58, 0x1e, 0x1a, 0x3d, - 0xd5, 0xc6, 0x9b, 0x69, 0xf2, 0xba, 0xb2, 0x4f, 0x12, 0xbd, 0x00, 0x55, 0xd5, 0x30, 0x14, 0xcb, - 0x56, 0x6d, 0xac, 0x1c, 0x9e, 0xd9, 0xd8, 0xa2, 0x71, 0xbe, 0x24, 0x97, 0x55, 0xc3, 0x38, 0x20, - 0xd4, 0x4d, 0x42, 0x44, 0xd7, 0xa1, 0x42, 0x62, 0xba, 0xa6, 0x0e, 0x94, 0x3e, 0xd6, 0x8e, 0xfb, - 0x36, 0x8d, 0xe7, 0x29, 0xb9, 0xcc, 0xa9, 0x6d, 0x4a, 0x94, 0x7a, 0xee, 0x17, 0xa7, 0xf1, 0x1c, - 0x21, 0x48, 0xf7, 0x54, 0x5b, 0xa5, 0x2b, 0x59, 0x92, 0xe9, 0x33, 0xa1, 0x19, 0xaa, 0xdd, 0xe7, - 0xeb, 0x43, 0x9f, 0xd1, 0x65, 0xc8, 0x72, 0xb5, 0x29, 0xaa, 0x96, 0xb7, 0xd0, 0x12, 0x64, 0x0c, - 0x53, 0x3f, 0xc1, 0xf4, 0xd3, 0xe5, 0x65, 0xd6, 0x90, 0x64, 0xa8, 0x04, 0x63, 0x3f, 0xaa, 0x40, - 0xd2, 0x3e, 0xe5, 0xa3, 0x24, 0xed, 0x53, 0xf4, 0x2a, 0xa4, 0xc9, 0x42, 0xd2, 0x31, 0x2a, 0x21, - 0xd9, 0x8e, 0xcb, 0x75, 0xce, 0x0c, 0x2c, 0x53, 0x4e, 0xa9, 0x0a, 0xe5, 0x40, 0x4e, 0x90, 0x2e, - 0xc3, 0x52, 0x58, 0x88, 0x97, 0xfa, 0x2e, 0x3d, 0x10, 0xaa, 0xd1, 0x1d, 0xc8, 0xbb, 0x31, 0x9e, - 0x19, 0xce, 0x95, 0xa9, 0x61, 0x1d, 0x66, 0xd9, 0x65, 0x25, 0x16, 0x43, 0x3e, 0x40, 0x5f, 0xe5, - 0x19, 0xbd, 0x24, 0xe7, 0x54, 0xc3, 0x68, 0xab, 0x56, 0x5f, 0xfa, 0x10, 0x6a, 0x51, 0xf1, 0xdb, - 0xb7, 0x60, 0x02, 0x35, 0x7b, 0x67, 0xc1, 0x2e, 0x43, 0xf6, 0x48, 0x37, 0x87, 0xaa, 0x4d, 0x95, - 0x95, 0x65, 0xde, 0x22, 0x0b, 0xc9, 0x62, 0x79, 0x8a, 0x92, 0x59, 0x43, 0x52, 0xe0, 0x4a, 0x64, - 0x0c, 0x27, 0x22, 0xda, 0xa8, 0x87, 0xd9, 0xb2, 0x96, 0x65, 0xd6, 0xf0, 0x14, 0xb1, 0x97, 0x65, - 0x0d, 0x32, 0xac, 0x45, 0xe7, 0x4a, 0xf5, 0x17, 0x64, 0xde, 0x92, 0xbe, 0xcb, 0xc2, 0xe5, 0xf0, - 0x48, 0x8e, 0x56, 0xa1, 0x34, 0x54, 0x4f, 0x15, 0xfb, 0x94, 0x9b, 0x9d, 0x40, 0x3f, 0x3c, 0x0c, - 0xd5, 0xd3, 0xce, 0x29, 0xb3, 0x39, 0x11, 0x52, 0xf6, 0xa9, 0x55, 0x4b, 0xae, 0xa6, 0x6e, 0x96, - 0x64, 0xf2, 0x88, 0x1e, 0xc2, 0xc2, 0x40, 0xef, 0xaa, 0x03, 0x65, 0xa0, 0x5a, 0xb6, 0xc2, 0x53, - 0x3c, 0x73, 0xa2, 0xe7, 0xa7, 0x16, 0x9b, 0xc5, 0x64, 0xdc, 0x63, 0xdf, 0x93, 0x04, 0x1c, 0x6e, - 0xff, 0x55, 0xaa, 0x63, 0x47, 0x75, 0x3e, 0x35, 0xba, 0x07, 0xc5, 0xa1, 0x66, 0x1d, 0xe2, 0xbe, - 0x7a, 0xa2, 0xe9, 0x26, 0xf7, 0xa6, 0x69, 0xa3, 0x79, 0xc7, 0xe3, 0xe1, 0x9a, 0xfc, 0x62, 0xbe, - 0x4f, 0x92, 0x09, 0xd8, 0xb0, 0x13, 0x4d, 0xb2, 0x73, 0x47, 0x93, 0x57, 0x61, 0x69, 0x84, 0x4f, - 0x6d, 0xc5, 0xf3, 0x57, 0x66, 0x27, 0x39, 0xba, 0xf4, 0x88, 0xf4, 0xb9, 0x1e, 0x6e, 0x11, 0x93, - 0x41, 0x2f, 0xd2, 0x5c, 0x68, 0xe8, 0x16, 0x36, 0x15, 0xb5, 0xd7, 0x33, 0xb1, 0x65, 0xd1, 0xf2, - 0xa9, 0x44, 0x13, 0x1c, 0xa5, 0x37, 0x18, 0x19, 0xbd, 0xed, 0x05, 0xdf, 0xc2, 0x74, 0x69, 0xc6, - 0xbb, 0xbc, 0x40, 0xc4, 0x67, 0xec, 0x46, 0xe8, 0x26, 0x94, 0xe9, 0x47, 0x60, 0x61, 0x5a, 0xeb, - 0xd5, 0x60, 0xda, 0xe6, 0x59, 0x2c, 0xa3, 0x59, 0x65, 0xeb, 0x9e, 0xb3, 0x64, 0x44, 0x8a, 0x91, - 0x7a, 0xe8, 0x2a, 0x14, 0x48, 0x48, 0x60, 0xb3, 0x2a, 0xd2, 0xf7, 0xcc, 0x13, 0x02, 0x9d, 0xcb, - 0x4d, 0x10, 0x7d, 0x9f, 0x99, 0xf1, 0x94, 0x28, 0x4f, 0x65, 0xe0, 0x7e, 0x3b, 0xca, 0x79, 0x03, - 0xaa, 0x93, 0x4b, 0x54, 0x66, 0x8c, 0x27, 0xc1, 0xe5, 0xb9, 0x0e, 0x15, 0x2f, 0x06, 0x53, 0xbe, - 0x0a, 0x0b, 0x76, 0x2e, 0x95, 0xb2, 0xdd, 0x82, 0x05, 0x3a, 0xb2, 0x89, 0xad, 0xf1, 0xc0, 0xe6, - 0x9c, 0x55, 0xb6, 0x8c, 0xa4, 0x43, 0x66, 0x74, 0xca, 0xfb, 0x3c, 0x94, 0xf1, 0x89, 0xd6, 0xc3, - 0xa3, 0x2e, 0x66, 0x7c, 0x22, 0xe5, 0x2b, 0x39, 0x44, 0xca, 0xb4, 0x03, 0x22, 0x1e, 0xd1, 0x0d, - 0x0c, 0xee, 0x29, 0xa6, 0x3a, 0xea, 0xe9, 0x43, 0x5e, 0xa2, 0x84, 0xc4, 0xfe, 0x96, 0xc3, 0x29, - 0x53, 0x46, 0xb9, 0x8a, 0x83, 0x04, 0x32, 0xa4, 0x36, 0x34, 0x06, 0x5a, 0xd7, 0x59, 0x15, 0xc4, - 0x86, 0x74, 0x88, 0x34, 0x78, 0xfc, 0xc3, 0xef, 0x79, 0xc1, 0xd2, 0x86, 0xfb, 0x95, 0xe0, 0xf9, - 0xd5, 0x01, 0x2c, 0x71, 0xf3, 0xe8, 0x05, 0x5c, 0x8b, 0x6d, 0x31, 0xae, 0x4e, 0x87, 0xcf, 0x49, - 0x97, 0x42, 0x8e, 0x78, 0xb4, 0x57, 0xa5, 0x2e, 0xe6, 0x55, 0x08, 0xd2, 0x74, 0x8e, 0x69, 0x96, - 0x41, 0xc8, 0xf3, 0x53, 0x4f, 0x7b, 0xea, 0x69, 0xff, 0x46, 0x9e, 0xf6, 0x24, 0x0b, 0x0b, 0x53, - 0xdb, 0x00, 0xd7, 0x6e, 0x85, 0x50, 0xbb, 0x4d, 0x86, 0xda, 0x6d, 0x6a, 0x6e, 0xbb, 0xe5, 0xae, - 0x9c, 0x9e, 0xed, 0xca, 0x99, 0x1f, 0xd0, 0x95, 0xb3, 0x17, 0x73, 0xe5, 0xa7, 0x4e, 0xf6, 0xd4, - 0xc9, 0x2e, 0xea, 0x64, 0xbf, 0x11, 0xa0, 0x1e, 0xbd, 0x35, 0x0e, 0xf5, 0xb6, 0x97, 0x60, 0xc1, - 0x5d, 0x2f, 0xd7, 0x7a, 0x58, 0xd5, 0x2a, 0xba, 0x1d, 0x8e, 0xf9, 0x44, 0x6d, 0x40, 0xae, 0x43, - 0x65, 0x62, 0xe3, 0xce, 0x12, 0x51, 0xf9, 0xc4, 0x3f, 0xbe, 0xf4, 0xab, 0x9c, 0xbb, 0x2b, 0x08, - 0xec, 0xae, 0x43, 0x72, 0xed, 0xbb, 0xb0, 0xd8, 0xc3, 0x5d, 0xad, 0x77, 0xd1, 0x54, 0xbb, 0xc0, - 0xa5, 0x9f, 0x66, 0xda, 0xe9, 0x20, 0x10, 0x66, 0x98, 0x85, 0x0b, 0x1b, 0xe6, 0xab, 0x2e, 0x8a, - 0xc8, 0x82, 0x41, 0x2d, 0x6c, 0x9f, 0x4e, 0xfa, 0x5d, 0xf4, 0xd0, 0x17, 0x84, 0x8a, 0x3f, 0x44, - 0x10, 0x2a, 0x7d, 0xdf, 0x20, 0x54, 0x8e, 0x11, 0x84, 0x2a, 0x71, 0x83, 0x50, 0x35, 0x66, 0x10, - 0x12, 0x63, 0x07, 0xa1, 0x85, 0x98, 0x41, 0x08, 0x85, 0x04, 0xa1, 0xa9, 0xb0, 0xb1, 0x18, 0x12, - 0x36, 0x7e, 0x09, 0x90, 0x97, 0xb1, 0x65, 0x90, 0x57, 0x41, 0x9b, 0x50, 0xc0, 0xa7, 0x5d, 0x6c, - 0xd8, 0x0e, 0xe0, 0x14, 0x0e, 0xe8, 0x31, 0xee, 0x96, 0xc3, 0xd9, 0x4e, 0xc8, 0x9e, 0x18, 0xba, - 0xcd, 0x11, 0xfb, 0x68, 0xf0, 0x9d, 0x8b, 0xfb, 0x21, 0xfb, 0xd7, 0x1c, 0xc8, 0x3e, 0x15, 0x89, - 0x46, 0x33, 0xa9, 0x09, 0xcc, 0xfe, 0x36, 0xc7, 0xec, 0xd3, 0x33, 0x06, 0x0b, 0x80, 0xf6, 0xcd, - 0x00, 0x68, 0x9f, 0x9d, 0x31, 0xcd, 0x08, 0xd4, 0xfe, 0x35, 0x07, 0xb5, 0xcf, 0xcd, 0x78, 0xe3, - 0x09, 0xd8, 0xfe, 0x6d, 0x1f, 0x6c, 0xcf, 0x1c, 0x6f, 0x35, 0x52, 0x34, 0x04, 0xb7, 0x7f, 0xd3, - 0xf5, 0xb8, 0x52, 0x24, 0xe6, 0xcf, 0x85, 0x27, 0x81, 0xfb, 0xbd, 0x29, 0xe0, 0x9e, 0x01, 0xed, - 0x2f, 0x44, 0xaa, 0x98, 0x81, 0xdc, 0xef, 0x4d, 0x21, 0xf7, 0x95, 0x19, 0x0a, 0x67, 0x40, 0xf7, - 0x3f, 0x0a, 0x87, 0xee, 0xa3, 0xc1, 0x75, 0xfe, 0x9a, 0xf1, 0xb0, 0x7b, 0x25, 0x02, 0xbb, 0x17, - 0x23, 0x71, 0x66, 0xa6, 0x3e, 0x36, 0x78, 0xff, 0x30, 0x04, 0xbc, 0x67, 0x49, 0xff, 0x66, 0xa4, - 0xf2, 0x18, 0xe8, 0xfd, 0xc3, 0x10, 0xf4, 0x1e, 0xcd, 0x54, 0x3b, 0x13, 0xbe, 0xbf, 0x1f, 0x84, - 0xef, 0x17, 0x23, 0x30, 0x22, 0xcf, 0xdb, 0x23, 0xf0, 0xfb, 0xc3, 0x28, 0xfc, 0x9e, 0x61, 0xec, - 0x2f, 0x47, 0x6a, 0x9c, 0x03, 0xc0, 0xdf, 0x9b, 0x02, 0xf0, 0x2f, 0xcd, 0xb0, 0xb4, 0xf8, 0x08, - 0x7e, 0x46, 0xcc, 0x6e, 0xa7, 0xf3, 0x79, 0xb1, 0xc0, 0xb0, 0xfb, 0xed, 0x74, 0xbe, 0x28, 0x96, - 0xa4, 0x17, 0xc9, 0x8e, 0x65, 0x22, 0xce, 0xa1, 0x25, 0xc8, 0x60, 0xd3, 0xd4, 0x4d, 0x8e, 0xc5, - 0xb3, 0x86, 0x74, 0x13, 0x4a, 0xfe, 0x98, 0x76, 0x0e, 0xda, 0x4f, 0x11, 0x54, 0x5f, 0x1c, 0x93, - 0xfe, 0x20, 0x78, 0xb2, 0x14, 0xef, 0xf7, 0xa3, 0xc1, 0x05, 0x8e, 0x06, 0xfb, 0xce, 0x00, 0x92, - 0xc1, 0x33, 0x80, 0x15, 0x28, 0xaa, 0xc6, 0x14, 0xbc, 0xaf, 0x1a, 0x2e, 0xbc, 0xef, 0xa4, 0x14, - 0x96, 0x2e, 0x79, 0x9d, 0x92, 0xa6, 0x75, 0x4a, 0xd5, 0xcd, 0x88, 0x0c, 0x98, 0x46, 0xaf, 0xc0, - 0xa2, 0x8f, 0xd7, 0x45, 0x5c, 0x19, 0xd6, 0x2d, 0xba, 0xdc, 0x0d, 0x0e, 0xbd, 0xfe, 0x59, 0xf0, - 0x56, 0xc8, 0x3b, 0x17, 0x08, 0x83, 0xf0, 0x85, 0x1f, 0x08, 0xc2, 0x4f, 0x5e, 0x18, 0xc2, 0xf7, - 0x23, 0xc8, 0xa9, 0x20, 0x82, 0xfc, 0x9d, 0xe0, 0x7d, 0x13, 0x17, 0x90, 0xef, 0xea, 0x3d, 0xcc, - 0x31, 0x5d, 0xfa, 0x4c, 0x6a, 0xd4, 0x81, 0x7e, 0xcc, 0x91, 0x5b, 0xf2, 0x48, 0xb8, 0xdc, 0xc4, - 0x53, 0xe0, 0x79, 0xc5, 0x85, 0x83, 0x59, 0x25, 0xc8, 0xe1, 0x60, 0x11, 0x52, 0x8f, 0x31, 0x3b, - 0xdc, 0x2d, 0xc9, 0xe4, 0x91, 0xf0, 0x51, 0xe3, 0xe3, 0x15, 0x1d, 0x6b, 0xa0, 0x37, 0xa0, 0x40, - 0x0f, 0xf6, 0x15, 0xdd, 0xb0, 0xf8, 0x81, 0x6e, 0xa0, 0xd6, 0x65, 0xa7, 0xfb, 0x6b, 0xfb, 0x84, - 0x67, 0xcf, 0xb0, 0xe4, 0xbc, 0xc1, 0x9f, 0x7c, 0x25, 0x68, 0x21, 0x50, 0x82, 0x5e, 0x83, 0x02, - 0x79, 0x7b, 0xcb, 0x50, 0xbb, 0x98, 0x16, 0x68, 0x05, 0xd9, 0x23, 0x48, 0xbf, 0x4f, 0x42, 0x75, - 0x22, 0xd1, 0x84, 0xce, 0xdd, 0x31, 0xc9, 0xa4, 0xef, 0x80, 0x22, 0xde, 0x7a, 0x2c, 0x03, 0x1c, - 0xab, 0x96, 0xf2, 0x89, 0x3a, 0xb2, 0x71, 0x8f, 0x2f, 0x8a, 0x8f, 0x82, 0xea, 0x90, 0x27, 0xad, - 0xb1, 0x85, 0x7b, 0xfc, 0xac, 0xc4, 0x6d, 0xa3, 0x36, 0x64, 0xf1, 0x09, 0x1e, 0xd9, 0x56, 0x2d, - 0x47, 0x3f, 0xfb, 0xe5, 0x69, 0xf0, 0x9a, 0x74, 0x6f, 0xd6, 0xc8, 0xc7, 0xfe, 0xf6, 0xeb, 0x15, - 0x91, 0x71, 0xbf, 0xac, 0x0f, 0x35, 0x1b, 0x0f, 0x0d, 0xfb, 0x4c, 0xe6, 0xf2, 0xc1, 0x55, 0xc8, - 0x4f, 0xac, 0x02, 0x3d, 0xb5, 0x2b, 0x39, 0x60, 0x3c, 0x59, 0x53, 0x4d, 0x37, 0x35, 0xfb, 0x4c, - 0x2e, 0x0f, 0xf1, 0xd0, 0xd0, 0xf5, 0x81, 0xc2, 0x7c, 0xbc, 0x01, 0x95, 0x60, 0x5e, 0x25, 0xc5, - 0x95, 0x89, 0x6d, 0x55, 0x1b, 0x29, 0x81, 0x5d, 0x51, 0x89, 0x11, 0x99, 0x4f, 0x6d, 0xa7, 0xf3, - 0x82, 0x98, 0xdc, 0x4e, 0xe7, 0x93, 0x62, 0x4a, 0xda, 0x87, 0x4b, 0xa1, 0x79, 0x15, 0xbd, 0x0e, - 0x05, 0x2f, 0x25, 0x0b, 0x74, 0xb6, 0xe7, 0x9c, 0x8b, 0x78, 0xbc, 0xd2, 0x1f, 0x05, 0x4f, 0x65, - 0xf0, 0xa4, 0xa5, 0x05, 0x59, 0x56, 0x45, 0xd2, 0x2f, 0x59, 0xd9, 0x78, 0x25, 0x5e, 0x46, 0x5e, - 0x63, 0x25, 0xa6, 0xcc, 0x85, 0xa5, 0x0f, 0x20, 0xcb, 0x28, 0xa8, 0x08, 0xb9, 0x87, 0xbb, 0x0f, - 0x76, 0xf7, 0xde, 0xdb, 0x15, 0x13, 0x08, 0x20, 0xdb, 0x68, 0x36, 0x5b, 0xfb, 0x1d, 0x51, 0x40, - 0x05, 0xc8, 0x34, 0x36, 0xf7, 0xe4, 0x8e, 0x98, 0x24, 0x64, 0xb9, 0xb5, 0xdd, 0x6a, 0x76, 0xc4, - 0x14, 0x5a, 0x80, 0x32, 0x7b, 0x56, 0xee, 0xef, 0xc9, 0xef, 0x34, 0x3a, 0x62, 0xda, 0x47, 0x3a, - 0x68, 0xed, 0xde, 0x6b, 0xc9, 0x62, 0x46, 0xfa, 0x2f, 0xb8, 0x12, 0x99, 0xc3, 0xbd, 0x63, 0x14, - 0xc1, 0x77, 0x8c, 0x22, 0xfd, 0x3a, 0x49, 0x76, 0xb9, 0x51, 0x89, 0x19, 0x6d, 0x4f, 0x4c, 0x7c, - 0x63, 0x8e, 0xac, 0x3e, 0x31, 0x7b, 0x52, 0xb6, 0x9b, 0xf8, 0x08, 0xdb, 0xdd, 0x3e, 0x2b, 0x14, - 0x58, 0x04, 0x2a, 0xcb, 0x65, 0x4e, 0xa5, 0x42, 0x16, 0x63, 0xfb, 0x08, 0x77, 0x6d, 0x85, 0x19, - 0x91, 0x45, 0x77, 0x97, 0x05, 0xc2, 0x46, 0xa8, 0x07, 0x8c, 0x28, 0x7d, 0x38, 0xd7, 0x5a, 0x16, - 0x20, 0x23, 0xb7, 0x3a, 0xf2, 0xfb, 0x62, 0x0a, 0x21, 0xa8, 0xd0, 0x47, 0xe5, 0x60, 0xb7, 0xb1, - 0x7f, 0xd0, 0xde, 0x23, 0x6b, 0xb9, 0x08, 0x55, 0x67, 0x2d, 0x1d, 0x62, 0x46, 0x7a, 0x09, 0x9e, - 0x89, 0xa8, 0x2a, 0xa6, 0xf7, 0xd8, 0xd2, 0x6f, 0x05, 0x3f, 0x77, 0xb0, 0x32, 0xd8, 0x83, 0xac, - 0x65, 0xab, 0xf6, 0xd8, 0xe2, 0x8b, 0xf8, 0x7a, 0xdc, 0x32, 0x63, 0xcd, 0x79, 0x38, 0xa0, 0xe2, - 0x32, 0x57, 0x23, 0xdd, 0x81, 0x4a, 0xb0, 0x27, 0x7a, 0x0d, 0x3c, 0x23, 0x4a, 0x4a, 0x77, 0x01, - 0x4d, 0x57, 0x1f, 0x21, 0x78, 0x83, 0x10, 0x86, 0x37, 0xfc, 0x4e, 0x80, 0xab, 0xe7, 0x54, 0x1a, - 0xe8, 0xdd, 0x89, 0x49, 0xbe, 0x39, 0x4f, 0x9d, 0xb2, 0xc6, 0x68, 0x13, 0xd3, 0xbc, 0x0d, 0x25, - 0x3f, 0x3d, 0xde, 0x24, 0xbf, 0x4d, 0x7a, 0x4e, 0x1c, 0x04, 0x46, 0xbc, 0x10, 0x28, 0x7c, 0xcf, - 0x10, 0xf8, 0x16, 0x80, 0x7d, 0xea, 0xec, 0x2b, 0x79, 0x1e, 0x7d, 0x36, 0xe4, 0x34, 0x10, 0x77, - 0x3b, 0xa7, 0xdc, 0x09, 0x0a, 0x36, 0x7f, 0xb2, 0xd0, 0x81, 0x1f, 0x25, 0x1a, 0xd3, 0x1c, 0x6b, - 0x71, 0x04, 0x25, 0x6e, 0x32, 0xf6, 0xd0, 0x24, 0x46, 0xb6, 0xd0, 0xfb, 0xf0, 0xcc, 0x44, 0xa1, - 0xe0, 0xaa, 0x4e, 0xc7, 0xad, 0x17, 0x2e, 0x05, 0xeb, 0x05, 0x47, 0xb5, 0x3f, 0xdb, 0x67, 0x82, - 0xd9, 0xfe, 0x7d, 0x00, 0x0f, 0x2d, 0x22, 0x11, 0xc6, 0xd4, 0xc7, 0xa3, 0x1e, 0xb5, 0x80, 0x8c, - 0xcc, 0x1a, 0xe8, 0x0e, 0x64, 0x88, 0x25, 0x39, 0xeb, 0x34, 0x1d, 0x8a, 0x89, 0x25, 0xf8, 0xd0, - 0x26, 0xc6, 0x2d, 0x69, 0x80, 0xa6, 0x8f, 0x53, 0x23, 0x86, 0x78, 0x3b, 0x38, 0xc4, 0x73, 0x91, - 0x07, 0xb3, 0xe1, 0x43, 0x7d, 0x0a, 0x19, 0xfa, 0xe5, 0x49, 0xd2, 0xa5, 0x67, 0xf8, 0xbc, 0x5a, - 0x24, 0xcf, 0xe8, 0xc7, 0x00, 0xaa, 0x6d, 0x9b, 0xda, 0xe1, 0xd8, 0x1b, 0x60, 0x25, 0xdc, 0x72, - 0x1a, 0x0e, 0xdf, 0xe6, 0x35, 0x6e, 0x42, 0x4b, 0x9e, 0xa8, 0xcf, 0x8c, 0x7c, 0x0a, 0xa5, 0x5d, - 0xa8, 0x04, 0x65, 0x9d, 0xfa, 0x86, 0xbd, 0x43, 0xb0, 0xbe, 0x61, 0xe5, 0x2a, 0xaf, 0x6f, 0xdc, - 0xea, 0x28, 0xc5, 0x2e, 0x2a, 0xd0, 0x86, 0xf4, 0x93, 0x24, 0x94, 0xfc, 0x86, 0xf7, 0x9f, 0x57, - 0x82, 0x48, 0x3f, 0x17, 0x20, 0xef, 0x4e, 0x3f, 0x78, 0x6b, 0x21, 0x70, 0xcd, 0x83, 0xad, 0x5e, - 0xd2, 0x7f, 0xd5, 0x80, 0x5d, 0xea, 0x48, 0xb9, 0x97, 0x3a, 0xee, 0xba, 0xe9, 0x2f, 0x0a, 0x10, - 0xf1, 0xaf, 0x35, 0xb7, 0x2a, 0x27, 0xdb, 0xdf, 0x85, 0x82, 0xeb, 0xbd, 0x64, 0xd3, 0xe1, 0x20, - 0x89, 0x02, 0xf7, 0x21, 0x8e, 0x20, 0x2e, 0x41, 0xc6, 0xd0, 0x3f, 0xe1, 0xf7, 0x18, 0x52, 0x32, - 0x6b, 0x48, 0x3d, 0xa8, 0x4e, 0xb8, 0x3e, 0xba, 0x0b, 0x39, 0x63, 0x7c, 0xa8, 0x38, 0xc6, 0x31, - 0x81, 0xb7, 0x3a, 0xe5, 0xec, 0xf8, 0x70, 0xa0, 0x75, 0x1f, 0xe0, 0x33, 0xe7, 0x65, 0x8c, 0xf1, - 0xe1, 0x03, 0x66, 0x43, 0x6c, 0x94, 0xa4, 0x7f, 0x94, 0x5f, 0x08, 0x90, 0x77, 0x7c, 0x02, 0xfd, - 0x0f, 0x14, 0xdc, 0xb0, 0xe2, 0x5e, 0x44, 0x8a, 0x8c, 0x47, 0x5c, 0xbf, 0x27, 0x82, 0x1a, 0xce, - 0x0d, 0x2a, 0xad, 0xa7, 0x1c, 0x0d, 0x54, 0x66, 0x4b, 0x95, 0xe0, 0x9a, 0x05, 0xb0, 0xc4, 0xfb, - 0x03, 0xf5, 0x58, 0x2e, 0x1e, 0x32, 0x14, 0x91, 0x34, 0x78, 0x65, 0xf7, 0x4f, 0x01, 0xc4, 0x49, - 0x8f, 0xfd, 0xde, 0x6f, 0x37, 0x9d, 0xe6, 0x52, 0x21, 0x69, 0x0e, 0xad, 0xc3, 0xa2, 0xcb, 0xa1, - 0x58, 0xda, 0xf1, 0x48, 0xb5, 0xc7, 0x26, 0xe6, 0x08, 0x35, 0x72, 0xbb, 0x0e, 0x9c, 0x9e, 0xe9, - 0x59, 0x67, 0x2e, 0x38, 0xeb, 0x9f, 0x25, 0xa1, 0xe8, 0xc3, 0xcb, 0xd1, 0x7f, 0xfb, 0x82, 0x51, - 0x25, 0x24, 0x33, 0xf8, 0x78, 0xbd, 0x4b, 0x45, 0xc1, 0x65, 0x4a, 0xce, 0xbf, 0x4c, 0x51, 0xa7, - 0x12, 0x0e, 0xfc, 0x9e, 0x9e, 0x1b, 0x7e, 0x7f, 0x19, 0x90, 0xad, 0xdb, 0xea, 0x40, 0x39, 0xd1, - 0x6d, 0x6d, 0x74, 0xac, 0x30, 0x33, 0x64, 0xa1, 0x43, 0xa4, 0x3d, 0x8f, 0x68, 0xc7, 0x3e, 0xb5, - 0xc8, 0x9f, 0x0a, 0x90, 0x77, 0xcb, 0xee, 0x79, 0xaf, 0x1c, 0x5d, 0x86, 0x2c, 0xaf, 0x2c, 0xd9, - 0x9d, 0x23, 0xde, 0x0a, 0x3d, 0x67, 0xa8, 0x43, 0x7e, 0x88, 0x6d, 0x95, 0xc6, 0x41, 0x96, 0xd5, - 0xdc, 0xf6, 0xad, 0x37, 0xa1, 0xe8, 0xbb, 0xae, 0x45, 0x42, 0xe3, 0x6e, 0xeb, 0x3d, 0x31, 0x51, - 0xcf, 0x7d, 0xf6, 0xc5, 0x6a, 0x6a, 0x17, 0x7f, 0x42, 0xbc, 0x59, 0x6e, 0x35, 0xdb, 0xad, 0xe6, - 0x03, 0x51, 0xa8, 0x17, 0x3f, 0xfb, 0x62, 0x35, 0x27, 0x63, 0x8a, 0x28, 0xde, 0x7a, 0x00, 0xd5, - 0x89, 0x0f, 0x13, 0x2c, 0x5b, 0x10, 0x54, 0xee, 0x3d, 0xdc, 0xdf, 0xd9, 0x6a, 0x36, 0x3a, 0x2d, - 0xe5, 0xd1, 0x5e, 0xa7, 0x25, 0x0a, 0xe8, 0x19, 0x58, 0xdc, 0xd9, 0xfa, 0xdf, 0x76, 0x47, 0x69, - 0xee, 0x6c, 0xb5, 0x76, 0x3b, 0x4a, 0xa3, 0xd3, 0x69, 0x34, 0x1f, 0x88, 0xc9, 0x8d, 0x2f, 0x8a, - 0x90, 0x6e, 0x6c, 0x36, 0xb7, 0x50, 0x13, 0xd2, 0x14, 0x0a, 0x39, 0xf7, 0xbe, 0x76, 0xfd, 0x7c, - 0x6c, 0x18, 0xdd, 0x87, 0x0c, 0x45, 0x49, 0xd0, 0xf9, 0x17, 0xb8, 0xeb, 0x33, 0xc0, 0x62, 0xf2, - 0x32, 0xd4, 0x23, 0xcf, 0xbd, 0xd1, 0x5d, 0x3f, 0x1f, 0x3b, 0x46, 0x3b, 0x90, 0x73, 0x36, 0xc9, - 0xb3, 0xae, 0x59, 0xd7, 0x67, 0x02, 0xba, 0x64, 0x6a, 0x0c, 0x6c, 0x38, 0xff, 0xb2, 0x77, 0x7d, - 0x06, 0xaa, 0x8c, 0xb6, 0x20, 0xcb, 0xb7, 0xa3, 0x33, 0xee, 0x6f, 0xd7, 0x67, 0xe1, 0xc4, 0x48, - 0x86, 0x82, 0x07, 0xe3, 0xcc, 0xbe, 0xc2, 0x5e, 0x8f, 0x01, 0x98, 0xa3, 0x0f, 0xa0, 0x1c, 0xdc, - 0xea, 0xc6, 0xbb, 0x23, 0x5e, 0x8f, 0x89, 0x48, 0x13, 0xfd, 0xc1, 0x7d, 0x6f, 0xbc, 0x3b, 0xe3, - 0xf5, 0x98, 0x00, 0x35, 0xfa, 0x08, 0x16, 0xa6, 0xf7, 0xa5, 0xf1, 0xaf, 0x90, 0xd7, 0xe7, 0x80, - 0xac, 0xd1, 0x10, 0x50, 0xc8, 0x7e, 0x76, 0x8e, 0x1b, 0xe5, 0xf5, 0x79, 0x10, 0x6c, 0xd4, 0x83, - 0xea, 0xe4, 0x26, 0x31, 0xee, 0x0d, 0xf3, 0x7a, 0x6c, 0x34, 0x9b, 0x8d, 0x12, 0xdc, 0x5c, 0xc6, - 0xbd, 0x71, 0x5e, 0x8f, 0x0d, 0x6e, 0xa3, 0x87, 0x00, 0xbe, 0xfd, 0x61, 0x8c, 0x1b, 0xe8, 0xf5, - 0x38, 0x30, 0x37, 0x32, 0x60, 0x31, 0x6c, 0xe3, 0x38, 0xcf, 0x85, 0xf4, 0xfa, 0x5c, 0xe8, 0x37, - 0xb1, 0xe7, 0xe0, 0x16, 0x30, 0xde, 0x05, 0xf5, 0x7a, 0x4c, 0x18, 0x7c, 0xb3, 0xf1, 0xe5, 0x93, - 0x65, 0xe1, 0xab, 0x27, 0xcb, 0xc2, 0xdf, 0x9f, 0x2c, 0x0b, 0x9f, 0x7f, 0xb3, 0x9c, 0xf8, 0xea, - 0x9b, 0xe5, 0xc4, 0x5f, 0xbf, 0x59, 0x4e, 0xfc, 0xdf, 0x8d, 0x63, 0xcd, 0xee, 0x8f, 0x0f, 0xd7, - 0xba, 0xfa, 0x70, 0xbd, 0xab, 0x0f, 0xb1, 0x7d, 0x78, 0x64, 0x7b, 0x0f, 0xde, 0x5f, 0x4a, 0x87, - 0x59, 0x9a, 0x41, 0x6f, 0xff, 0x2b, 0x00, 0x00, 0xff, 0xff, 0xa3, 0xf3, 0xe6, 0x05, 0xc5, 0x34, + // 3218 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0xcb, 0x73, 0x23, 0xd5, + 0xd5, 0x57, 0x4b, 0x2d, 0x59, 0x3a, 0x7a, 0xb8, 0x7d, 0xed, 0x19, 0x34, 0x62, 0xb0, 0x4d, 0x53, + 0xc0, 0x30, 0x80, 0xcd, 0xe7, 0xf9, 0x86, 0x47, 0x0d, 0x7c, 0x55, 0xb2, 0x46, 0xf3, 0xc9, 0x9e, + 0xc1, 0x36, 0x6d, 0xcd, 0x50, 0xe4, 0x41, 0xd3, 0x96, 0xae, 0xac, 0x66, 0x24, 0x75, 0xd3, 0x7d, + 0x65, 0x64, 0x56, 0xa9, 0x90, 0x54, 0xa5, 0x58, 0x51, 0x95, 0x2c, 0x58, 0x84, 0x45, 0x16, 0xd9, + 0xe4, 0x2f, 0xc8, 0x2a, 0xd9, 0x64, 0xc1, 0x22, 0x0b, 0x96, 0x59, 0x91, 0x14, 0xec, 0xd8, 0x66, + 0x91, 0x6d, 0xea, 0x3e, 0xfa, 0x25, 0xa9, 0x2d, 0x69, 0x20, 0x8b, 0x54, 0xb2, 0xeb, 0x7b, 0xfa, + 0x9c, 0x73, 0xfb, 0x9e, 0x7b, 0xee, 0x79, 0xfc, 0xfa, 0xc2, 0xe3, 0x04, 0x0f, 0xda, 0xd8, 0xe9, + 0x9b, 0x03, 0xb2, 0x6d, 0x9c, 0xb4, 0xcc, 0x6d, 0x72, 0x6e, 0x63, 0x77, 0xcb, 0x76, 0x2c, 0x62, + 0xa1, 0xe5, 0xe0, 0xe5, 0x16, 0x7d, 0x59, 0x79, 0x22, 0xc4, 0xdd, 0x72, 0xce, 0x6d, 0x62, 0x6d, + 0xdb, 0x8e, 0x65, 0x75, 0x38, 0x7f, 0xe5, 0xea, 0xe4, 0xeb, 0x87, 0xf8, 0x5c, 0x68, 0x8b, 0x08, + 0xb3, 0x59, 0xb6, 0x6d, 0xc3, 0x31, 0xfa, 0xee, 0x14, 0x61, 0xfe, 0x3a, 0xf4, 0x29, 0x95, 0xcd, + 0x89, 0xb7, 0x67, 0x46, 0xcf, 0x6c, 0x1b, 0xc4, 0x72, 0x04, 0xc7, 0xc6, 0xa9, 0x65, 0x9d, 0xf6, + 0xf0, 0x36, 0x1b, 0x9d, 0x0c, 0x3b, 0xdb, 0xc4, 0xec, 0x63, 0x97, 0x18, 0x7d, 0x5b, 0x30, 0xac, + 0x9d, 0x5a, 0xa7, 0x16, 0x7b, 0xdc, 0xa6, 0x4f, 0x9c, 0xaa, 0xfe, 0x31, 0x07, 0x4b, 0x1a, 0xfe, + 0x60, 0x88, 0x5d, 0x82, 0x76, 0x40, 0xc6, 0xad, 0xae, 0x55, 0x96, 0x36, 0xa5, 0x6b, 0xf9, 0x9d, + 0xab, 0x5b, 0x63, 0xcb, 0xdf, 0x12, 0x7c, 0xf5, 0x56, 0xd7, 0x6a, 0x24, 0x34, 0xc6, 0x8b, 0x6e, + 0x42, 0xba, 0xd3, 0x1b, 0xba, 0xdd, 0x72, 0x92, 0x09, 0x3d, 0x11, 0x27, 0x74, 0x87, 0x32, 0x35, + 0x12, 0x1a, 0xe7, 0xa6, 0x53, 0x99, 0x83, 0x8e, 0x55, 0x4e, 0x5d, 0x3c, 0xd5, 0xde, 0xa0, 0xc3, + 0xa6, 0xa2, 0xbc, 0x68, 0x17, 0xc0, 0x1c, 0x98, 0x44, 0x6f, 0x75, 0x0d, 0x73, 0x50, 0x4e, 0x33, + 0xc9, 0x27, 0xe3, 0x25, 0x4d, 0x52, 0xa3, 0x8c, 0x8d, 0x84, 0x96, 0x33, 0xbd, 0x01, 0xfd, 0xdc, + 0x0f, 0x86, 0xd8, 0x39, 0x2f, 0x67, 0x2e, 0xfe, 0xdc, 0xb7, 0x28, 0x13, 0xfd, 0x5c, 0xc6, 0x8d, + 0x5e, 0x87, 0x6c, 0xab, 0x8b, 0x5b, 0x0f, 0x75, 0x32, 0x2a, 0x67, 0x99, 0xe4, 0x46, 0x9c, 0x64, + 0x8d, 0xf2, 0x35, 0x47, 0x8d, 0x84, 0xb6, 0xd4, 0xe2, 0x8f, 0xe8, 0x55, 0xc8, 0xb4, 0xac, 0x7e, + 0xdf, 0x24, 0xe5, 0x3c, 0x93, 0x5d, 0x8f, 0x95, 0x65, 0x5c, 0x8d, 0x84, 0x26, 0xf8, 0xd1, 0x01, + 0x94, 0x7a, 0xa6, 0x4b, 0x74, 0x77, 0x60, 0xd8, 0x6e, 0xd7, 0x22, 0x6e, 0xb9, 0xc0, 0x34, 0x3c, + 0x1d, 0xa7, 0xe1, 0x9e, 0xe9, 0x92, 0x63, 0x8f, 0xb9, 0x91, 0xd0, 0x8a, 0xbd, 0x30, 0x81, 0xea, + 0xb3, 0x3a, 0x1d, 0xec, 0xf8, 0x0a, 0xcb, 0xc5, 0x8b, 0xf5, 0x1d, 0x52, 0x6e, 0x4f, 0x9e, 0xea, + 0xb3, 0xc2, 0x04, 0xf4, 0x43, 0x58, 0xed, 0x59, 0x46, 0xdb, 0x57, 0xa7, 0xb7, 0xba, 0xc3, 0xc1, + 0xc3, 0x72, 0x89, 0x29, 0x7d, 0x2e, 0xf6, 0x23, 0x2d, 0xa3, 0xed, 0xa9, 0xa8, 0x51, 0x81, 0x46, + 0x42, 0x5b, 0xe9, 0x8d, 0x13, 0xd1, 0xbb, 0xb0, 0x66, 0xd8, 0x76, 0xef, 0x7c, 0x5c, 0xfb, 0x32, + 0xd3, 0x7e, 0x3d, 0x4e, 0x7b, 0x95, 0xca, 0x8c, 0xab, 0x47, 0xc6, 0x04, 0x15, 0x35, 0x41, 0xb1, + 0x1d, 0x6c, 0x1b, 0x0e, 0xd6, 0x6d, 0xc7, 0xb2, 0x2d, 0xd7, 0xe8, 0x95, 0x15, 0xa6, 0xfb, 0xd9, + 0x38, 0xdd, 0x47, 0x9c, 0xff, 0x48, 0xb0, 0x37, 0x12, 0xda, 0xb2, 0x1d, 0x25, 0x71, 0xad, 0x56, + 0x0b, 0xbb, 0x6e, 0xa0, 0x75, 0x65, 0x96, 0x56, 0xc6, 0x1f, 0xd5, 0x1a, 0x21, 0xa1, 0x3a, 0xe4, + 0xf1, 0x88, 0x8a, 0xeb, 0x67, 0x16, 0xc1, 0x65, 0xc4, 0x14, 0xaa, 0xb1, 0x27, 0x94, 0xb1, 0x3e, + 0xb0, 0x08, 0x6e, 0x24, 0x34, 0xc0, 0xfe, 0x08, 0x19, 0x70, 0xe9, 0x0c, 0x3b, 0x66, 0xe7, 0x9c, + 0xa9, 0xd1, 0xd9, 0x1b, 0xd7, 0xb4, 0x06, 0xe5, 0x55, 0xa6, 0xf0, 0xf9, 0x38, 0x85, 0x0f, 0x98, + 0x10, 0x55, 0x51, 0xf7, 0x44, 0x1a, 0x09, 0x6d, 0xf5, 0x6c, 0x92, 0x4c, 0x5d, 0xac, 0x63, 0x0e, + 0x8c, 0x9e, 0xf9, 0x11, 0xd6, 0x4f, 0x7a, 0x56, 0xeb, 0x61, 0x79, 0xed, 0x62, 0x17, 0xbb, 0x23, + 0xb8, 0x77, 0x29, 0x33, 0x75, 0xb1, 0x4e, 0x98, 0xb0, 0xbb, 0x04, 0xe9, 0x33, 0xa3, 0x37, 0xc4, + 0xfb, 0x72, 0x56, 0x56, 0xd2, 0xfb, 0x72, 0x76, 0x49, 0xc9, 0xee, 0xcb, 0xd9, 0x9c, 0x02, 0xfb, + 0x72, 0x16, 0x94, 0xbc, 0xfa, 0x2c, 0xe4, 0x43, 0x81, 0x09, 0x95, 0x61, 0xa9, 0x8f, 0x5d, 0xd7, + 0x38, 0xc5, 0x2c, 0x8e, 0xe5, 0x34, 0x6f, 0xa8, 0x96, 0xa0, 0x10, 0x0e, 0x46, 0xea, 0xa7, 0x92, + 0x2f, 0x49, 0xe3, 0x0c, 0x95, 0x3c, 0xc3, 0x0e, 0x33, 0x87, 0x90, 0x14, 0x43, 0xf4, 0x14, 0x14, + 0xd9, 0x52, 0x74, 0xef, 0x3d, 0x0d, 0x76, 0xb2, 0x56, 0x60, 0xc4, 0x07, 0x82, 0x69, 0x03, 0xf2, + 0xf6, 0x8e, 0xed, 0xb3, 0xa4, 0x18, 0x0b, 0xd8, 0x3b, 0xb6, 0xc7, 0xf0, 0x24, 0x14, 0xe8, 0xba, + 0x7d, 0x0e, 0x99, 0x4d, 0x92, 0xa7, 0x34, 0xc1, 0xa2, 0xfe, 0x39, 0x09, 0xca, 0x78, 0x00, 0x43, + 0xaf, 0x82, 0x4c, 0x63, 0xb9, 0x08, 0xcb, 0x95, 0x2d, 0x1e, 0xe8, 0xb7, 0xbc, 0x40, 0xbf, 0xd5, + 0xf4, 0x02, 0xfd, 0x6e, 0xf6, 0x8b, 0xaf, 0x36, 0x12, 0x9f, 0xfe, 0x75, 0x43, 0xd2, 0x98, 0x04, + 0xba, 0x42, 0xc3, 0x96, 0x61, 0x0e, 0x74, 0xb3, 0xcd, 0x3e, 0x39, 0x47, 0x63, 0x92, 0x61, 0x0e, + 0xf6, 0xda, 0xe8, 0x1e, 0x28, 0x2d, 0x6b, 0xe0, 0xe2, 0x81, 0x3b, 0x74, 0x75, 0x9e, 0x88, 0x44, + 0x30, 0x8e, 0x84, 0x54, 0x9e, 0x83, 0x6a, 0x1e, 0xe7, 0x11, 0x63, 0xd4, 0x96, 0x5b, 0x51, 0x02, + 0xba, 0x03, 0xe0, 0xe7, 0x23, 0xb7, 0x2c, 0x6f, 0xa6, 0xae, 0xe5, 0x77, 0x36, 0x27, 0x36, 0xfc, + 0x81, 0xc7, 0x72, 0xdf, 0x6e, 0x1b, 0x04, 0xef, 0xca, 0xf4, 0x73, 0xb5, 0x90, 0x24, 0x7a, 0x06, + 0x96, 0x0d, 0xdb, 0xd6, 0x5d, 0x62, 0x10, 0xac, 0x9f, 0x9c, 0x13, 0xec, 0xb2, 0x38, 0x5f, 0xd0, + 0x8a, 0x86, 0x6d, 0x1f, 0x53, 0xea, 0x2e, 0x25, 0xa2, 0xa7, 0xa1, 0x44, 0x63, 0xba, 0x69, 0xf4, + 0xf4, 0x2e, 0x36, 0x4f, 0xbb, 0x84, 0xc5, 0xf3, 0x94, 0x56, 0x14, 0xd4, 0x06, 0x23, 0xaa, 0x6d, + 0x7f, 0xc7, 0x59, 0x3c, 0x47, 0x08, 0xe4, 0xb6, 0x41, 0x0c, 0x66, 0xc9, 0x82, 0xc6, 0x9e, 0x29, + 0xcd, 0x36, 0x48, 0x57, 0xd8, 0x87, 0x3d, 0xa3, 0xcb, 0x90, 0x11, 0x6a, 0x53, 0x4c, 0xad, 0x18, + 0xa1, 0x35, 0x48, 0xdb, 0x8e, 0x75, 0x86, 0xd9, 0xd6, 0x65, 0x35, 0x3e, 0x50, 0x35, 0x28, 0x45, + 0x63, 0x3f, 0x2a, 0x41, 0x92, 0x8c, 0xc4, 0x2c, 0x49, 0x32, 0x42, 0x2f, 0x81, 0x4c, 0x0d, 0xc9, + 0xe6, 0x28, 0x4d, 0xc9, 0x76, 0x42, 0xae, 0x79, 0x6e, 0x63, 0x8d, 0x71, 0xaa, 0xcb, 0x50, 0x8c, + 0xe4, 0x04, 0xf5, 0x32, 0xac, 0x4d, 0x0b, 0xf1, 0x6a, 0xd7, 0xa7, 0x47, 0x42, 0x35, 0xba, 0x09, + 0x59, 0x3f, 0xc6, 0x73, 0xc7, 0xb9, 0x32, 0x31, 0xad, 0xc7, 0xac, 0xf9, 0xac, 0xd4, 0x63, 0xe8, + 0x06, 0x74, 0x0d, 0x91, 0xd1, 0x0b, 0xda, 0x92, 0x61, 0xdb, 0x0d, 0xc3, 0xed, 0xaa, 0xef, 0x41, + 0x39, 0x2e, 0x7e, 0x87, 0x0c, 0x26, 0x31, 0xb7, 0xf7, 0x0c, 0x76, 0x19, 0x32, 0x1d, 0xcb, 0xe9, + 0x1b, 0x84, 0x29, 0x2b, 0x6a, 0x62, 0x44, 0x0d, 0xc9, 0x63, 0x79, 0x8a, 0x91, 0xf9, 0x40, 0xd5, + 0xe1, 0x4a, 0x6c, 0x0c, 0xa7, 0x22, 0xe6, 0xa0, 0x8d, 0xb9, 0x59, 0x8b, 0x1a, 0x1f, 0x04, 0x8a, + 0xf8, 0xc7, 0xf2, 0x01, 0x9d, 0xd6, 0x65, 0x6b, 0x65, 0xfa, 0x73, 0x9a, 0x18, 0xa9, 0x9f, 0xa5, + 0xe0, 0xf2, 0xf4, 0x48, 0x8e, 0x36, 0xa1, 0xd0, 0x37, 0x46, 0x3a, 0x19, 0x09, 0xb7, 0x93, 0xd8, + 0xc6, 0x43, 0xdf, 0x18, 0x35, 0x47, 0xdc, 0xe7, 0x14, 0x48, 0x91, 0x91, 0x5b, 0x4e, 0x6e, 0xa6, + 0xae, 0x15, 0x34, 0xfa, 0x88, 0xee, 0xc3, 0x4a, 0xcf, 0x6a, 0x19, 0x3d, 0xbd, 0x67, 0xb8, 0x44, + 0x17, 0x29, 0x9e, 0x1f, 0xa2, 0xa7, 0x26, 0x8c, 0xcd, 0x63, 0x32, 0x6e, 0xf3, 0xfd, 0xa4, 0x01, + 0x47, 0xf8, 0xff, 0x32, 0xd3, 0x71, 0xcf, 0xf0, 0xb6, 0x1a, 0xdd, 0x86, 0x7c, 0xdf, 0x74, 0x4f, + 0x70, 0xd7, 0x38, 0x33, 0x2d, 0x47, 0x9c, 0xa6, 0x49, 0xa7, 0x79, 0x33, 0xe0, 0x11, 0x9a, 0xc2, + 0x62, 0xa1, 0x2d, 0x49, 0x47, 0x7c, 0xd8, 0x8b, 0x26, 0x99, 0x85, 0xa3, 0xc9, 0x4b, 0xb0, 0x36, + 0xc0, 0x23, 0xa2, 0x07, 0xe7, 0x95, 0xfb, 0xc9, 0x12, 0x33, 0x3d, 0xa2, 0xef, 0xfc, 0x13, 0xee, + 0x52, 0x97, 0x41, 0xcf, 0xb1, 0x5c, 0x68, 0x5b, 0x2e, 0x76, 0x74, 0xa3, 0xdd, 0x76, 0xb0, 0xeb, + 0xb2, 0xf2, 0xa9, 0xc0, 0x12, 0x1c, 0xa3, 0x57, 0x39, 0x59, 0xfd, 0x45, 0x78, 0x6b, 0xa2, 0xb9, + 0x4f, 0x18, 0x5e, 0x0a, 0x0c, 0x7f, 0x0c, 0x6b, 0x42, 0xbe, 0x1d, 0xb1, 0x3d, 0xaf, 0x41, 0x1f, + 0x9f, 0x3c, 0x5f, 0xe3, 0x36, 0x47, 0x9e, 0x78, 0xbc, 0xd9, 0x53, 0x8f, 0x66, 0x76, 0x04, 0x32, + 0x33, 0x8a, 0xcc, 0x43, 0x0c, 0x7d, 0xfe, 0x77, 0xdb, 0x8a, 0x8f, 0x53, 0xb0, 0x32, 0x51, 0x48, + 0xf8, 0x0b, 0x93, 0xa6, 0x2e, 0x2c, 0x39, 0x75, 0x61, 0xa9, 0x85, 0x17, 0x26, 0xf6, 0x5a, 0x9e, + 0xbd, 0xd7, 0xe9, 0xef, 0x71, 0xaf, 0x33, 0x8f, 0xb6, 0xd7, 0xff, 0xd2, 0x5d, 0xf8, 0xb5, 0x04, + 0x95, 0xf8, 0xea, 0x6b, 0xea, 0x76, 0x3c, 0x0f, 0x2b, 0xfe, 0xa7, 0xf8, 0xea, 0x79, 0x60, 0x54, + 0xfc, 0x17, 0x42, 0x7f, 0x6c, 0x8e, 0x7b, 0x1a, 0x4a, 0x63, 0xb5, 0x21, 0x77, 0xe5, 0xe2, 0x59, + 0x78, 0x7e, 0xf5, 0x67, 0xb2, 0x9f, 0x78, 0x22, 0x05, 0xdc, 0x94, 0xd3, 0xfa, 0x16, 0xac, 0xb6, + 0x71, 0xcb, 0x6c, 0x3f, 0xea, 0x61, 0x5d, 0x11, 0xd2, 0xff, 0x3d, 0xab, 0x13, 0x5e, 0x42, 0xcb, + 0x38, 0x3c, 0x60, 0x58, 0x03, 0x6e, 0xeb, 0x8e, 0x31, 0x68, 0x5b, 0xfd, 0x72, 0x2e, 0xae, 0x8c, + 0xab, 0x7b, 0x9c, 0x1a, 0x63, 0xd4, 0x96, 0x71, 0x94, 0x80, 0x5e, 0xf2, 0x1b, 0x55, 0x60, 0x3a, + 0xca, 0xd3, 0x4a, 0x41, 0xfa, 0xde, 0x6b, 0x50, 0xd5, 0x5f, 0x01, 0x64, 0x35, 0xec, 0xda, 0xb4, + 0x1e, 0x44, 0xbb, 0x90, 0xc3, 0xa3, 0x16, 0xb6, 0x89, 0x57, 0x42, 0x4f, 0x6f, 0x51, 0x38, 0x77, + 0xdd, 0xe3, 0xa4, 0x0d, 0xba, 0x2f, 0x86, 0x6e, 0x08, 0x0c, 0x22, 0x1e, 0x4e, 0x10, 0xe2, 0x61, + 0x10, 0xe2, 0x65, 0x0f, 0x84, 0x48, 0xc5, 0xf6, 0xd7, 0x5c, 0x6a, 0x0c, 0x85, 0xb8, 0x21, 0x50, + 0x08, 0x79, 0xc6, 0x64, 0x11, 0x18, 0xa2, 0x16, 0x81, 0x21, 0x32, 0x33, 0x96, 0x19, 0x83, 0x43, + 0xbc, 0xec, 0xe1, 0x10, 0x4b, 0x33, 0xbe, 0x78, 0x0c, 0x88, 0x78, 0x23, 0x04, 0x44, 0xf0, 0x7d, + 0xde, 0x8c, 0x15, 0x9d, 0x82, 0x44, 0xbc, 0xe6, 0x6f, 0x70, 0x21, 0x16, 0xc5, 0x10, 0xc2, 0xe3, + 0x50, 0xc4, 0xe1, 0x04, 0x14, 0xc1, 0xa1, 0x83, 0x67, 0x62, 0x55, 0xcc, 0xc0, 0x22, 0x0e, 0x27, + 0xb0, 0x88, 0xd2, 0x0c, 0x85, 0x33, 0xc0, 0x88, 0x1f, 0x4d, 0x07, 0x23, 0xe2, 0xe1, 0x02, 0xf1, + 0x99, 0xf3, 0xa1, 0x11, 0x7a, 0x0c, 0x1a, 0xa1, 0xc4, 0x76, 0xce, 0x5c, 0xfd, 0xdc, 0x70, 0xc4, + 0xfd, 0x29, 0x70, 0x04, 0x07, 0x0e, 0xae, 0xc5, 0x2a, 0x9f, 0x03, 0x8f, 0xb8, 0x3f, 0x05, 0x8f, + 0x40, 0x33, 0xd5, 0xce, 0x04, 0x24, 0xee, 0x44, 0x01, 0x89, 0xd5, 0x98, 0xaa, 0x37, 0x38, 0xed, + 0x31, 0x88, 0xc4, 0x49, 0x1c, 0x22, 0xc1, 0x51, 0x83, 0x17, 0x62, 0x35, 0x2e, 0x00, 0x49, 0x1c, + 0x4e, 0x40, 0x12, 0x97, 0x66, 0x78, 0xda, 0xfc, 0x98, 0x44, 0x5a, 0xc9, 0xec, 0xcb, 0xd9, 0xac, + 0x92, 0xe3, 0x68, 0xc4, 0xbe, 0x9c, 0xcd, 0x2b, 0x05, 0xf5, 0x39, 0x5a, 0x41, 0x8d, 0xc5, 0x39, + 0xda, 0xab, 0x60, 0xc7, 0xb1, 0x1c, 0x81, 0x2e, 0xf0, 0x81, 0x7a, 0x8d, 0xf6, 0xa8, 0x41, 0x4c, + 0xbb, 0x00, 0xbf, 0x60, 0x3d, 0x61, 0x28, 0x8e, 0xa9, 0xbf, 0x97, 0x02, 0x59, 0x86, 0x60, 0x84, + 0xfb, 0xdb, 0x9c, 0xe8, 0x6f, 0x43, 0xa8, 0x46, 0x32, 0x8a, 0x6a, 0x6c, 0x40, 0x9e, 0xf6, 0x7a, + 0x63, 0x80, 0x85, 0x61, 0xfb, 0x80, 0xc5, 0x75, 0x58, 0x61, 0x09, 0x9b, 0x63, 0x1f, 0x22, 0x2d, + 0xca, 0x2c, 0x2d, 0x2e, 0xd3, 0x17, 0xdc, 0x3a, 0x3c, 0x3f, 0xbe, 0x08, 0xab, 0x21, 0x5e, 0xbf, + 0x87, 0xe4, 0xdd, 0xbb, 0xe2, 0x73, 0x57, 0x45, 0x33, 0xf9, 0x27, 0x29, 0xb0, 0x50, 0x80, 0x74, + 0x4c, 0x03, 0x25, 0xa4, 0xef, 0x09, 0x94, 0x48, 0x3e, 0x32, 0x28, 0x11, 0xee, 0x89, 0x53, 0xd1, + 0x9e, 0xf8, 0x1f, 0x52, 0xb0, 0x27, 0x3e, 0xc4, 0xd0, 0xb2, 0xda, 0x58, 0x74, 0xa9, 0xec, 0x99, + 0x96, 0x44, 0x3d, 0xeb, 0x54, 0xf4, 0xa2, 0xf4, 0x91, 0x72, 0xf9, 0x89, 0x27, 0x27, 0xf2, 0x8a, + 0xdf, 0xe0, 0xf2, 0xc2, 0x43, 0x34, 0xb8, 0x0a, 0xa4, 0x1e, 0x62, 0x0e, 0x57, 0x17, 0x34, 0xfa, + 0x48, 0xf9, 0x98, 0xf3, 0x89, 0x02, 0x82, 0x0f, 0xd0, 0xab, 0x90, 0x63, 0xbf, 0x22, 0x74, 0xcb, + 0x76, 0x05, 0x44, 0x1d, 0x29, 0xad, 0xf8, 0xff, 0x88, 0xad, 0x23, 0xca, 0x73, 0x68, 0xbb, 0x5a, + 0xd6, 0x16, 0x4f, 0xa1, 0x8a, 0x27, 0x17, 0xa9, 0x78, 0xae, 0x42, 0x8e, 0x7e, 0xbd, 0x6b, 0x1b, + 0x2d, 0xcc, 0xea, 0x81, 0x9c, 0x16, 0x10, 0xd4, 0xdf, 0x25, 0x61, 0x79, 0x2c, 0xd1, 0x4c, 0x5d, + 0xbb, 0xe7, 0x92, 0xc9, 0x10, 0xe4, 0x32, 0x9f, 0x3d, 0xd6, 0x01, 0x4e, 0x0d, 0x57, 0xff, 0xd0, + 0x18, 0x10, 0xdc, 0x16, 0x46, 0x09, 0x51, 0x50, 0x05, 0xb2, 0x74, 0x34, 0x74, 0x71, 0x5b, 0xa0, + 0x3f, 0xfe, 0x18, 0x35, 0x20, 0x83, 0xcf, 0xf0, 0x80, 0xb8, 0xe5, 0x25, 0xb6, 0xed, 0x97, 0x27, + 0xdb, 0x71, 0xfa, 0x7a, 0xb7, 0x4c, 0x37, 0xfb, 0xdb, 0xaf, 0x36, 0x14, 0xce, 0xfd, 0x82, 0xd5, + 0x37, 0x09, 0xee, 0xdb, 0xe4, 0x5c, 0x13, 0xf2, 0x51, 0x2b, 0x64, 0xc7, 0xac, 0xc0, 0x70, 0xc8, + 0x82, 0x07, 0x2f, 0x50, 0x9b, 0x9a, 0x96, 0x63, 0x92, 0x73, 0xad, 0xd8, 0xc7, 0x7d, 0xdb, 0xb2, + 0x7a, 0x3a, 0x3f, 0xe3, 0x55, 0x28, 0x45, 0xf3, 0x2a, 0x7a, 0x0a, 0x8a, 0x0e, 0x26, 0x86, 0x39, + 0xd0, 0x23, 0x45, 0x78, 0x81, 0x13, 0xf9, 0x99, 0xda, 0x97, 0xb3, 0x92, 0x92, 0xdc, 0x97, 0xb3, + 0x49, 0x25, 0xa5, 0x1e, 0xc1, 0xa5, 0xa9, 0x79, 0x15, 0xbd, 0x02, 0xb9, 0x20, 0x25, 0x4b, 0x6c, + 0xb5, 0x17, 0x20, 0x3d, 0x01, 0xaf, 0xfa, 0x07, 0x29, 0x50, 0x19, 0xc5, 0x8e, 0xea, 0x90, 0x71, + 0xb0, 0x3b, 0xec, 0x71, 0x34, 0xa7, 0xb4, 0xf3, 0xe2, 0x7c, 0x19, 0x99, 0x52, 0x87, 0x3d, 0xa2, + 0x09, 0x61, 0xf5, 0x5d, 0xc8, 0x70, 0x0a, 0xca, 0xc3, 0xd2, 0xfd, 0x83, 0xbb, 0x07, 0x87, 0x6f, + 0x1f, 0x28, 0x09, 0x04, 0x90, 0xa9, 0xd6, 0x6a, 0xf5, 0xa3, 0xa6, 0x22, 0xa1, 0x1c, 0xa4, 0xab, + 0xbb, 0x87, 0x5a, 0x53, 0x49, 0x52, 0xb2, 0x56, 0xdf, 0xaf, 0xd7, 0x9a, 0x4a, 0x0a, 0xad, 0x40, + 0x91, 0x3f, 0xeb, 0x77, 0x0e, 0xb5, 0x37, 0xab, 0x4d, 0x45, 0x0e, 0x91, 0x8e, 0xeb, 0x07, 0xb7, + 0xeb, 0x9a, 0x92, 0x56, 0xff, 0x07, 0xae, 0xc4, 0xe6, 0xf0, 0x00, 0x18, 0x92, 0x42, 0xc0, 0x90, + 0xfa, 0x59, 0x92, 0x36, 0x55, 0x71, 0x89, 0x19, 0xed, 0x8f, 0x2d, 0x7c, 0x67, 0x81, 0xac, 0x3e, + 0xb6, 0x7a, 0xda, 0x47, 0x39, 0xb8, 0x83, 0x49, 0xab, 0xcb, 0x0b, 0x05, 0x1e, 0x81, 0x8a, 0x5a, + 0x51, 0x50, 0x99, 0x90, 0xcb, 0xd9, 0xde, 0xc7, 0x2d, 0xa2, 0x73, 0x27, 0x72, 0x59, 0x33, 0x93, + 0xa3, 0x6c, 0x94, 0x7a, 0xcc, 0x89, 0xea, 0x7b, 0x0b, 0xd9, 0x32, 0x07, 0x69, 0xad, 0xde, 0xd4, + 0xde, 0x51, 0x52, 0x08, 0x41, 0x89, 0x3d, 0xea, 0xc7, 0x07, 0xd5, 0xa3, 0xe3, 0xc6, 0x21, 0xb5, + 0xe5, 0x2a, 0x2c, 0x7b, 0xb6, 0xf4, 0x88, 0x69, 0xf5, 0x79, 0x78, 0x2c, 0xa6, 0xaa, 0x98, 0x6c, + 0xe9, 0xd4, 0xdf, 0x48, 0x61, 0xee, 0x68, 0x65, 0x70, 0x08, 0x19, 0x97, 0x18, 0x64, 0xe8, 0x0a, + 0x23, 0xbe, 0x32, 0x6f, 0x99, 0xb1, 0xe5, 0x3d, 0x1c, 0x33, 0x71, 0x4d, 0xa8, 0x51, 0x6f, 0x42, + 0x29, 0xfa, 0x26, 0xde, 0x06, 0x81, 0x13, 0x25, 0xd5, 0x5b, 0x80, 0x26, 0xab, 0x8f, 0x29, 0xed, + 0xad, 0x34, 0xad, 0xbd, 0xfd, 0xad, 0x04, 0x8f, 0x5f, 0x50, 0x69, 0xa0, 0xb7, 0xc6, 0x16, 0xf9, + 0xda, 0x22, 0x75, 0xca, 0x16, 0xa7, 0x8d, 0x2d, 0xf3, 0x06, 0x14, 0xc2, 0xf4, 0xf9, 0x16, 0xf9, + 0x6d, 0x32, 0x38, 0xc4, 0xd1, 0x3e, 0x3c, 0x08, 0x81, 0xd2, 0x77, 0x0c, 0x81, 0xaf, 0x03, 0x90, + 0x91, 0xce, 0xdd, 0xda, 0xcb, 0xa3, 0x4f, 0x4c, 0xc1, 0x37, 0x71, 0xab, 0x39, 0x12, 0x87, 0x20, + 0x47, 0xc4, 0x93, 0x8b, 0x8e, 0xc3, 0xa0, 0xc4, 0x90, 0xe5, 0x58, 0x57, 0x34, 0xec, 0xf3, 0x26, + 0xe3, 0x00, 0xbc, 0xe0, 0x64, 0x17, 0xbd, 0x03, 0x8f, 0x8d, 0x15, 0x0a, 0xbe, 0x6a, 0x79, 0xde, + 0x7a, 0xe1, 0x52, 0xb4, 0x5e, 0xf0, 0x54, 0x87, 0xb3, 0x7d, 0x3a, 0x9a, 0xed, 0xdf, 0x01, 0x08, + 0xc0, 0x09, 0x1a, 0x61, 0x1c, 0x6b, 0x38, 0x68, 0x33, 0x0f, 0x48, 0x6b, 0x7c, 0x80, 0x6e, 0x42, + 0x9a, 0x7a, 0x92, 0x67, 0xa7, 0xc9, 0x50, 0x4c, 0x3d, 0x21, 0x04, 0x6e, 0x70, 0x6e, 0xd5, 0x04, + 0x34, 0x09, 0x10, 0xc7, 0x4c, 0xf1, 0x46, 0x74, 0x8a, 0x27, 0x63, 0xa1, 0xe6, 0xe9, 0x53, 0x7d, + 0x04, 0x69, 0xb6, 0xf3, 0x34, 0xe9, 0xb2, 0xbf, 0x12, 0xa2, 0x5a, 0xa4, 0xcf, 0xe8, 0xc7, 0x00, + 0x06, 0x21, 0x8e, 0x79, 0x32, 0x0c, 0x26, 0xd8, 0x98, 0xee, 0x39, 0x55, 0x8f, 0x6f, 0xf7, 0xaa, + 0x70, 0xa1, 0xb5, 0x40, 0x34, 0xe4, 0x46, 0x21, 0x85, 0xea, 0x01, 0x94, 0xa2, 0xb2, 0x5e, 0x7d, + 0xc3, 0xbf, 0x21, 0x5a, 0xdf, 0xf0, 0x72, 0x55, 0xd4, 0x37, 0x7e, 0x75, 0x94, 0xe2, 0xbf, 0x5e, + 0xd8, 0x40, 0xfd, 0x49, 0x12, 0x0a, 0x61, 0xc7, 0xfb, 0xcf, 0x2b, 0x41, 0xd4, 0x9f, 0x4b, 0x90, + 0xf5, 0x97, 0x1f, 0xfd, 0x0f, 0x13, 0xf9, 0x71, 0xc5, 0xad, 0x97, 0x0c, 0xff, 0x3c, 0xe1, 0xbf, + 0xa9, 0x52, 0xfe, 0x6f, 0xaa, 0x5b, 0x7e, 0xfa, 0x8b, 0x03, 0x44, 0xc2, 0xb6, 0x16, 0x5e, 0xe5, + 0x65, 0xfb, 0x5b, 0x90, 0xf3, 0x4f, 0x2f, 0x6d, 0x3a, 0x3c, 0xe0, 0x4a, 0x12, 0x67, 0x48, 0x00, + 0x56, 0x6b, 0x90, 0xb6, 0xad, 0x0f, 0xc5, 0x9f, 0x99, 0x94, 0xc6, 0x07, 0x6a, 0x1b, 0x96, 0xc7, + 0x8e, 0x3e, 0xba, 0x05, 0x4b, 0xf6, 0xf0, 0x44, 0xf7, 0x9c, 0x63, 0x0c, 0xde, 0xf3, 0xca, 0xd9, + 0xe1, 0x49, 0xcf, 0x6c, 0xdd, 0xc5, 0xe7, 0xde, 0xc7, 0xd8, 0xc3, 0x93, 0xbb, 0xdc, 0x87, 0xf8, + 0x2c, 0xc9, 0xf0, 0x2c, 0xbf, 0x94, 0x20, 0xeb, 0x9d, 0x09, 0xf4, 0x7f, 0x90, 0xf3, 0xc3, 0x8a, + 0xff, 0x6b, 0x35, 0x36, 0x1e, 0x09, 0xfd, 0x81, 0x08, 0xaa, 0x7a, 0xff, 0x84, 0xcd, 0xb6, 0xde, + 0xe9, 0x19, 0xdc, 0x97, 0x4a, 0x51, 0x9b, 0xf1, 0xc0, 0xc3, 0xe2, 0xf1, 0xde, 0xed, 0x3b, 0x3d, + 0xe3, 0x54, 0xcb, 0x33, 0x99, 0xbd, 0x36, 0x1d, 0x88, 0xca, 0xee, 0xef, 0x12, 0x28, 0xe3, 0x27, + 0xf6, 0x3b, 0x7f, 0xdd, 0x64, 0x9a, 0x4b, 0x4d, 0x49, 0x73, 0x68, 0x1b, 0x56, 0x7d, 0x0e, 0xdd, + 0x35, 0x4f, 0x07, 0x06, 0x19, 0x3a, 0x58, 0x00, 0xa2, 0xc8, 0x7f, 0x75, 0xec, 0xbd, 0x99, 0x5c, + 0x75, 0xfa, 0x11, 0x57, 0xfd, 0x71, 0x12, 0xf2, 0x21, 0x78, 0x16, 0xfd, 0x6f, 0x28, 0x18, 0x95, + 0xa6, 0x64, 0x86, 0x10, 0x6f, 0xf0, 0x9b, 0x34, 0x6a, 0xa6, 0xe4, 0xe2, 0x66, 0x8a, 0x03, 0xc1, + 0x3d, 0xb4, 0x57, 0x5e, 0x18, 0xed, 0x7d, 0x01, 0x10, 0xb1, 0x88, 0xd1, 0xd3, 0xcf, 0x2c, 0x62, + 0x0e, 0x4e, 0x75, 0xee, 0x86, 0x3c, 0x74, 0x28, 0xec, 0xcd, 0x03, 0xf6, 0xe2, 0x88, 0x79, 0xe4, + 0x4f, 0x25, 0xc8, 0xfa, 0x65, 0xf7, 0xa2, 0x3f, 0x51, 0x2f, 0x43, 0x46, 0x54, 0x96, 0xfc, 0x2f, + 0xaa, 0x18, 0x4d, 0x85, 0xb5, 0x2b, 0x90, 0xed, 0x63, 0x62, 0xb0, 0x38, 0xc8, 0xb3, 0x9a, 0x3f, + 0xbe, 0xfe, 0x1a, 0xe4, 0x43, 0x3f, 0xa0, 0x69, 0x68, 0x3c, 0xa8, 0xbf, 0xad, 0x24, 0x2a, 0x4b, + 0x9f, 0x7c, 0xbe, 0x99, 0x3a, 0xc0, 0x1f, 0xd2, 0xd3, 0xac, 0xd5, 0x6b, 0x8d, 0x7a, 0xed, 0xae, + 0x22, 0x55, 0xf2, 0x9f, 0x7c, 0xbe, 0xb9, 0xa4, 0x61, 0x86, 0x28, 0x5e, 0xbf, 0x0b, 0xcb, 0x63, + 0x1b, 0x13, 0x2d, 0x5b, 0x10, 0x94, 0x6e, 0xdf, 0x3f, 0xba, 0xb7, 0x57, 0xab, 0x36, 0xeb, 0xfa, + 0x83, 0xc3, 0x66, 0x5d, 0x91, 0xd0, 0x63, 0xb0, 0x7a, 0x6f, 0xef, 0xff, 0x1b, 0x4d, 0xbd, 0x76, + 0x6f, 0xaf, 0x7e, 0xd0, 0xd4, 0xab, 0xcd, 0x66, 0xb5, 0x76, 0x57, 0x49, 0xee, 0x7c, 0x9e, 0x07, + 0xb9, 0xba, 0x5b, 0xdb, 0x43, 0x35, 0x90, 0x19, 0x14, 0x72, 0xe1, 0x0d, 0xb4, 0xca, 0xc5, 0xd8, + 0x30, 0xba, 0x03, 0x69, 0x86, 0x92, 0xa0, 0x8b, 0xaf, 0xa4, 0x55, 0x66, 0x80, 0xc5, 0xf4, 0x63, + 0xd8, 0x89, 0xbc, 0xf0, 0x8e, 0x5a, 0xe5, 0x62, 0xec, 0x18, 0xdd, 0x83, 0x25, 0xaf, 0x49, 0x9e, + 0x75, 0x71, 0xac, 0x32, 0x13, 0xd0, 0xa5, 0x4b, 0xe3, 0x60, 0xc3, 0xc5, 0xd7, 0xd7, 0x2a, 0x33, + 0x50, 0x65, 0xb4, 0x07, 0x19, 0xd1, 0x8e, 0xce, 0xb8, 0x91, 0x56, 0x99, 0x85, 0x13, 0x23, 0x0d, + 0x72, 0x01, 0x8c, 0x33, 0xfb, 0x52, 0x5e, 0x65, 0x0e, 0xc0, 0x1c, 0xbd, 0x0b, 0xc5, 0x68, 0xab, + 0x3b, 0xdf, 0xad, 0xb7, 0xca, 0x9c, 0x88, 0x34, 0xd5, 0x1f, 0xed, 0x7b, 0xe7, 0xbb, 0x05, 0x57, + 0x99, 0x13, 0xa0, 0x46, 0xef, 0xc3, 0xca, 0x64, 0x5f, 0x3a, 0xff, 0xa5, 0xb8, 0xca, 0x02, 0x90, + 0x35, 0xea, 0x03, 0x9a, 0xd2, 0xcf, 0x2e, 0x70, 0x47, 0xae, 0xb2, 0x08, 0x82, 0x8d, 0xda, 0xb0, + 0x3c, 0xde, 0x24, 0xce, 0x7b, 0x67, 0xae, 0x32, 0x37, 0x9a, 0xcd, 0x67, 0x89, 0x36, 0x97, 0xf3, + 0xde, 0xa1, 0xab, 0xcc, 0x0d, 0x6e, 0xa3, 0xfb, 0x00, 0xa1, 0xfe, 0x70, 0x8e, 0x3b, 0x75, 0x95, + 0x79, 0x60, 0x6e, 0x64, 0xc3, 0xea, 0xb4, 0xc6, 0x71, 0x91, 0x2b, 0x76, 0x95, 0x85, 0xd0, 0x6f, + 0xea, 0xcf, 0xd1, 0x16, 0x70, 0xbe, 0x2b, 0x77, 0x95, 0x39, 0x61, 0xf0, 0xdd, 0xea, 0x17, 0x5f, + 0xaf, 0x4b, 0x5f, 0x7e, 0xbd, 0x2e, 0xfd, 0xed, 0xeb, 0x75, 0xe9, 0xd3, 0x6f, 0xd6, 0x13, 0x5f, + 0x7e, 0xb3, 0x9e, 0xf8, 0xcb, 0x37, 0xeb, 0x89, 0x1f, 0x3c, 0x7b, 0x6a, 0x92, 0xee, 0xf0, 0x64, + 0xab, 0x65, 0xf5, 0xb7, 0x5b, 0x56, 0x1f, 0x93, 0x93, 0x0e, 0x09, 0x1e, 0x82, 0x7b, 0xd5, 0x27, + 0x19, 0x96, 0x41, 0x6f, 0xfc, 0x33, 0x00, 0x00, 0xff, 0xff, 0x9f, 0xfb, 0xec, 0x84, 0x77, 0x2d, 0x00, 0x00, } @@ -5675,93 +5335,6 @@ func (m *RequestPrepareProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) _ = i var l int _ = l - if len(m.ImplicitHash) > 0 { - i -= len(m.ImplicitHash) - copy(dAtA[i:], m.ImplicitHash) - i = encodeVarintTypes(dAtA, i, uint64(len(m.ImplicitHash))) - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0x92 - } - if m.EncryptedRandom != nil { - { - size, err := m.EncryptedRandom.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTypes(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0x8a - } - if len(m.EvidenceHash) > 0 { - i -= len(m.EvidenceHash) - copy(dAtA[i:], m.EvidenceHash) - i = encodeVarintTypes(dAtA, i, uint64(len(m.EvidenceHash))) - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0x82 - } - if len(m.LastResultsHash) > 0 { - i -= len(m.LastResultsHash) - copy(dAtA[i:], m.LastResultsHash) - i = encodeVarintTypes(dAtA, i, uint64(len(m.LastResultsHash))) - i-- - dAtA[i] = 0x7a - } - if len(m.ConsensusHash) > 0 { - i -= len(m.ConsensusHash) - copy(dAtA[i:], m.ConsensusHash) - i = encodeVarintTypes(dAtA, i, uint64(len(m.ConsensusHash))) - i-- - dAtA[i] = 0x72 - } - if len(m.ValidatorsHash) > 0 { - i -= len(m.ValidatorsHash) - copy(dAtA[i:], m.ValidatorsHash) - i = encodeVarintTypes(dAtA, i, uint64(len(m.ValidatorsHash))) - i-- - dAtA[i] = 0x6a - } - if len(m.LastCommitHash) > 0 { - i -= len(m.LastCommitHash) - copy(dAtA[i:], m.LastCommitHash) - i = encodeVarintTypes(dAtA, i, uint64(len(m.LastCommitHash))) - i-- - dAtA[i] = 0x62 - } - if len(m.DataHash) > 0 { - i -= len(m.DataHash) - copy(dAtA[i:], m.DataHash) - i = encodeVarintTypes(dAtA, i, uint64(len(m.DataHash))) - i-- - dAtA[i] = 0x5a - } - { - size, err := m.LastBlockId.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTypes(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x52 - { - size, err := m.Version.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTypes(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x4a if len(m.ProposerAddress) > 0 { i -= len(m.ProposerAddress) copy(dAtA[i:], m.ProposerAddress) @@ -5776,12 +5349,12 @@ func (m *RequestPrepareProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) i-- dAtA[i] = 0x3a } - n23, err23 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.Time):]) - if err23 != nil { - return 0, err23 + n20, err20 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.Time):]) + if err20 != nil { + return 0, err20 } - i -= n23 - i = encodeVarintTypes(dAtA, i, uint64(n23)) + i -= n20 + i = encodeVarintTypes(dAtA, i, uint64(n20)) i-- dAtA[i] = 0x32 if m.Height != 0 { @@ -5850,97 +5423,10 @@ func (m *RequestProcessProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) _ = i var l int _ = l - if len(m.ImplicitHash) > 0 { - i -= len(m.ImplicitHash) - copy(dAtA[i:], m.ImplicitHash) - i = encodeVarintTypes(dAtA, i, uint64(len(m.ImplicitHash))) - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0x92 - } - if m.EncryptedRandom != nil { - { - size, err := m.EncryptedRandom.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTypes(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0x8a - } - if len(m.EvidenceHash) > 0 { - i -= len(m.EvidenceHash) - copy(dAtA[i:], m.EvidenceHash) - i = encodeVarintTypes(dAtA, i, uint64(len(m.EvidenceHash))) - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0x82 - } - if len(m.LastResultsHash) > 0 { - i -= len(m.LastResultsHash) - copy(dAtA[i:], m.LastResultsHash) - i = encodeVarintTypes(dAtA, i, uint64(len(m.LastResultsHash))) - i-- - dAtA[i] = 0x7a - } - if len(m.ConsensusHash) > 0 { - i -= len(m.ConsensusHash) - copy(dAtA[i:], m.ConsensusHash) - i = encodeVarintTypes(dAtA, i, uint64(len(m.ConsensusHash))) - i-- - dAtA[i] = 0x72 - } - if len(m.ValidatorsHash) > 0 { - i -= len(m.ValidatorsHash) - copy(dAtA[i:], m.ValidatorsHash) - i = encodeVarintTypes(dAtA, i, uint64(len(m.ValidatorsHash))) - i-- - dAtA[i] = 0x6a - } - if len(m.LastCommitHash) > 0 { - i -= len(m.LastCommitHash) - copy(dAtA[i:], m.LastCommitHash) - i = encodeVarintTypes(dAtA, i, uint64(len(m.LastCommitHash))) - i-- - dAtA[i] = 0x62 - } - if len(m.DataHash) > 0 { - i -= len(m.DataHash) - copy(dAtA[i:], m.DataHash) - i = encodeVarintTypes(dAtA, i, uint64(len(m.DataHash))) - i-- - dAtA[i] = 0x5a - } - { - size, err := m.LastBlockId.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTypes(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x52 - { - size, err := m.Version.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTypes(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x4a - if len(m.ProposerAddress) > 0 { - i -= len(m.ProposerAddress) - copy(dAtA[i:], m.ProposerAddress) - i = encodeVarintTypes(dAtA, i, uint64(len(m.ProposerAddress))) + if len(m.ProposerAddress) > 0 { + i -= len(m.ProposerAddress) + copy(dAtA[i:], m.ProposerAddress) + i = encodeVarintTypes(dAtA, i, uint64(len(m.ProposerAddress))) i-- dAtA[i] = 0x42 } @@ -5951,12 +5437,12 @@ func (m *RequestProcessProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) i-- dAtA[i] = 0x3a } - n28, err28 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.Time):]) - if err28 != nil { - return 0, err28 + n22, err22 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.Time):]) + if err22 != nil { + return 0, err22 } - i -= n28 - i = encodeVarintTypes(dAtA, i, uint64(n28)) + i -= n22 + i = encodeVarintTypes(dAtA, i, uint64(n22)) i-- dAtA[i] = 0x32 if m.Height != 0 { @@ -6027,93 +5513,6 @@ func (m *RequestExtendVote) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if len(m.ImplicitHash) > 0 { - i -= len(m.ImplicitHash) - copy(dAtA[i:], m.ImplicitHash) - i = encodeVarintTypes(dAtA, i, uint64(len(m.ImplicitHash))) - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0x92 - } - if m.EncryptedRandom != nil { - { - size, err := m.EncryptedRandom.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTypes(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0x8a - } - if len(m.EvidenceHash) > 0 { - i -= len(m.EvidenceHash) - copy(dAtA[i:], m.EvidenceHash) - i = encodeVarintTypes(dAtA, i, uint64(len(m.EvidenceHash))) - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0x82 - } - if len(m.LastResultsHash) > 0 { - i -= len(m.LastResultsHash) - copy(dAtA[i:], m.LastResultsHash) - i = encodeVarintTypes(dAtA, i, uint64(len(m.LastResultsHash))) - i-- - dAtA[i] = 0x7a - } - if len(m.ConsensusHash) > 0 { - i -= len(m.ConsensusHash) - copy(dAtA[i:], m.ConsensusHash) - i = encodeVarintTypes(dAtA, i, uint64(len(m.ConsensusHash))) - i-- - dAtA[i] = 0x72 - } - if len(m.ValidatorsHash) > 0 { - i -= len(m.ValidatorsHash) - copy(dAtA[i:], m.ValidatorsHash) - i = encodeVarintTypes(dAtA, i, uint64(len(m.ValidatorsHash))) - i-- - dAtA[i] = 0x6a - } - if len(m.LastCommitHash) > 0 { - i -= len(m.LastCommitHash) - copy(dAtA[i:], m.LastCommitHash) - i = encodeVarintTypes(dAtA, i, uint64(len(m.LastCommitHash))) - i-- - dAtA[i] = 0x62 - } - if len(m.DataHash) > 0 { - i -= len(m.DataHash) - copy(dAtA[i:], m.DataHash) - i = encodeVarintTypes(dAtA, i, uint64(len(m.DataHash))) - i-- - dAtA[i] = 0x5a - } - { - size, err := m.LastBlockId.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTypes(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x52 - { - size, err := m.Version.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTypes(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x4a if len(m.ProposerAddress) > 0 { i -= len(m.ProposerAddress) copy(dAtA[i:], m.ProposerAddress) @@ -6161,12 +5560,12 @@ func (m *RequestExtendVote) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0x22 } } - n34, err34 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.Time):]) - if err34 != nil { - return 0, err34 + n25, err25 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.Time):]) + if err25 != nil { + return 0, err25 } - i -= n34 - i = encodeVarintTypes(dAtA, i, uint64(n34)) + i -= n25 + i = encodeVarintTypes(dAtA, i, uint64(n25)) i-- dAtA[i] = 0x1a if m.Height != 0 { @@ -6253,83 +5652,6 @@ func (m *RequestFinalizeBlock) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if len(m.ImplicitHash) > 0 { - i -= len(m.ImplicitHash) - copy(dAtA[i:], m.ImplicitHash) - i = encodeVarintTypes(dAtA, i, uint64(len(m.ImplicitHash))) - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0x9a - } - if len(m.EvidenceHash) > 0 { - i -= len(m.EvidenceHash) - copy(dAtA[i:], m.EvidenceHash) - i = encodeVarintTypes(dAtA, i, uint64(len(m.EvidenceHash))) - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0x92 - } - if len(m.LastResultsHash) > 0 { - i -= len(m.LastResultsHash) - copy(dAtA[i:], m.LastResultsHash) - i = encodeVarintTypes(dAtA, i, uint64(len(m.LastResultsHash))) - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0x8a - } - if len(m.ConsensusHash) > 0 { - i -= len(m.ConsensusHash) - copy(dAtA[i:], m.ConsensusHash) - i = encodeVarintTypes(dAtA, i, uint64(len(m.ConsensusHash))) - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0x82 - } - if len(m.ValidatorsHash) > 0 { - i -= len(m.ValidatorsHash) - copy(dAtA[i:], m.ValidatorsHash) - i = encodeVarintTypes(dAtA, i, uint64(len(m.ValidatorsHash))) - i-- - dAtA[i] = 0x7a - } - if len(m.LastCommitHash) > 0 { - i -= len(m.LastCommitHash) - copy(dAtA[i:], m.LastCommitHash) - i = encodeVarintTypes(dAtA, i, uint64(len(m.LastCommitHash))) - i-- - dAtA[i] = 0x72 - } - if len(m.DataHash) > 0 { - i -= len(m.DataHash) - copy(dAtA[i:], m.DataHash) - i = encodeVarintTypes(dAtA, i, uint64(len(m.DataHash))) - i-- - dAtA[i] = 0x6a - } - { - size, err := m.LastBlockId.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTypes(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x62 - { - size, err := m.Version.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTypes(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x5a if m.Commit != nil { { size, err := m.Commit.MarshalToSizedBuffer(dAtA[:i]) @@ -6368,12 +5690,12 @@ func (m *RequestFinalizeBlock) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x3a } - n39, err39 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.Time):]) - if err39 != nil { - return 0, err39 + n28, err28 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.Time):]) + if err28 != nil { + return 0, err28 } - i -= n39 - i = encodeVarintTypes(dAtA, i, uint64(n39)) + i -= n28 + i = encodeVarintTypes(dAtA, i, uint64(n28)) i-- dAtA[i] = 0x32 if m.Height != 0 { @@ -7336,20 +6658,20 @@ func (m *ResponseApplySnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, err } } if len(m.RefetchChunks) > 0 { - dAtA61 := make([]byte, len(m.RefetchChunks)*10) - var j60 int + dAtA50 := make([]byte, len(m.RefetchChunks)*10) + var j49 int for _, num := range m.RefetchChunks { for num >= 1<<7 { - dAtA61[j60] = uint8(uint64(num)&0x7f | 0x80) + dAtA50[j49] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j60++ + j49++ } - dAtA61[j60] = uint8(num) - j60++ + dAtA50[j49] = uint8(num) + j49++ } - i -= j60 - copy(dAtA[i:], dAtA61[:j60]) - i = encodeVarintTypes(dAtA, i, uint64(j60)) + i -= j49 + copy(dAtA[i:], dAtA50[:j49]) + i = encodeVarintTypes(dAtA, i, uint64(j49)) i-- dAtA[i] = 0x12 } @@ -8056,12 +7378,12 @@ func (m *Misbehavior) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x28 } - n67, err67 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.Time):]) - if err67 != nil { - return 0, err67 + n56, err56 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.Time):]) + if err56 != nil { + return 0, err56 } - i -= n67 - i = encodeVarintTypes(dAtA, i, uint64(n67)) + i -= n56 + i = encodeVarintTypes(dAtA, i, uint64(n56)) i-- dAtA[i] = 0x22 if m.Height != 0 { @@ -8579,42 +7901,6 @@ func (m *RequestPrepareProposal) Size() (n int) { if l > 0 { n += 1 + l + sovTypes(uint64(l)) } - l = m.Version.Size() - n += 1 + l + sovTypes(uint64(l)) - l = m.LastBlockId.Size() - n += 1 + l + sovTypes(uint64(l)) - l = len(m.DataHash) - if l > 0 { - n += 1 + l + sovTypes(uint64(l)) - } - l = len(m.LastCommitHash) - if l > 0 { - n += 1 + l + sovTypes(uint64(l)) - } - l = len(m.ValidatorsHash) - if l > 0 { - n += 1 + l + sovTypes(uint64(l)) - } - l = len(m.ConsensusHash) - if l > 0 { - n += 1 + l + sovTypes(uint64(l)) - } - l = len(m.LastResultsHash) - if l > 0 { - n += 1 + l + sovTypes(uint64(l)) - } - l = len(m.EvidenceHash) - if l > 0 { - n += 2 + l + sovTypes(uint64(l)) - } - if m.EncryptedRandom != nil { - l = m.EncryptedRandom.Size() - n += 2 + l + sovTypes(uint64(l)) - } - l = len(m.ImplicitHash) - if l > 0 { - n += 2 + l + sovTypes(uint64(l)) - } return n } @@ -8655,42 +7941,6 @@ func (m *RequestProcessProposal) Size() (n int) { if l > 0 { n += 1 + l + sovTypes(uint64(l)) } - l = m.Version.Size() - n += 1 + l + sovTypes(uint64(l)) - l = m.LastBlockId.Size() - n += 1 + l + sovTypes(uint64(l)) - l = len(m.DataHash) - if l > 0 { - n += 1 + l + sovTypes(uint64(l)) - } - l = len(m.LastCommitHash) - if l > 0 { - n += 1 + l + sovTypes(uint64(l)) - } - l = len(m.ValidatorsHash) - if l > 0 { - n += 1 + l + sovTypes(uint64(l)) - } - l = len(m.ConsensusHash) - if l > 0 { - n += 1 + l + sovTypes(uint64(l)) - } - l = len(m.LastResultsHash) - if l > 0 { - n += 1 + l + sovTypes(uint64(l)) - } - l = len(m.EvidenceHash) - if l > 0 { - n += 2 + l + sovTypes(uint64(l)) - } - if m.EncryptedRandom != nil { - l = m.EncryptedRandom.Size() - n += 2 + l + sovTypes(uint64(l)) - } - l = len(m.ImplicitHash) - if l > 0 { - n += 2 + l + sovTypes(uint64(l)) - } return n } @@ -8731,42 +7981,6 @@ func (m *RequestExtendVote) Size() (n int) { if l > 0 { n += 1 + l + sovTypes(uint64(l)) } - l = m.Version.Size() - n += 1 + l + sovTypes(uint64(l)) - l = m.LastBlockId.Size() - n += 1 + l + sovTypes(uint64(l)) - l = len(m.DataHash) - if l > 0 { - n += 1 + l + sovTypes(uint64(l)) - } - l = len(m.LastCommitHash) - if l > 0 { - n += 1 + l + sovTypes(uint64(l)) - } - l = len(m.ValidatorsHash) - if l > 0 { - n += 1 + l + sovTypes(uint64(l)) - } - l = len(m.ConsensusHash) - if l > 0 { - n += 1 + l + sovTypes(uint64(l)) - } - l = len(m.LastResultsHash) - if l > 0 { - n += 1 + l + sovTypes(uint64(l)) - } - l = len(m.EvidenceHash) - if l > 0 { - n += 2 + l + sovTypes(uint64(l)) - } - if m.EncryptedRandom != nil { - l = m.EncryptedRandom.Size() - n += 2 + l + sovTypes(uint64(l)) - } - l = len(m.ImplicitHash) - if l > 0 { - n += 2 + l + sovTypes(uint64(l)) - } return n } @@ -8839,38 +8053,6 @@ func (m *RequestFinalizeBlock) Size() (n int) { l = m.Commit.Size() n += 1 + l + sovTypes(uint64(l)) } - l = m.Version.Size() - n += 1 + l + sovTypes(uint64(l)) - l = m.LastBlockId.Size() - n += 1 + l + sovTypes(uint64(l)) - l = len(m.DataHash) - if l > 0 { - n += 1 + l + sovTypes(uint64(l)) - } - l = len(m.LastCommitHash) - if l > 0 { - n += 1 + l + sovTypes(uint64(l)) - } - l = len(m.ValidatorsHash) - if l > 0 { - n += 1 + l + sovTypes(uint64(l)) - } - l = len(m.ConsensusHash) - if l > 0 { - n += 2 + l + sovTypes(uint64(l)) - } - l = len(m.LastResultsHash) - if l > 0 { - n += 2 + l + sovTypes(uint64(l)) - } - l = len(m.EvidenceHash) - if l > 0 { - n += 2 + l + sovTypes(uint64(l)) - } - l = len(m.ImplicitHash) - if l > 0 { - n += 2 + l + sovTypes(uint64(l)) - } return n } @@ -11796,75 +10978,59 @@ func (m *RequestPrepareProposal) Unmarshal(dAtA []byte) error { m.ProposerAddress = []byte{} } iNdEx = postIndex - case 9: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTypes + default: + iNdEx = preIndex + skippy, err := skipTypes(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + msglen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthTypes } - if postIndex > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - if err := m.Version.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 10: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field LastBlockId", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTypes + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RequestProcessProposal) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes } - if postIndex > l { + if iNdEx >= l { return io.ErrUnexpectedEOF } - if err := m.LastBlockId.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break } - iNdEx = postIndex - case 11: + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: RequestProcessProposal: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RequestProcessProposal: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DataHash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Txs", wireType) } var byteLen int for shift := uint(0); ; shift += 7 { @@ -11891,16 +11057,14 @@ func (m *RequestPrepareProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.DataHash = append(m.DataHash[:0], dAtA[iNdEx:postIndex]...) - if m.DataHash == nil { - m.DataHash = []byte{} - } + m.Txs = append(m.Txs, make([]byte, postIndex-iNdEx)) + copy(m.Txs[len(m.Txs)-1], dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 12: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field LastCommitHash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ProposedLastCommit", wireType) } - var byteLen int + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -11910,31 +11074,30 @@ func (m *RequestPrepareProposal) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= int(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - if byteLen < 0 { + if msglen < 0 { return ErrInvalidLengthTypes } - postIndex := iNdEx + byteLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTypes } if postIndex > l { return io.ErrUnexpectedEOF } - m.LastCommitHash = append(m.LastCommitHash[:0], dAtA[iNdEx:postIndex]...) - if m.LastCommitHash == nil { - m.LastCommitHash = []byte{} + if err := m.ProposedLastCommit.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err } iNdEx = postIndex - case 13: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ValidatorsHash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Misbehavior", wireType) } - var byteLen int + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -11944,29 +11107,29 @@ func (m *RequestPrepareProposal) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= int(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - if byteLen < 0 { + if msglen < 0 { return ErrInvalidLengthTypes } - postIndex := iNdEx + byteLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTypes } if postIndex > l { return io.ErrUnexpectedEOF } - m.ValidatorsHash = append(m.ValidatorsHash[:0], dAtA[iNdEx:postIndex]...) - if m.ValidatorsHash == nil { - m.ValidatorsHash = []byte{} + m.Misbehavior = append(m.Misbehavior, Misbehavior{}) + if err := m.Misbehavior[len(m.Misbehavior)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err } iNdEx = postIndex - case 14: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ConsensusHash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType) } var byteLen int for shift := uint(0); ; shift += 7 { @@ -11993,16 +11156,16 @@ func (m *RequestPrepareProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ConsensusHash = append(m.ConsensusHash[:0], dAtA[iNdEx:postIndex]...) - if m.ConsensusHash == nil { - m.ConsensusHash = []byte{} + m.Hash = append(m.Hash[:0], dAtA[iNdEx:postIndex]...) + if m.Hash == nil { + m.Hash = []byte{} } iNdEx = postIndex - case 15: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field LastResultsHash", wireType) + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType) } - var byteLen int + m.Height = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -12012,31 +11175,16 @@ func (m *RequestPrepareProposal) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= int(b&0x7F) << shift + m.Height |= int64(b&0x7F) << shift if b < 0x80 { break } } - if byteLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.LastResultsHash = append(m.LastResultsHash[:0], dAtA[iNdEx:postIndex]...) - if m.LastResultsHash == nil { - m.LastResultsHash = []byte{} - } - iNdEx = postIndex - case 16: + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EvidenceHash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Time", wireType) } - var byteLen int + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -12046,31 +11194,30 @@ func (m *RequestPrepareProposal) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= int(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - if byteLen < 0 { + if msglen < 0 { return ErrInvalidLengthTypes } - postIndex := iNdEx + byteLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTypes } if postIndex > l { return io.ErrUnexpectedEOF } - m.EvidenceHash = append(m.EvidenceHash[:0], dAtA[iNdEx:postIndex]...) - if m.EvidenceHash == nil { - m.EvidenceHash = []byte{} + if err := github_com_cosmos_gogoproto_types.StdTimeUnmarshal(&m.Time, dAtA[iNdEx:postIndex]); err != nil { + return err } iNdEx = postIndex - case 17: + case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EncryptedRandom", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NextValidatorsHash", wireType) } - var msglen int + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -12080,31 +11227,29 @@ func (m *RequestPrepareProposal) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + if byteLen < 0 { return ErrInvalidLengthTypes } - postIndex := iNdEx + msglen + postIndex := iNdEx + byteLen if postIndex < 0 { return ErrInvalidLengthTypes } if postIndex > l { return io.ErrUnexpectedEOF } - if m.EncryptedRandom == nil { - m.EncryptedRandom = &types1.EncryptedRandom{} - } - if err := m.EncryptedRandom.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err + m.NextValidatorsHash = append(m.NextValidatorsHash[:0], dAtA[iNdEx:postIndex]...) + if m.NextValidatorsHash == nil { + m.NextValidatorsHash = []byte{} } iNdEx = postIndex - case 18: + case 8: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ImplicitHash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ProposerAddress", wireType) } var byteLen int for shift := uint(0); ; shift += 7 { @@ -12131,9 +11276,9 @@ func (m *RequestPrepareProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ImplicitHash = append(m.ImplicitHash[:0], dAtA[iNdEx:postIndex]...) - if m.ImplicitHash == nil { - m.ImplicitHash = []byte{} + m.ProposerAddress = append(m.ProposerAddress[:0], dAtA[iNdEx:postIndex]...) + if m.ProposerAddress == nil { + m.ProposerAddress = []byte{} } iNdEx = postIndex default: @@ -12157,7 +11302,7 @@ func (m *RequestPrepareProposal) Unmarshal(dAtA []byte) error { } return nil } -func (m *RequestProcessProposal) Unmarshal(dAtA []byte) error { +func (m *RequestExtendVote) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12180,15 +11325,15 @@ func (m *RequestProcessProposal) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: RequestProcessProposal: wiretype end group for non-group") + return fmt.Errorf("proto: RequestExtendVote: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: RequestProcessProposal: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: RequestExtendVote: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Txs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType) } var byteLen int for shift := uint(0); ; shift += 7 { @@ -12215,14 +11360,16 @@ func (m *RequestProcessProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Txs = append(m.Txs, make([]byte, postIndex-iNdEx)) - copy(m.Txs[len(m.Txs)-1], dAtA[iNdEx:postIndex]) + m.Hash = append(m.Hash[:0], dAtA[iNdEx:postIndex]...) + if m.Hash == nil { + m.Hash = []byte{} + } iNdEx = postIndex case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ProposedLastCommit", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType) } - var msglen int + m.Height = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -12232,28 +11379,14 @@ func (m *RequestProcessProposal) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.Height |= int64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.ProposedLastCommit.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Misbehavior", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Time", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -12280,14 +11413,13 @@ func (m *RequestProcessProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Misbehavior = append(m.Misbehavior, Misbehavior{}) - if err := m.Misbehavior[len(m.Misbehavior)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := github_com_cosmos_gogoproto_types.StdTimeUnmarshal(&m.Time, dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Txs", wireType) } var byteLen int for shift := uint(0); ; shift += 7 { @@ -12314,134 +11446,12 @@ func (m *RequestProcessProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Hash = append(m.Hash[:0], dAtA[iNdEx:postIndex]...) - if m.Hash == nil { - m.Hash = []byte{} - } - iNdEx = postIndex - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType) - } - m.Height = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Height |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Time", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := github_com_cosmos_gogoproto_types.StdTimeUnmarshal(&m.Time, dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 7: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NextValidatorsHash", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.NextValidatorsHash = append(m.NextValidatorsHash[:0], dAtA[iNdEx:postIndex]...) - if m.NextValidatorsHash == nil { - m.NextValidatorsHash = []byte{} - } - iNdEx = postIndex - case 8: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ProposerAddress", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ProposerAddress = append(m.ProposerAddress[:0], dAtA[iNdEx:postIndex]...) - if m.ProposerAddress == nil { - m.ProposerAddress = []byte{} - } + m.Txs = append(m.Txs, make([]byte, postIndex-iNdEx)) + copy(m.Txs[len(m.Txs)-1], dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 9: + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ProposedLastCommit", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -12468,13 +11478,13 @@ func (m *RequestProcessProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Version.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.ProposedLastCommit.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 10: + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field LastBlockId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Misbehavior", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -12501,81 +11511,14 @@ func (m *RequestProcessProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.LastBlockId.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.Misbehavior = append(m.Misbehavior, Misbehavior{}) + if err := m.Misbehavior[len(m.Misbehavior)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 11: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DataHash", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.DataHash = append(m.DataHash[:0], dAtA[iNdEx:postIndex]...) - if m.DataHash == nil { - m.DataHash = []byte{} - } - iNdEx = postIndex - case 12: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field LastCommitHash", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.LastCommitHash = append(m.LastCommitHash[:0], dAtA[iNdEx:postIndex]...) - if m.LastCommitHash == nil { - m.LastCommitHash = []byte{} - } - iNdEx = postIndex - case 13: + case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ValidatorsHash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NextValidatorsHash", wireType) } var byteLen int for shift := uint(0); ; shift += 7 { @@ -12602,14 +11545,14 @@ func (m *RequestProcessProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ValidatorsHash = append(m.ValidatorsHash[:0], dAtA[iNdEx:postIndex]...) - if m.ValidatorsHash == nil { - m.ValidatorsHash = []byte{} + m.NextValidatorsHash = append(m.NextValidatorsHash[:0], dAtA[iNdEx:postIndex]...) + if m.NextValidatorsHash == nil { + m.NextValidatorsHash = []byte{} } iNdEx = postIndex - case 14: + case 8: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ConsensusHash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ProposerAddress", wireType) } var byteLen int for shift := uint(0); ; shift += 7 { @@ -12636,973 +11579,21 @@ func (m *RequestProcessProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ConsensusHash = append(m.ConsensusHash[:0], dAtA[iNdEx:postIndex]...) - if m.ConsensusHash == nil { - m.ConsensusHash = []byte{} + m.ProposerAddress = append(m.ProposerAddress[:0], dAtA[iNdEx:postIndex]...) + if m.ProposerAddress == nil { + m.ProposerAddress = []byte{} } iNdEx = postIndex - case 15: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field LastResultsHash", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTypes + default: + iNdEx = preIndex + skippy, err := skipTypes(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + byteLen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthTypes } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.LastResultsHash = append(m.LastResultsHash[:0], dAtA[iNdEx:postIndex]...) - if m.LastResultsHash == nil { - m.LastResultsHash = []byte{} - } - iNdEx = postIndex - case 16: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EvidenceHash", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.EvidenceHash = append(m.EvidenceHash[:0], dAtA[iNdEx:postIndex]...) - if m.EvidenceHash == nil { - m.EvidenceHash = []byte{} - } - iNdEx = postIndex - case 17: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EncryptedRandom", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.EncryptedRandom == nil { - m.EncryptedRandom = &types1.EncryptedRandom{} - } - if err := m.EncryptedRandom.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 18: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ImplicitHash", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ImplicitHash = append(m.ImplicitHash[:0], dAtA[iNdEx:postIndex]...) - if m.ImplicitHash == nil { - m.ImplicitHash = []byte{} - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *RequestExtendVote) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: RequestExtendVote: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: RequestExtendVote: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Hash = append(m.Hash[:0], dAtA[iNdEx:postIndex]...) - if m.Hash == nil { - m.Hash = []byte{} - } - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType) - } - m.Height = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Height |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Time", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := github_com_cosmos_gogoproto_types.StdTimeUnmarshal(&m.Time, dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Txs", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Txs = append(m.Txs, make([]byte, postIndex-iNdEx)) - copy(m.Txs[len(m.Txs)-1], dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ProposedLastCommit", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.ProposedLastCommit.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Misbehavior", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Misbehavior = append(m.Misbehavior, Misbehavior{}) - if err := m.Misbehavior[len(m.Misbehavior)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 7: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NextValidatorsHash", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.NextValidatorsHash = append(m.NextValidatorsHash[:0], dAtA[iNdEx:postIndex]...) - if m.NextValidatorsHash == nil { - m.NextValidatorsHash = []byte{} - } - iNdEx = postIndex - case 8: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ProposerAddress", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ProposerAddress = append(m.ProposerAddress[:0], dAtA[iNdEx:postIndex]...) - if m.ProposerAddress == nil { - m.ProposerAddress = []byte{} - } - iNdEx = postIndex - case 9: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.Version.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 10: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field LastBlockId", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.LastBlockId.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 11: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DataHash", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.DataHash = append(m.DataHash[:0], dAtA[iNdEx:postIndex]...) - if m.DataHash == nil { - m.DataHash = []byte{} - } - iNdEx = postIndex - case 12: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field LastCommitHash", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.LastCommitHash = append(m.LastCommitHash[:0], dAtA[iNdEx:postIndex]...) - if m.LastCommitHash == nil { - m.LastCommitHash = []byte{} - } - iNdEx = postIndex - case 13: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ValidatorsHash", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ValidatorsHash = append(m.ValidatorsHash[:0], dAtA[iNdEx:postIndex]...) - if m.ValidatorsHash == nil { - m.ValidatorsHash = []byte{} - } - iNdEx = postIndex - case 14: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ConsensusHash", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ConsensusHash = append(m.ConsensusHash[:0], dAtA[iNdEx:postIndex]...) - if m.ConsensusHash == nil { - m.ConsensusHash = []byte{} - } - iNdEx = postIndex - case 15: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field LastResultsHash", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.LastResultsHash = append(m.LastResultsHash[:0], dAtA[iNdEx:postIndex]...) - if m.LastResultsHash == nil { - m.LastResultsHash = []byte{} - } - iNdEx = postIndex - case 16: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EvidenceHash", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.EvidenceHash = append(m.EvidenceHash[:0], dAtA[iNdEx:postIndex]...) - if m.EvidenceHash == nil { - m.EvidenceHash = []byte{} - } - iNdEx = postIndex - case 17: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EncryptedRandom", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.EncryptedRandom == nil { - m.EncryptedRandom = &types1.EncryptedRandom{} - } - if err := m.EncryptedRandom.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 18: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ImplicitHash", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ImplicitHash = append(m.ImplicitHash[:0], dAtA[iNdEx:postIndex]...) - if m.ImplicitHash == nil { - m.ImplicitHash = []byte{} - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *RequestVerifyVoteExtension) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: RequestVerifyVoteExtension: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: RequestVerifyVoteExtension: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Hash = append(m.Hash[:0], dAtA[iNdEx:postIndex]...) - if m.Hash == nil { - m.Hash = []byte{} - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddress", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ValidatorAddress = append(m.ValidatorAddress[:0], dAtA[iNdEx:postIndex]...) - if m.ValidatorAddress == nil { - m.ValidatorAddress = []byte{} - } - iNdEx = postIndex - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType) - } - m.Height = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Height |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field VoteExtension", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.VoteExtension = append(m.VoteExtension[:0], dAtA[iNdEx:postIndex]...) - if m.VoteExtension == nil { - m.VoteExtension = []byte{} - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTypes - } - if (iNdEx + skippy) > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } iNdEx += skippy @@ -13614,192 +11605,40 @@ func (m *RequestVerifyVoteExtension) Unmarshal(dAtA []byte) error { } return nil } -func (m *RequestFinalizeBlock) Unmarshal(dAtA []byte) error { +func (m *RequestVerifyVoteExtension) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { preIndex := iNdEx var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: RequestFinalizeBlock: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: RequestFinalizeBlock: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Txs", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Txs = append(m.Txs, make([]byte, postIndex-iNdEx)) - copy(m.Txs[len(m.Txs)-1], dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DecidedLastCommit", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.DecidedLastCommit.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Misbehavior", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Misbehavior = append(m.Misbehavior, Misbehavior{}) - if err := m.Misbehavior[len(m.Misbehavior)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Hash = append(m.Hash[:0], dAtA[iNdEx:postIndex]...) - if m.Hash == nil { - m.Hash = []byte{} - } - iNdEx = postIndex - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType) - } - m.Height = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Height |= int64(b&0x7F) << shift - if b < 0x80 { - break - } + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes } - case 6: + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: RequestVerifyVoteExtension: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RequestVerifyVoteExtension: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Time", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType) } - var msglen int + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -13809,28 +11648,29 @@ func (m *RequestFinalizeBlock) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + if byteLen < 0 { return ErrInvalidLengthTypes } - postIndex := iNdEx + msglen + postIndex := iNdEx + byteLen if postIndex < 0 { return ErrInvalidLengthTypes } if postIndex > l { return io.ErrUnexpectedEOF } - if err := github_com_cosmos_gogoproto_types.StdTimeUnmarshal(&m.Time, dAtA[iNdEx:postIndex]); err != nil { - return err + m.Hash = append(m.Hash[:0], dAtA[iNdEx:postIndex]...) + if m.Hash == nil { + m.Hash = []byte{} } iNdEx = postIndex - case 7: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NextValidatorsHash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddress", wireType) } var byteLen int for shift := uint(0); ; shift += 7 { @@ -13857,16 +11697,16 @@ func (m *RequestFinalizeBlock) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.NextValidatorsHash = append(m.NextValidatorsHash[:0], dAtA[iNdEx:postIndex]...) - if m.NextValidatorsHash == nil { - m.NextValidatorsHash = []byte{} + m.ValidatorAddress = append(m.ValidatorAddress[:0], dAtA[iNdEx:postIndex]...) + if m.ValidatorAddress == nil { + m.ValidatorAddress = []byte{} } iNdEx = postIndex - case 8: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ProposerAddress", wireType) + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType) } - var byteLen int + m.Height = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -13876,31 +11716,16 @@ func (m *RequestFinalizeBlock) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= int(b&0x7F) << shift + m.Height |= int64(b&0x7F) << shift if b < 0x80 { break } } - if byteLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ProposerAddress = append(m.ProposerAddress[:0], dAtA[iNdEx:postIndex]...) - if m.ProposerAddress == nil { - m.ProposerAddress = []byte{} - } - iNdEx = postIndex - case 9: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EncryptedRandom", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field VoteExtension", wireType) } - var msglen int + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -13910,33 +11735,81 @@ func (m *RequestFinalizeBlock) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + if byteLen < 0 { return ErrInvalidLengthTypes } - postIndex := iNdEx + msglen + postIndex := iNdEx + byteLen if postIndex < 0 { return ErrInvalidLengthTypes } if postIndex > l { return io.ErrUnexpectedEOF } - if m.EncryptedRandom == nil { - m.EncryptedRandom = &types1.EncryptedRandom{} + m.VoteExtension = append(m.VoteExtension[:0], dAtA[iNdEx:postIndex]...) + if m.VoteExtension == nil { + m.VoteExtension = []byte{} } - if err := m.EncryptedRandom.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTypes(dAtA[iNdEx:]) + if err != nil { return err } - iNdEx = postIndex - case 10: + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTypes + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RequestFinalizeBlock) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: RequestFinalizeBlock: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RequestFinalizeBlock: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Commit", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Txs", wireType) } - var msglen int + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -13946,31 +11819,27 @@ func (m *RequestFinalizeBlock) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + if byteLen < 0 { return ErrInvalidLengthTypes } - postIndex := iNdEx + msglen + postIndex := iNdEx + byteLen if postIndex < 0 { return ErrInvalidLengthTypes } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Commit == nil { - m.Commit = &types1.Commit{} - } - if err := m.Commit.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Txs = append(m.Txs, make([]byte, postIndex-iNdEx)) + copy(m.Txs[len(m.Txs)-1], dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 11: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DecidedLastCommit", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -13997,13 +11866,13 @@ func (m *RequestFinalizeBlock) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Version.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.DecidedLastCommit.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 12: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field LastBlockId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Misbehavior", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -14030,13 +11899,14 @@ func (m *RequestFinalizeBlock) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.LastBlockId.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.Misbehavior = append(m.Misbehavior, Misbehavior{}) + if err := m.Misbehavior[len(m.Misbehavior)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 13: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DataHash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType) } var byteLen int for shift := uint(0); ; shift += 7 { @@ -14063,16 +11933,16 @@ func (m *RequestFinalizeBlock) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.DataHash = append(m.DataHash[:0], dAtA[iNdEx:postIndex]...) - if m.DataHash == nil { - m.DataHash = []byte{} + m.Hash = append(m.Hash[:0], dAtA[iNdEx:postIndex]...) + if m.Hash == nil { + m.Hash = []byte{} } iNdEx = postIndex - case 14: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field LastCommitHash", wireType) + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType) } - var byteLen int + m.Height = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -14082,31 +11952,16 @@ func (m *RequestFinalizeBlock) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= int(b&0x7F) << shift + m.Height |= int64(b&0x7F) << shift if b < 0x80 { break } } - if byteLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.LastCommitHash = append(m.LastCommitHash[:0], dAtA[iNdEx:postIndex]...) - if m.LastCommitHash == nil { - m.LastCommitHash = []byte{} - } - iNdEx = postIndex - case 15: + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ValidatorsHash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Time", wireType) } - var byteLen int + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -14116,29 +11971,28 @@ func (m *RequestFinalizeBlock) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= int(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - if byteLen < 0 { + if msglen < 0 { return ErrInvalidLengthTypes } - postIndex := iNdEx + byteLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTypes } if postIndex > l { return io.ErrUnexpectedEOF } - m.ValidatorsHash = append(m.ValidatorsHash[:0], dAtA[iNdEx:postIndex]...) - if m.ValidatorsHash == nil { - m.ValidatorsHash = []byte{} + if err := github_com_cosmos_gogoproto_types.StdTimeUnmarshal(&m.Time, dAtA[iNdEx:postIndex]); err != nil { + return err } iNdEx = postIndex - case 16: + case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ConsensusHash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NextValidatorsHash", wireType) } var byteLen int for shift := uint(0); ; shift += 7 { @@ -14165,14 +12019,14 @@ func (m *RequestFinalizeBlock) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ConsensusHash = append(m.ConsensusHash[:0], dAtA[iNdEx:postIndex]...) - if m.ConsensusHash == nil { - m.ConsensusHash = []byte{} + m.NextValidatorsHash = append(m.NextValidatorsHash[:0], dAtA[iNdEx:postIndex]...) + if m.NextValidatorsHash == nil { + m.NextValidatorsHash = []byte{} } iNdEx = postIndex - case 17: + case 8: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field LastResultsHash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ProposerAddress", wireType) } var byteLen int for shift := uint(0); ; shift += 7 { @@ -14199,16 +12053,16 @@ func (m *RequestFinalizeBlock) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.LastResultsHash = append(m.LastResultsHash[:0], dAtA[iNdEx:postIndex]...) - if m.LastResultsHash == nil { - m.LastResultsHash = []byte{} + m.ProposerAddress = append(m.ProposerAddress[:0], dAtA[iNdEx:postIndex]...) + if m.ProposerAddress == nil { + m.ProposerAddress = []byte{} } iNdEx = postIndex - case 18: + case 9: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EvidenceHash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EncryptedRandom", wireType) } - var byteLen int + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -14218,31 +12072,33 @@ func (m *RequestFinalizeBlock) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= int(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - if byteLen < 0 { + if msglen < 0 { return ErrInvalidLengthTypes } - postIndex := iNdEx + byteLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTypes } if postIndex > l { return io.ErrUnexpectedEOF } - m.EvidenceHash = append(m.EvidenceHash[:0], dAtA[iNdEx:postIndex]...) - if m.EvidenceHash == nil { - m.EvidenceHash = []byte{} + if m.EncryptedRandom == nil { + m.EncryptedRandom = &types1.EncryptedRandom{} + } + if err := m.EncryptedRandom.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err } iNdEx = postIndex - case 19: + case 10: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ImplicitHash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Commit", wireType) } - var byteLen int + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -14252,24 +12108,26 @@ func (m *RequestFinalizeBlock) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= int(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - if byteLen < 0 { + if msglen < 0 { return ErrInvalidLengthTypes } - postIndex := iNdEx + byteLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTypes } if postIndex > l { return io.ErrUnexpectedEOF } - m.ImplicitHash = append(m.ImplicitHash[:0], dAtA[iNdEx:postIndex]...) - if m.ImplicitHash == nil { - m.ImplicitHash = []byte{} + if m.Commit == nil { + m.Commit = &types1.Commit{} + } + if err := m.Commit.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err } iNdEx = postIndex default: diff --git a/go.sum b/go.sum index 835e0a2a2b6..fe1fc9fda4c 100644 --- a/go.sum +++ b/go.sum @@ -329,8 +329,8 @@ github.com/sasha-s/go-deadlock v0.3.5 h1:tNCOEEDG6tBqrNDOX35j/7hL5FcFViG6awUGROb github.com/sasha-s/go-deadlock v0.3.5/go.mod h1:bugP6EGbdGYObIlx7pUZtWqlvo8k9H6vCBBsiChJQ5U= github.com/satori/go.uuid v1.2.0 h1:0uYX9dsZ2yD7q2RtLRtPSdGDWzjeM3TbMJP9utgA0ww= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= -github.com/scrtlabs/tm-secret-enclave v1.13.0 h1:a2xH0G96chEM8Ntwlq/Fh36r4dg0ijKWTaOy0oqFsqg= -github.com/scrtlabs/tm-secret-enclave v1.13.0/go.mod h1:nxZQtzzAqBNBLOEXSv4cKlUnVA4vRmHOn6ujr3kxVME= +github.com/scrtlabs/tm-secret-enclave v1.12.2 h1:fl1rOFYB4+9orTzjAnp6r5EmIm5/6c78EERrWcgEWHA= +github.com/scrtlabs/tm-secret-enclave v1.12.2/go.mod h1:nxZQtzzAqBNBLOEXSv4cKlUnVA4vRmHOn6ujr3kxVME= github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8= github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= diff --git a/proto/tendermint/abci/types.proto b/proto/tendermint/abci/types.proto index be131068683..9174d84024d 100644 --- a/proto/tendermint/abci/types.proto +++ b/proto/tendermint/abci/types.proto @@ -10,7 +10,6 @@ import "tendermint/crypto/keys.proto"; import "tendermint/types/params.proto"; import "tendermint/types/types.proto"; import "tendermint/types/validator.proto"; -import "tendermint/version/types.proto"; import "google/protobuf/timestamp.proto"; import "gogoproto/gogo.proto"; @@ -141,22 +140,6 @@ message RequestPrepareProposal { bytes next_validators_hash = 7; // address of the public key of the validator proposing the block. bytes proposer_address = 8; - // scheduled_msgs_hash - tendermint.version.Consensus version = 9 [(gogoproto.nullable) = false]; - tendermint.types.BlockID last_block_id = 10 [(gogoproto.nullable) = false]; - bytes data_hash = 11; - bytes last_commit_hash = 12; // commit from validators from the last block - bytes validators_hash = 13; // validators for the current block - bytes consensus_hash = 14; // consensus params for current block - bytes last_results_hash = 15; // root hash of all results from the txs from the previous block - - // consensus info - bytes evidence_hash = 16; // evidence included in the block - // encrypted random - tendermint.types.EncryptedRandom encrypted_random = 17; // a random number encrypted by the proposer to be used in contracts - - // scheduled_msgs_hash - bytes implicit_hash = 18; } message RequestProcessProposal { @@ -170,22 +153,6 @@ message RequestProcessProposal { bytes next_validators_hash = 7; // address of the public key of the original proposer of the block. bytes proposer_address = 8; - // scheduled_msgs_hash - tendermint.version.Consensus version = 9 [(gogoproto.nullable) = false]; - tendermint.types.BlockID last_block_id = 10 [(gogoproto.nullable) = false]; - bytes data_hash = 11; - bytes last_commit_hash = 12; // commit from validators from the last block - bytes validators_hash = 13; // validators for the current block - bytes consensus_hash = 14; // consensus params for current block - bytes last_results_hash = 15; // root hash of all results from the txs from the previous block - - // consensus info - bytes evidence_hash = 16; // evidence included in the block - // encrypted random - tendermint.types.EncryptedRandom encrypted_random = 17; // a random number encrypted by the proposer to be used in contracts - - // scheduled_msgs_hash - bytes implicit_hash = 18; } // Extends a vote with application-injected data @@ -202,22 +169,6 @@ message RequestExtendVote { bytes next_validators_hash = 7; // address of the public key of the original proposer of the block. bytes proposer_address = 8; - // scheduled_msgs_hash - tendermint.version.Consensus version = 9 [(gogoproto.nullable) = false]; - tendermint.types.BlockID last_block_id = 10 [(gogoproto.nullable) = false]; - bytes data_hash = 11; - bytes last_commit_hash = 12; // commit from validators from the last block - bytes validators_hash = 13; // validators for the current block - bytes consensus_hash = 14; // consensus params for current block - bytes last_results_hash = 15; // root hash of all results from the txs from the previous block - - // consensus info - bytes evidence_hash = 16; // evidence included in the block - // encrypted random - tendermint.types.EncryptedRandom encrypted_random = 17; // a random number encrypted by the proposer to be used in contracts - - // scheduled_msgs_hash - bytes implicit_hash = 18; } // Verify the vote extension @@ -243,18 +194,6 @@ message RequestFinalizeBlock { bytes proposer_address = 8; tendermint.types.EncryptedRandom encrypted_random = 9; // a random number encrypted by the proposer to be used in contracts tendermint.types.Commit commit = 10; - tendermint.version.Consensus version = 11 [(gogoproto.nullable) = false]; - tendermint.types.BlockID last_block_id = 12 [(gogoproto.nullable) = false]; - bytes data_hash = 13; // commit from validators from the last block - bytes last_commit_hash = 14; // commit from validators from the last block - bytes validators_hash = 15; // validators for the current block - bytes consensus_hash = 16; // consensus params for current block - bytes last_results_hash = 17; // root hash of all results from the txs from the previous block - - // consensus info - bytes evidence_hash = 18; // evidence included in the block - // scheduled_msgs_hash - bytes implicit_hash = 19; } //---------------------------------------- diff --git a/proto/tendermint/types/types.pb.go b/proto/tendermint/types/types.pb.go index 0cc94d12add..390086abc91 100644 --- a/proto/tendermint/types/types.pb.go +++ b/proto/tendermint/types/types.pb.go @@ -252,8 +252,6 @@ type Header struct { ProposerAddress []byte `protobuf:"bytes,14,opt,name=proposer_address,json=proposerAddress,proto3" json:"proposer_address,omitempty"` // encrypted random EncryptedRandom *EncryptedRandom `protobuf:"bytes,15,opt,name=encrypted_random,json=encryptedRandom,proto3" json:"encrypted_random,omitempty"` - // scheduled_msgs_hash - ImplicitHash []byte `protobuf:"bytes,16,opt,name=implicit_hash,json=implicitHash,proto3" json:"implicit_hash,omitempty"` } func (m *Header) Reset() { *m = Header{} } @@ -394,13 +392,6 @@ func (m *Header) GetEncryptedRandom() *EncryptedRandom { return nil } -func (m *Header) GetImplicitHash() []byte { - if m != nil { - return m.ImplicitHash - } - return nil -} - // Data contains the set of transactions included in the block type EncryptedRandom struct { Random []byte `protobuf:"bytes,1,opt,name=random,proto3" json:"random,omitempty"` @@ -1270,94 +1261,93 @@ func init() { func init() { proto.RegisterFile("tendermint/types/types.proto", fileDescriptor_d3a6e55e2345de56) } var fileDescriptor_d3a6e55e2345de56 = []byte{ - // 1380 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x57, 0xcf, 0x6f, 0x1b, 0x45, - 0x14, 0xce, 0xda, 0xeb, 0x5f, 0xcf, 0x76, 0xec, 0x2c, 0x11, 0x75, 0xdd, 0xc6, 0x31, 0xae, 0x80, - 0x50, 0x90, 0x53, 0xa5, 0x08, 0xc1, 0x01, 0xa1, 0xfc, 0x30, 0x6d, 0x44, 0x9d, 0x58, 0x6b, 0xb7, - 0x88, 0x5e, 0x56, 0x6b, 0xef, 0xc4, 0x5e, 0xba, 0xde, 0x59, 0xed, 0x8e, 0x83, 0xd3, 0xbf, 0x00, - 0xf5, 0xd4, 0x13, 0xb7, 0x9e, 0xe0, 0xc0, 0x1d, 0x24, 0xae, 0x88, 0x53, 0x8f, 0xbd, 0x01, 0x07, - 0x0a, 0xa4, 0xff, 0x08, 0x9a, 0x37, 0xb3, 0x6b, 0x3b, 0x8e, 0xa1, 0xaa, 0x2a, 0x90, 0xb8, 0x58, - 0x3b, 0xef, 0x7d, 0xf3, 0xe6, 0xed, 0xfb, 0xde, 0x37, 0x7e, 0x0b, 0x97, 0x19, 0x71, 0x2d, 0xe2, - 0x0f, 0x6d, 0x97, 0x6d, 0xb2, 0x13, 0x8f, 0x04, 0xe2, 0xb7, 0xee, 0xf9, 0x94, 0x51, 0xad, 0x38, - 0xf1, 0xd6, 0xd1, 0x5e, 0x5e, 0xed, 0xd3, 0x3e, 0x45, 0xe7, 0x26, 0x7f, 0x12, 0xb8, 0xf2, 0x7a, - 0x9f, 0xd2, 0xbe, 0x43, 0x36, 0x71, 0xd5, 0x1d, 0x1d, 0x6d, 0x32, 0x7b, 0x48, 0x02, 0x66, 0x0e, - 0x3d, 0x09, 0x58, 0x9b, 0x3a, 0xa6, 0xe7, 0x9f, 0x78, 0x8c, 0x72, 0x2c, 0x3d, 0x92, 0xee, 0xca, - 0x94, 0xfb, 0x98, 0xf8, 0x81, 0x4d, 0xdd, 0xe9, 0x3c, 0xca, 0xd5, 0xb9, 0x2c, 0x8f, 0x4d, 0xc7, - 0xb6, 0x4c, 0x46, 0x7d, 0x81, 0xa8, 0x7d, 0x00, 0xf9, 0x96, 0xe9, 0xb3, 0x36, 0x61, 0x37, 0x89, - 0x69, 0x11, 0x5f, 0x5b, 0x85, 0x04, 0xa3, 0xcc, 0x74, 0x4a, 0x4a, 0x55, 0xd9, 0xc8, 0xeb, 0x62, - 0xa1, 0x69, 0xa0, 0x0e, 0xcc, 0x60, 0x50, 0x8a, 0x55, 0x95, 0x8d, 0x9c, 0x8e, 0xcf, 0xb5, 0x01, - 0xa8, 0x7c, 0x2b, 0xdf, 0x61, 0xbb, 0x16, 0x19, 0x87, 0x3b, 0x70, 0xc1, 0xad, 0xdd, 0x13, 0x46, - 0x02, 0xb9, 0x45, 0x2c, 0xb4, 0x77, 0x21, 0x81, 0xf9, 0x97, 0xe2, 0x55, 0x65, 0x23, 0xbb, 0x55, - 0xaa, 0x4f, 0x15, 0x4a, 0xbc, 0x5f, 0xbd, 0xc5, 0xfd, 0x3b, 0xea, 0xe3, 0xa7, 0xeb, 0x4b, 0xba, - 0x00, 0xd7, 0x1c, 0x48, 0xed, 0x38, 0xb4, 0x77, 0x6f, 0x7f, 0x2f, 0x4a, 0x44, 0x99, 0x24, 0xa2, - 0x35, 0xa1, 0xe0, 0x99, 0x3e, 0x33, 0x02, 0xc2, 0x8c, 0x01, 0xbe, 0x05, 0x1e, 0x9a, 0xdd, 0x5a, - 0xaf, 0x9f, 0xe5, 0xa1, 0x3e, 0xf3, 0xb2, 0xf2, 0x94, 0xbc, 0x37, 0x6d, 0xac, 0xfd, 0x9a, 0x80, - 0xa4, 0x2c, 0xc6, 0x87, 0x90, 0x92, 0x65, 0xc5, 0x03, 0xb3, 0x5b, 0x6b, 0xd3, 0x11, 0xa5, 0xab, - 0xbe, 0x4b, 0xdd, 0x80, 0xb8, 0xc1, 0x28, 0x90, 0xf1, 0xc2, 0x3d, 0xda, 0x1b, 0x90, 0xee, 0x0d, - 0x4c, 0xdb, 0x35, 0x6c, 0x0b, 0x33, 0xca, 0xec, 0x64, 0x4f, 0x9f, 0xae, 0xa7, 0x76, 0xb9, 0x6d, - 0x7f, 0x4f, 0x4f, 0xa1, 0x73, 0xdf, 0xd2, 0x5e, 0x85, 0xe4, 0x80, 0xd8, 0xfd, 0x01, 0xc3, 0xb2, - 0xc4, 0x75, 0xb9, 0xd2, 0xde, 0x07, 0x95, 0x37, 0x44, 0x49, 0xc5, 0xb3, 0xcb, 0x75, 0xd1, 0x2d, - 0xf5, 0xb0, 0x5b, 0xea, 0x9d, 0xb0, 0x5b, 0x76, 0xd2, 0xfc, 0xe0, 0x87, 0xbf, 0xaf, 0x2b, 0x3a, - 0xee, 0xd0, 0x76, 0x21, 0xef, 0x98, 0x01, 0x33, 0xba, 0xbc, 0x6c, 0xfc, 0xf8, 0x04, 0x86, 0xb8, - 0x38, 0x5f, 0x10, 0x59, 0x58, 0x99, 0x7a, 0x96, 0xef, 0x12, 0x26, 0x4b, 0xdb, 0x80, 0x22, 0x06, - 0xe9, 0xd1, 0xe1, 0xd0, 0x66, 0x06, 0xd6, 0x3d, 0x89, 0x75, 0x5f, 0xe6, 0xf6, 0x5d, 0x34, 0xdf, - 0xe4, 0x0c, 0x5c, 0x82, 0x8c, 0x65, 0x32, 0x53, 0x40, 0x52, 0x08, 0x49, 0x73, 0x03, 0x3a, 0xdf, - 0x84, 0x42, 0xd4, 0x75, 0x81, 0x80, 0xa4, 0x45, 0x94, 0x89, 0x19, 0x81, 0xd7, 0x60, 0xd5, 0x25, - 0x63, 0x66, 0x9c, 0x45, 0x67, 0x10, 0xad, 0x71, 0xdf, 0x9d, 0xd9, 0x1d, 0xaf, 0xc3, 0x72, 0x2f, - 0x2c, 0xbe, 0xc0, 0x02, 0x62, 0xf3, 0x91, 0x15, 0x61, 0x17, 0x21, 0x6d, 0x7a, 0x9e, 0x00, 0x64, - 0x11, 0x90, 0x32, 0x3d, 0x0f, 0x5d, 0x57, 0x61, 0x05, 0xdf, 0xd1, 0x27, 0xc1, 0xc8, 0x61, 0x32, - 0x48, 0x0e, 0x31, 0x05, 0xee, 0xd0, 0x85, 0x1d, 0xb1, 0x57, 0x20, 0x4f, 0x8e, 0x6d, 0x8b, 0xb8, - 0x3d, 0x22, 0x70, 0x79, 0xc4, 0xe5, 0x42, 0x23, 0x82, 0xde, 0x82, 0xa2, 0xe7, 0x53, 0x8f, 0x06, - 0xc4, 0x37, 0x4c, 0xcb, 0xf2, 0x49, 0x10, 0x94, 0x96, 0x45, 0xbc, 0xd0, 0xbe, 0x2d, 0xcc, 0xda, - 0x2d, 0x28, 0x12, 0x17, 0xbb, 0x9e, 0x58, 0x86, 0x6f, 0xba, 0x16, 0x1d, 0x96, 0x0a, 0xc8, 0xd3, - 0x6b, 0xf3, 0x3c, 0x35, 0x42, 0xa4, 0x8e, 0x40, 0xbd, 0x40, 0x66, 0x0d, 0x3c, 0x3b, 0x7b, 0xe8, - 0x39, 0x76, 0x2f, 0xa4, 0xaa, 0x28, 0xb2, 0x0b, 0x8d, 0x3c, 0xbb, 0xda, 0x47, 0x50, 0x38, 0x13, - 0x88, 0x37, 0x9f, 0x3c, 0x5b, 0x68, 0x4a, 0xae, 0xb8, 0x80, 0x85, 0x54, 0xa5, 0x80, 0x85, 0x14, - 0x4b, 0xa0, 0xee, 0x99, 0xcc, 0xd4, 0x8a, 0x10, 0x67, 0xe3, 0xa0, 0xa4, 0x54, 0xe3, 0x1b, 0x39, - 0x9d, 0x3f, 0xd6, 0x7e, 0x88, 0x83, 0x7a, 0x87, 0x32, 0xa2, 0x5d, 0x07, 0x95, 0xa7, 0x8c, 0xe1, - 0x96, 0xcf, 0xd3, 0x60, 0xdb, 0xee, 0xbb, 0xc4, 0x6a, 0x06, 0xfd, 0xce, 0x89, 0x47, 0x74, 0x04, - 0x4f, 0x49, 0x20, 0x36, 0x23, 0x81, 0x55, 0x48, 0xf8, 0x74, 0xe4, 0x5a, 0xa8, 0x8c, 0x84, 0x2e, - 0x16, 0x5a, 0x03, 0xd2, 0x51, 0x67, 0xab, 0xff, 0xd4, 0xd9, 0x05, 0xde, 0xd9, 0x5c, 0x77, 0xd2, - 0xa0, 0xa7, 0xba, 0xb2, 0xc1, 0x77, 0x20, 0x13, 0x5d, 0xb8, 0x52, 0x21, 0xcf, 0x27, 0xb2, 0xc9, - 0x36, 0xed, 0x6d, 0x58, 0x89, 0xfa, 0x35, 0x22, 0x5c, 0xa8, 0xa4, 0x18, 0x39, 0x42, 0xc6, 0xa7, - 0xa5, 0x60, 0x88, 0x4b, 0x33, 0x85, 0xef, 0x35, 0x91, 0xc2, 0x3e, 0xde, 0x9e, 0x97, 0x21, 0x13, - 0xd8, 0x7d, 0xd7, 0x64, 0x23, 0x9f, 0x48, 0xb5, 0x4c, 0x0c, 0xdc, 0x4b, 0xc6, 0x8c, 0xb8, 0x78, - 0x31, 0x09, 0x75, 0x4c, 0x0c, 0xda, 0x26, 0xbc, 0x12, 0x2d, 0x8c, 0x49, 0x14, 0xa1, 0x0c, 0x2d, - 0x72, 0xb5, 0x43, 0x4f, 0xed, 0x47, 0x05, 0x92, 0x42, 0xcc, 0x53, 0x34, 0x28, 0xe7, 0xd3, 0x10, - 0x5b, 0x44, 0x43, 0xfc, 0xc5, 0x69, 0xd8, 0x06, 0x88, 0xd2, 0x0c, 0x4a, 0x6a, 0x35, 0xbe, 0x91, - 0xdd, 0xba, 0x34, 0x1f, 0x48, 0xa4, 0xd8, 0xb6, 0xfb, 0xf2, 0xae, 0x9a, 0xda, 0x54, 0xfb, 0x4d, - 0x81, 0x4c, 0xe4, 0xd7, 0xb6, 0x21, 0x1f, 0xe6, 0x65, 0x1c, 0x39, 0x66, 0x5f, 0xb6, 0xe2, 0xda, - 0xc2, 0xe4, 0x3e, 0x76, 0xcc, 0xbe, 0x9e, 0x95, 0xf9, 0xf0, 0xc5, 0xf9, 0xb4, 0xc6, 0x16, 0xd0, - 0x3a, 0xd3, 0x47, 0xf1, 0x17, 0xeb, 0xa3, 0x19, 0xc6, 0xd5, 0x33, 0x8c, 0xd7, 0xfe, 0x54, 0x60, - 0xb9, 0x31, 0xc6, 0xf4, 0xad, 0xff, 0x92, 0xaa, 0xbb, 0xb2, 0xb7, 0x2c, 0x62, 0x19, 0x73, 0x9c, - 0x5d, 0x39, 0xe7, 0xd6, 0x9a, 0xc9, 0x79, 0xc2, 0x9d, 0x16, 0x46, 0x69, 0x4f, 0x38, 0xfc, 0x3e, - 0x06, 0x2b, 0x73, 0xf8, 0xff, 0x1f, 0x97, 0xb3, 0xea, 0x4d, 0x3c, 0xa7, 0x7a, 0x93, 0x0b, 0xd5, - 0xfb, 0x5d, 0x0c, 0xd2, 0x2d, 0xfc, 0x67, 0x31, 0x9d, 0x7f, 0xe3, 0xee, 0xbd, 0x04, 0x19, 0x8f, - 0x3a, 0x86, 0xf0, 0xa8, 0xe8, 0x49, 0x7b, 0xd4, 0xd1, 0xe7, 0xda, 0x2c, 0xf1, 0x92, 0x2e, 0xe6, - 0xe4, 0x4b, 0x20, 0x21, 0x75, 0x56, 0x50, 0x3e, 0xe4, 0x44, 0x29, 0xe4, 0xa4, 0x77, 0x8d, 0xd7, - 0x00, 0x47, 0x47, 0x65, 0x7e, 0x32, 0x15, 0x69, 0x0b, 0xa4, 0x2e, 0x71, 0x7c, 0x87, 0x18, 0x8c, - 0xe4, 0xb0, 0x59, 0x5a, 0x74, 0x63, 0xe9, 0x12, 0x57, 0xfb, 0x4a, 0x01, 0xb8, 0xc5, 0x2b, 0x8b, - 0xef, 0xcb, 0x67, 0xb4, 0x00, 0x53, 0x30, 0x66, 0x4e, 0xae, 0x2c, 0x22, 0x4d, 0x9e, 0x9f, 0x0b, - 0xa6, 0xf3, 0xde, 0x85, 0xfc, 0xa4, 0xb7, 0x03, 0x12, 0x26, 0x73, 0x4e, 0x90, 0x68, 0x74, 0x6a, - 0x13, 0xa6, 0xe7, 0x8e, 0xa7, 0x56, 0xb5, 0x9f, 0x14, 0xc8, 0x60, 0x4e, 0x4d, 0xc2, 0xcc, 0x19, - 0x0e, 0x95, 0x17, 0xe7, 0x70, 0x0d, 0x40, 0x84, 0x09, 0xec, 0xfb, 0x44, 0x76, 0x56, 0x06, 0x2d, - 0x6d, 0xfb, 0x3e, 0xd1, 0xde, 0x8b, 0x0a, 0x1e, 0xff, 0xfb, 0x82, 0xcb, 0x1b, 0x23, 0x2c, 0xfb, - 0x05, 0x48, 0xb9, 0xa3, 0xa1, 0xc1, 0x87, 0x0f, 0x55, 0x74, 0xab, 0x3b, 0x1a, 0x76, 0xc6, 0x41, - 0xed, 0x73, 0x48, 0x75, 0xc6, 0xf8, 0xf1, 0xc0, 0x5b, 0xd4, 0xa7, 0x54, 0x8e, 0x41, 0x62, 0xaa, - 0x49, 0x73, 0x03, 0x0e, 0x68, 0x1a, 0xa8, 0x7c, 0x34, 0x0d, 0x3f, 0x65, 0xf8, 0xb3, 0x56, 0x7f, - 0xce, 0xcf, 0x12, 0x39, 0x05, 0x5d, 0xfd, 0x59, 0x81, 0xfc, 0x8c, 0x92, 0xb4, 0x77, 0xe0, 0x42, - 0x7b, 0xff, 0xc6, 0x41, 0x63, 0xcf, 0x68, 0xb6, 0x6f, 0x18, 0x9d, 0xcf, 0x5a, 0x0d, 0xe3, 0xf6, - 0xc1, 0x27, 0x07, 0x87, 0x9f, 0x1e, 0x14, 0x97, 0xca, 0x85, 0x07, 0x8f, 0xaa, 0xd9, 0xdb, 0xee, - 0x3d, 0x97, 0x7e, 0xe1, 0x2e, 0x42, 0xb7, 0xf4, 0xc6, 0x9d, 0xc3, 0x4e, 0xa3, 0xa8, 0x08, 0x74, - 0xcb, 0x27, 0xc7, 0x94, 0x11, 0x44, 0x5f, 0x83, 0x8b, 0xe7, 0xa0, 0x77, 0x0f, 0x9b, 0xcd, 0xfd, - 0x4e, 0x31, 0x56, 0x5e, 0x79, 0xf0, 0xa8, 0x9a, 0x6f, 0xf9, 0x44, 0x74, 0x19, 0xee, 0xa8, 0x43, - 0x69, 0x7e, 0xc7, 0x61, 0xeb, 0xb0, 0xbd, 0x7d, 0xab, 0x58, 0x2d, 0x17, 0x1f, 0x3c, 0xaa, 0xe6, - 0xc2, 0x2b, 0x83, 0xe3, 0xcb, 0xe9, 0x2f, 0xbf, 0xae, 0x2c, 0x7d, 0xfb, 0x4d, 0x45, 0xd9, 0x69, - 0x3e, 0x3e, 0xad, 0x28, 0x4f, 0x4e, 0x2b, 0xca, 0x1f, 0xa7, 0x15, 0xe5, 0xe1, 0xb3, 0xca, 0xd2, - 0x93, 0x67, 0x95, 0xa5, 0x5f, 0x9e, 0x55, 0x96, 0xee, 0x5e, 0xef, 0xdb, 0x6c, 0x30, 0xea, 0xd6, - 0x7b, 0x74, 0xb8, 0xd9, 0xa3, 0x43, 0xc2, 0xba, 0x47, 0x6c, 0xf2, 0x20, 0x3e, 0x6d, 0xcf, 0x7e, - 0x6e, 0x76, 0x93, 0x68, 0xbf, 0xfe, 0x57, 0x00, 0x00, 0x00, 0xff, 0xff, 0x14, 0x92, 0x7d, 0x8b, - 0x2f, 0x0f, 0x00, 0x00, + // 1363 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x57, 0x4f, 0x6f, 0x1b, 0x55, + 0x10, 0xcf, 0xda, 0xeb, 0x7f, 0x63, 0x3b, 0x76, 0x96, 0x88, 0xba, 0x6e, 0xe3, 0x18, 0x57, 0x40, + 0x28, 0x68, 0x53, 0xa5, 0x08, 0xc1, 0x01, 0xa1, 0xfc, 0x31, 0x6d, 0x44, 0x9d, 0x58, 0x6b, 0xb7, + 0x88, 0x5e, 0x56, 0x6b, 0xef, 0x8b, 0xbd, 0xd4, 0xde, 0xb7, 0xda, 0x7d, 0x0e, 0x4e, 0x3f, 0x01, + 0xea, 0xa9, 0x27, 0x6e, 0x3d, 0xc1, 0x81, 0x3b, 0x95, 0xb8, 0x22, 0x4e, 0x3d, 0xf6, 0x06, 0x17, + 0x0a, 0xa4, 0x5f, 0x04, 0xbd, 0x79, 0x6f, 0xd7, 0x76, 0x1c, 0x43, 0x55, 0x55, 0x20, 0x71, 0xb1, + 0xf6, 0xcd, 0xfc, 0x66, 0xde, 0xec, 0xcc, 0x6f, 0xc6, 0xb3, 0x70, 0x99, 0x11, 0xd7, 0x26, 0xfe, + 0xd0, 0x71, 0xd9, 0x26, 0x3b, 0xf1, 0x48, 0x20, 0x7e, 0x75, 0xcf, 0xa7, 0x8c, 0x6a, 0xc5, 0x89, + 0x56, 0x47, 0x79, 0x79, 0xb5, 0x47, 0x7b, 0x14, 0x95, 0x9b, 0xfc, 0x49, 0xe0, 0xca, 0xeb, 0x3d, + 0x4a, 0x7b, 0x03, 0xb2, 0x89, 0xa7, 0xce, 0xe8, 0x68, 0x93, 0x39, 0x43, 0x12, 0x30, 0x6b, 0xe8, + 0x49, 0xc0, 0xda, 0xd4, 0x35, 0x5d, 0xff, 0xc4, 0x63, 0x94, 0x63, 0xe9, 0x91, 0x54, 0x57, 0xa6, + 0xd4, 0xc7, 0xc4, 0x0f, 0x1c, 0xea, 0x4e, 0xc7, 0x51, 0xae, 0xce, 0x45, 0x79, 0x6c, 0x0d, 0x1c, + 0xdb, 0x62, 0xd4, 0x17, 0x88, 0xda, 0x47, 0x90, 0x6f, 0x5a, 0x3e, 0x6b, 0x11, 0x76, 0x93, 0x58, + 0x36, 0xf1, 0xb5, 0x55, 0x48, 0x30, 0xca, 0xac, 0x41, 0x49, 0xa9, 0x2a, 0x1b, 0x79, 0x43, 0x1c, + 0x34, 0x0d, 0xd4, 0xbe, 0x15, 0xf4, 0x4b, 0xb1, 0xaa, 0xb2, 0x91, 0x33, 0xf0, 0xb9, 0xd6, 0x07, + 0x95, 0x9b, 0x72, 0x0b, 0xc7, 0xb5, 0xc9, 0x38, 0xb4, 0xc0, 0x03, 0x97, 0x76, 0x4e, 0x18, 0x09, + 0xa4, 0x89, 0x38, 0x68, 0xef, 0x43, 0x02, 0xe3, 0x2f, 0xc5, 0xab, 0xca, 0x46, 0x76, 0xab, 0xa4, + 0x4f, 0x25, 0x4a, 0xbc, 0x9f, 0xde, 0xe4, 0xfa, 0x1d, 0xf5, 0xc9, 0xb3, 0xf5, 0x25, 0x43, 0x80, + 0x6b, 0x03, 0x48, 0xed, 0x0c, 0x68, 0xf7, 0xde, 0xfe, 0x5e, 0x14, 0x88, 0x32, 0x09, 0x44, 0x6b, + 0x40, 0xc1, 0xb3, 0x7c, 0x66, 0x06, 0x84, 0x99, 0x7d, 0x7c, 0x0b, 0xbc, 0x34, 0xbb, 0xb5, 0xae, + 0x9f, 0xad, 0x83, 0x3e, 0xf3, 0xb2, 0xf2, 0x96, 0xbc, 0x37, 0x2d, 0xac, 0x3d, 0x4e, 0x40, 0x52, + 0x26, 0xe3, 0x63, 0x48, 0xc9, 0xb4, 0xe2, 0x85, 0xd9, 0xad, 0xb5, 0x69, 0x8f, 0x52, 0xa5, 0xef, + 0x52, 0x37, 0x20, 0x6e, 0x30, 0x0a, 0xa4, 0xbf, 0xd0, 0x46, 0x7b, 0x0b, 0xd2, 0xdd, 0xbe, 0xe5, + 0xb8, 0xa6, 0x63, 0x63, 0x44, 0x99, 0x9d, 0xec, 0xe9, 0xb3, 0xf5, 0xd4, 0x2e, 0x97, 0xed, 0xef, + 0x19, 0x29, 0x54, 0xee, 0xdb, 0xda, 0xeb, 0x90, 0xec, 0x13, 0xa7, 0xd7, 0x67, 0x98, 0x96, 0xb8, + 0x21, 0x4f, 0xda, 0x87, 0xa0, 0x72, 0x42, 0x94, 0x54, 0xbc, 0xbb, 0xac, 0x0b, 0xb6, 0xe8, 0x21, + 0x5b, 0xf4, 0x76, 0xc8, 0x96, 0x9d, 0x34, 0xbf, 0xf8, 0xe1, 0xef, 0xeb, 0x8a, 0x81, 0x16, 0xda, + 0x2e, 0xe4, 0x07, 0x56, 0xc0, 0xcc, 0x0e, 0x4f, 0x1b, 0xbf, 0x3e, 0x81, 0x2e, 0x2e, 0xce, 0x27, + 0x44, 0x26, 0x56, 0x86, 0x9e, 0xe5, 0x56, 0x42, 0x64, 0x6b, 0x1b, 0x50, 0x44, 0x27, 0x5d, 0x3a, + 0x1c, 0x3a, 0xcc, 0xc4, 0xbc, 0x27, 0x31, 0xef, 0xcb, 0x5c, 0xbe, 0x8b, 0xe2, 0x9b, 0xbc, 0x02, + 0x97, 0x20, 0x63, 0x5b, 0xcc, 0x12, 0x90, 0x14, 0x42, 0xd2, 0x5c, 0x80, 0xca, 0xb7, 0xa1, 0x10, + 0xb1, 0x2e, 0x10, 0x90, 0xb4, 0xf0, 0x32, 0x11, 0x23, 0xf0, 0x1a, 0xac, 0xba, 0x64, 0xcc, 0xcc, + 0xb3, 0xe8, 0x0c, 0xa2, 0x35, 0xae, 0xbb, 0x33, 0x6b, 0xf1, 0x26, 0x2c, 0x77, 0xc3, 0xe4, 0x0b, + 0x2c, 0x20, 0x36, 0x1f, 0x49, 0x11, 0x76, 0x11, 0xd2, 0x96, 0xe7, 0x09, 0x40, 0x16, 0x01, 0x29, + 0xcb, 0xf3, 0x50, 0x75, 0x15, 0x56, 0xf0, 0x1d, 0x7d, 0x12, 0x8c, 0x06, 0x4c, 0x3a, 0xc9, 0x21, + 0xa6, 0xc0, 0x15, 0x86, 0x90, 0x23, 0xf6, 0x0a, 0xe4, 0xc9, 0xb1, 0x63, 0x13, 0xb7, 0x4b, 0x04, + 0x2e, 0x8f, 0xb8, 0x5c, 0x28, 0x44, 0xd0, 0x3b, 0x50, 0xf4, 0x7c, 0xea, 0xd1, 0x80, 0xf8, 0xa6, + 0x65, 0xdb, 0x3e, 0x09, 0x82, 0xd2, 0xb2, 0xf0, 0x17, 0xca, 0xb7, 0x85, 0x58, 0xbb, 0x05, 0x45, + 0xe2, 0x22, 0xeb, 0x89, 0x6d, 0xfa, 0x96, 0x6b, 0xd3, 0x61, 0xa9, 0x80, 0x75, 0x7a, 0x63, 0xbe, + 0x4e, 0xf5, 0x10, 0x69, 0x20, 0xd0, 0x28, 0x90, 0x59, 0x41, 0xed, 0x13, 0x28, 0x9c, 0xc1, 0x70, + 0x5e, 0x49, 0xb7, 0xa2, 0x5d, 0xe4, 0x89, 0xf7, 0xa6, 0xe8, 0x42, 0xd9, 0x9b, 0xa2, 0xcb, 0x4a, + 0xa0, 0xee, 0x59, 0xcc, 0xd2, 0x8a, 0x10, 0x67, 0xe3, 0xa0, 0xa4, 0x54, 0xe3, 0x1b, 0x39, 0x83, + 0x3f, 0xd6, 0x7e, 0x8c, 0x83, 0x7a, 0x87, 0x32, 0xa2, 0x5d, 0x07, 0x95, 0x47, 0x83, 0xee, 0x96, + 0xcf, 0x6b, 0xaf, 0x96, 0xd3, 0x73, 0x89, 0xdd, 0x08, 0x7a, 0xed, 0x13, 0x8f, 0x18, 0x08, 0x9e, + 0x62, 0x77, 0x6c, 0x86, 0xdd, 0xab, 0x90, 0xf0, 0xe9, 0xc8, 0xb5, 0x91, 0xf4, 0x09, 0x43, 0x1c, + 0xb4, 0x3a, 0xa4, 0x23, 0xd2, 0xaa, 0xff, 0x44, 0xda, 0x02, 0x27, 0x2d, 0x6f, 0x29, 0x29, 0x30, + 0x52, 0x1d, 0xc9, 0xdd, 0x1d, 0xc8, 0x44, 0xb3, 0x54, 0x92, 0xff, 0xc5, 0xfa, 0x67, 0x62, 0xa6, + 0xbd, 0x0b, 0x2b, 0x11, 0x15, 0xa3, 0x5a, 0x8a, 0x06, 0x28, 0x46, 0x8a, 0xb0, 0x98, 0xd3, 0x2c, + 0x37, 0xc5, 0x3c, 0x4c, 0xe1, 0x7b, 0x4d, 0x58, 0xbe, 0x8f, 0x83, 0xf1, 0x32, 0x64, 0x02, 0xa7, + 0xe7, 0x5a, 0x6c, 0xe4, 0x13, 0xd9, 0x08, 0x13, 0x01, 0xd7, 0x92, 0x31, 0x23, 0x2e, 0xce, 0x1c, + 0x41, 0xfc, 0x89, 0x40, 0xdb, 0x84, 0xd7, 0xa2, 0x83, 0x39, 0xf1, 0x22, 0x48, 0xaf, 0x45, 0xaa, + 0x56, 0xa8, 0xa9, 0xfd, 0xa4, 0x40, 0x52, 0xf4, 0xe9, 0x54, 0x19, 0x94, 0xf3, 0xcb, 0x10, 0x5b, + 0x54, 0x86, 0xf8, 0xcb, 0x97, 0x61, 0x1b, 0x20, 0x0a, 0x33, 0x28, 0xa9, 0xd5, 0xf8, 0x46, 0x76, + 0xeb, 0xd2, 0xbc, 0x23, 0x11, 0x62, 0xcb, 0xe9, 0xc9, 0x31, 0x34, 0x65, 0x54, 0xfb, 0x4d, 0x81, + 0x4c, 0xa4, 0xd7, 0xb6, 0x21, 0x1f, 0xc6, 0x65, 0x1e, 0x0d, 0xac, 0x9e, 0xa4, 0xe2, 0xda, 0xc2, + 0xe0, 0x3e, 0x1d, 0x58, 0x3d, 0x23, 0x2b, 0xe3, 0xe1, 0x87, 0xf3, 0xcb, 0x1a, 0x5b, 0x50, 0xd6, + 0x19, 0x1e, 0xc5, 0x5f, 0x8e, 0x47, 0x33, 0x15, 0x57, 0xcf, 0x54, 0xbc, 0xf6, 0xa7, 0x02, 0xcb, + 0xf5, 0x31, 0x86, 0x6f, 0xff, 0x97, 0xa5, 0xba, 0x2b, 0xb9, 0x65, 0x13, 0xdb, 0x9c, 0xab, 0xd9, + 0x95, 0x73, 0x06, 0xd2, 0x4c, 0xcc, 0x93, 0xda, 0x69, 0xa1, 0x97, 0xd6, 0xa4, 0x86, 0x8f, 0x63, + 0xb0, 0x32, 0x87, 0xff, 0xff, 0xd5, 0x72, 0xb6, 0x7b, 0x13, 0x2f, 0xd8, 0xbd, 0xc9, 0x85, 0xdd, + 0xfb, 0x43, 0x0c, 0xd2, 0x4d, 0xfc, 0xd3, 0xb0, 0x06, 0xff, 0xc6, 0xec, 0xbd, 0x04, 0x19, 0x8f, + 0x0e, 0x4c, 0xa1, 0x51, 0x51, 0x93, 0xf6, 0xe8, 0xc0, 0x98, 0xa3, 0x59, 0xe2, 0x15, 0x0d, 0xe6, + 0xe4, 0x2b, 0x28, 0x42, 0xea, 0x6c, 0x43, 0xf9, 0x90, 0x13, 0xa9, 0x90, 0x4b, 0xdc, 0x35, 0x9e, + 0x03, 0xdc, 0x0a, 0x95, 0xf9, 0xa5, 0x53, 0x84, 0x2d, 0x90, 0x86, 0xc4, 0x71, 0x0b, 0xb1, 0xf3, + 0xc8, 0x3d, 0xb2, 0xb4, 0x68, 0x62, 0x19, 0x12, 0x57, 0xfb, 0x46, 0x01, 0xb8, 0xc5, 0x33, 0x8b, + 0xef, 0xcb, 0xd7, 0xaf, 0x00, 0x43, 0x30, 0x67, 0x6e, 0xae, 0x2c, 0x2a, 0x9a, 0xbc, 0x3f, 0x17, + 0x4c, 0xc7, 0xbd, 0x0b, 0xf9, 0x09, 0xb7, 0x03, 0x12, 0x06, 0x73, 0x8e, 0x93, 0x68, 0x2b, 0x6a, + 0x11, 0x66, 0xe4, 0x8e, 0xa7, 0x4e, 0xb5, 0x9f, 0x15, 0xc8, 0x60, 0x4c, 0x0d, 0xc2, 0xac, 0x99, + 0x1a, 0x2a, 0x2f, 0x5f, 0xc3, 0x35, 0x00, 0xe1, 0x26, 0x70, 0xee, 0x13, 0xc9, 0xac, 0x0c, 0x4a, + 0x5a, 0xce, 0x7d, 0xa2, 0x7d, 0x10, 0x25, 0x3c, 0xfe, 0xf7, 0x09, 0x97, 0x13, 0x23, 0x4c, 0xfb, + 0x05, 0x48, 0xb9, 0xa3, 0xa1, 0xc9, 0x97, 0x0f, 0x55, 0xb0, 0xd5, 0x1d, 0x0d, 0xdb, 0xe3, 0xa0, + 0xf6, 0x25, 0xa4, 0xda, 0x63, 0xfc, 0x2e, 0xe0, 0x14, 0xf5, 0x29, 0x95, 0xcb, 0xa8, 0xd8, 0x6a, + 0xd2, 0x5c, 0x80, 0xbb, 0x97, 0x06, 0x2a, 0xdf, 0x3a, 0xc3, 0xaf, 0x14, 0xfe, 0xac, 0xe9, 0x2f, + 0xf8, 0xc5, 0x21, 0xb7, 0xa0, 0xab, 0xbf, 0x28, 0x90, 0x9f, 0xe9, 0x24, 0xed, 0x3d, 0xb8, 0xd0, + 0xda, 0xbf, 0x71, 0x50, 0xdf, 0x33, 0x1b, 0xad, 0x1b, 0x66, 0xfb, 0x8b, 0x66, 0xdd, 0xbc, 0x7d, + 0xf0, 0xd9, 0xc1, 0xe1, 0xe7, 0x07, 0xc5, 0xa5, 0x72, 0xe1, 0xc1, 0xa3, 0x6a, 0xf6, 0xb6, 0x7b, + 0xcf, 0xa5, 0x5f, 0xb9, 0x8b, 0xd0, 0x4d, 0xa3, 0x7e, 0xe7, 0xb0, 0x5d, 0x2f, 0x2a, 0x02, 0xdd, + 0xf4, 0xc9, 0x31, 0x65, 0x04, 0xd1, 0xd7, 0xe0, 0xe2, 0x39, 0xe8, 0xdd, 0xc3, 0x46, 0x63, 0xbf, + 0x5d, 0x8c, 0x95, 0x57, 0x1e, 0x3c, 0xaa, 0xe6, 0x9b, 0x3e, 0x11, 0x2c, 0x43, 0x0b, 0x1d, 0x4a, + 0xf3, 0x16, 0x87, 0xcd, 0xc3, 0xd6, 0xf6, 0xad, 0x62, 0xb5, 0x5c, 0x7c, 0xf0, 0xa8, 0x9a, 0x0b, + 0x47, 0x06, 0xc7, 0x97, 0xd3, 0x5f, 0x7f, 0x5b, 0x59, 0xfa, 0xfe, 0xbb, 0x8a, 0xb2, 0xd3, 0x78, + 0x72, 0x5a, 0x51, 0x9e, 0x9e, 0x56, 0x94, 0x3f, 0x4e, 0x2b, 0xca, 0xc3, 0xe7, 0x95, 0xa5, 0xa7, + 0xcf, 0x2b, 0x4b, 0xbf, 0x3e, 0xaf, 0x2c, 0xdd, 0xbd, 0xde, 0x73, 0x58, 0x7f, 0xd4, 0xd1, 0xbb, + 0x74, 0xb8, 0xd9, 0xa5, 0x43, 0xc2, 0x3a, 0x47, 0x6c, 0xf2, 0x20, 0xbe, 0x5a, 0xcf, 0x7e, 0x49, + 0x76, 0x92, 0x28, 0xbf, 0xfe, 0x57, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe4, 0x91, 0x91, 0x2b, 0x0a, + 0x0f, 0x00, 0x00, } func (m *PartSetHeader) Marshal() (dAtA []byte, err error) { @@ -1500,15 +1490,6 @@ func (m *Header) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if len(m.ImplicitHash) > 0 { - i -= len(m.ImplicitHash) - copy(dAtA[i:], m.ImplicitHash) - i = encodeVarintTypes(dAtA, i, uint64(len(m.ImplicitHash))) - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0x82 - } if m.EncryptedRandom != nil { { size, err := m.EncryptedRandom.MarshalToSizedBuffer(dAtA[:i]) @@ -2396,10 +2377,6 @@ func (m *Header) Size() (n int) { l = m.EncryptedRandom.Size() n += 1 + l + sovTypes(uint64(l)) } - l = len(m.ImplicitHash) - if l > 0 { - n += 2 + l + sovTypes(uint64(l)) - } return n } @@ -3560,40 +3537,6 @@ func (m *Header) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 16: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ImplicitHash", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ImplicitHash = append(m.ImplicitHash[:0], dAtA[iNdEx:postIndex]...) - if m.ImplicitHash == nil { - m.ImplicitHash = []byte{} - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTypes(dAtA[iNdEx:]) diff --git a/proto/tendermint/types/types.proto b/proto/tendermint/types/types.proto index 4e1404e6bb9..e98c1e6f677 100644 --- a/proto/tendermint/types/types.proto +++ b/proto/tendermint/types/types.proto @@ -71,9 +71,6 @@ message Header { // encrypted random EncryptedRandom encrypted_random = 15; // a random number encrypted by the proposer to be used in contracts - - // scheduled_msgs_hash - bytes implicit_hash = 16; } // Data contains the set of transactions included in the block diff --git a/state/execution.go b/state/execution.go index bedbcac86fc..2f906aa360b 100644 --- a/state/execution.go +++ b/state/execution.go @@ -5,8 +5,6 @@ import ( "context" "encoding/hex" "fmt" - "time" - abci "github.com/cometbft/cometbft/abci/types" cryptoenc "github.com/cometbft/cometbft/crypto/encoding" "github.com/cometbft/cometbft/libs/fail" @@ -16,6 +14,7 @@ import ( "github.com/cometbft/cometbft/proxy" "github.com/cometbft/cometbft/types" tmenclave "github.com/scrtlabs/tm-secret-enclave" + "time" ) //----------------------------------------------------------------------------- @@ -139,16 +138,6 @@ func (blockExec *BlockExecutor) CreateProposalBlock( Time: block.Time, NextValidatorsHash: block.NextValidatorsHash, ProposerAddress: block.ProposerAddress, - ImplicitHash: block.ImplicitHash, - Version: block.Version, - DataHash: block.DataHash, - LastBlockId: block.LastBlockID.ToProto(), - LastCommitHash: block.LastCommitHash, - ValidatorsHash: block.ValidatorsHash, - ConsensusHash: block.ConsensusHash, - LastResultsHash: block.LastResultsHash, - EvidenceHash: block.EvidenceHash, - EncryptedRandom: block.EncryptedRandom.ToProto(), }, ) if err != nil { @@ -184,16 +173,6 @@ func (blockExec *BlockExecutor) ProcessProposal( Misbehavior: block.Evidence.Evidence.ToABCI(), ProposerAddress: block.ProposerAddress, NextValidatorsHash: block.NextValidatorsHash, - ImplicitHash: block.ImplicitHash, - Version: block.Version, - DataHash: block.DataHash, - LastBlockId: block.LastBlockID.ToProto(), - LastCommitHash: block.LastCommitHash, - ValidatorsHash: block.ValidatorsHash, - ConsensusHash: block.ConsensusHash, - LastResultsHash: block.LastResultsHash, - EvidenceHash: block.EvidenceHash, - EncryptedRandom: block.EncryptedRandom.ToProto(), }) if err != nil { return false, err @@ -274,15 +253,6 @@ func (blockExec *BlockExecutor) applyBlock(state State, blockID types.BlockID, b Txs: block.Txs.ToSliceOfBytes(), EncryptedRandom: block.EncryptedRandom.ToProto(), Commit: blockExec.blockStore.LoadSeenCommit(block.Height).ToProto(), - ImplicitHash: block.ImplicitHash, - Version: block.Version, - DataHash: block.DataHash, - LastBlockId: block.LastBlockID.ToProto(), - LastCommitHash: block.LastCommitHash, - ValidatorsHash: block.ValidatorsHash, - ConsensusHash: block.ConsensusHash, - LastResultsHash: block.LastResultsHash, - EvidenceHash: block.EvidenceHash, }) endTime := time.Now().UnixNano() blockExec.metrics.BlockProcessingTime.Observe(float64(endTime-startTime) / 1000000) @@ -397,15 +367,6 @@ func (blockExec *BlockExecutor) ExtendVote( Misbehavior: block.Evidence.Evidence.ToABCI(), NextValidatorsHash: block.NextValidatorsHash, ProposerAddress: block.ProposerAddress, - ImplicitHash: block.ImplicitHash, - Version: block.Version, - DataHash: block.DataHash, - LastBlockId: block.LastBlockID.ToProto(), - LastCommitHash: block.LastCommitHash, - ValidatorsHash: block.ValidatorsHash, - ConsensusHash: block.ConsensusHash, - LastResultsHash: block.LastResultsHash, - EvidenceHash: block.EvidenceHash, } resp, err := blockExec.proxyApp.ExtendVote(ctx, &req) @@ -808,16 +769,6 @@ func ExecCommitBlock( DecidedLastCommit: commitInfo, Misbehavior: block.Evidence.Evidence.ToABCI(), Txs: block.Txs.ToSliceOfBytes(), - ImplicitHash: block.ImplicitHash, - Version: block.Version, - DataHash: block.DataHash, - LastBlockId: block.LastBlockID.ToProto(), - LastCommitHash: block.LastCommitHash, - ValidatorsHash: block.ValidatorsHash, - ConsensusHash: block.ConsensusHash, - LastResultsHash: block.LastResultsHash, - EvidenceHash: block.EvidenceHash, - EncryptedRandom: block.EncryptedRandom.ToProto(), }) if err != nil { logger.Error("error in proxyAppConn.FinalizeBlock", "err", err) diff --git a/state/state.go b/state/state.go index 363501ee628..81371f48f4a 100644 --- a/state/state.go +++ b/state/state.go @@ -2,20 +2,19 @@ package state import ( "bytes" - "encoding/hex" "errors" "fmt" "os" "time" - + "encoding/hex" "github.com/cosmos/gogoproto/proto" + tmenclave "github.com/scrtlabs/tm-secret-enclave" cmtstate "github.com/cometbft/cometbft/proto/tendermint/state" cmtversion "github.com/cometbft/cometbft/proto/tendermint/version" "github.com/cometbft/cometbft/types" cmttime "github.com/cometbft/cometbft/types/time" "github.com/cometbft/cometbft/version" - tmenclave "github.com/scrtlabs/tm-secret-enclave" ) // database keys @@ -279,11 +278,6 @@ func (state State) MakeBlock( // println("Invalid random generated") panic("Failed to validate generated random") } - - implicitHash, err := tmenclave.GetImplicitHash() - if err != nil { - panic("Failed to get implicit hash") - } // ScrtLabs changes out <- // Fill rest of header with state data. @@ -292,10 +286,9 @@ func (state State) MakeBlock( timestamp, state.LastBlockID, state.Validators.Hash(), state.NextValidators.Hash(), state.ConsensusParams.Hash(), state.AppHash, state.LastResultsHash, - proposerAddress, &encryptedRandom, implicitHash, + proposerAddress, &encryptedRandom, ) - fmt.Printf("------------ HEADER HASH : %+v\n", block.Header.Hash()) return block } diff --git a/state/validation.go b/state/validation.go index b79b0d05491..3648544bee7 100644 --- a/state/validation.go +++ b/state/validation.go @@ -2,13 +2,12 @@ package state import ( "bytes" - "encoding/hex" "errors" "fmt" - + "encoding/hex" + tmenclave "github.com/scrtlabs/tm-secret-enclave" "github.com/cometbft/cometbft/crypto" "github.com/cometbft/cometbft/types" - tmenclave "github.com/scrtlabs/tm-secret-enclave" ) //----------------------------------------------------- @@ -120,14 +119,6 @@ func validateBlock(state State, block *types.Block) error { } } - expectedImplicitHash, err := tmenclave.GetImplicitHash() // hash from last block's scheduling - if err != nil { - return fmt.Errorf("failed to get implicit hash: %w", err) - } - if !bytes.Equal(block.Header.ImplicitHash, expectedImplicitHash) { - return fmt.Errorf("implicit_hash mismatch: expected %X, got %X", hex.EncodeToString(expectedImplicitHash), hex.EncodeToString(block.Header.ImplicitHash)) - } - // Validate block Time switch { case block.Height > state.InitialHeight: diff --git a/types/block.go b/types/block.go index aca900a54bf..5ded877964d 100644 --- a/types/block.go +++ b/types/block.go @@ -356,8 +356,7 @@ type Header struct { // ScrtLabs -> change in // encrypted Random Source - EncryptedRandom *EnclaveRandom `json:"encrypted_random"` - ImplicitHash cmtbytes.HexBytes `json:"implicit_hash"` + EncryptedRandom *EnclaveRandom `json:"encrypted_random"` // ScrtLabs <- change out } @@ -368,7 +367,7 @@ func (h *Header) Populate( timestamp time.Time, lastBlockID BlockID, valHash, nextValHash []byte, consensusHash, appHash, lastResultsHash []byte, - proposerAddress Address, encryptedRandom *EnclaveRandom, implicitHash []byte, + proposerAddress Address, encryptedRandom *EnclaveRandom, ) { h.Version = version h.ChainID = chainID @@ -382,7 +381,6 @@ func (h *Header) Populate( h.ProposerAddress = proposerAddress // ScrtLabs -> change in h.EncryptedRandom = encryptedRandom - h.ImplicitHash = implicitHash // ScrtLabs <- change out } @@ -435,9 +433,6 @@ func (h Header) ValidateBasic() error { if err := ValidateHash(h.NextValidatorsHash); err != nil { return fmt.Errorf("wrong NextValidatorsHash: %v", err) } - if err := ValidateHash(h.ImplicitHash); err != nil { - return fmt.Errorf("wrong ImplicitHash: %v", err) - } if err := ValidateHash(h.ConsensusHash); err != nil { return fmt.Errorf("wrong ConsensusHash: %v", err) } @@ -489,7 +484,6 @@ func (h *Header) Hash() cmtbytes.HexBytes { cdcEncode(h.LastResultsHash), cdcEncode(h.EvidenceHash), cdcEncode(h.ProposerAddress), - cdcEncode(h.ImplicitHash), }) } @@ -513,7 +507,6 @@ func (h *Header) StringIndented(indent string) string { %s Results: %v %s Evidence: %v %s Proposer: %v -%s ImplicitHash: %v %s}#%v`, indent, h.Version, indent, h.ChainID, @@ -529,7 +522,6 @@ func (h *Header) StringIndented(indent string) string { indent, h.LastResultsHash, indent, h.EvidenceHash, indent, h.ProposerAddress, - indent, h.ImplicitHash, indent, h.Hash(), ) } @@ -556,8 +548,7 @@ func (h *Header) ToProto() *cmtproto.Header { LastCommitHash: h.LastCommitHash, ProposerAddress: h.ProposerAddress, // ScrtLabs -> change in - EncryptedRandom: h.EncryptedRandom.ToProto(), - ImplicitHash: h.ImplicitHash, + EncryptedRandom: h.EncryptedRandom.ToProto(), // ScrtLabs <- change out } } @@ -600,7 +591,6 @@ func HeaderFromProto(ph *cmtproto.Header) (Header, error) { h.ProposerAddress = ph.ProposerAddress // ScrtLabs -> change in h.EncryptedRandom = encRandom - h.ImplicitHash = ph.ImplicitHash // ScrtLabs <- change out return *h, h.ValidateBasic() } From 98084c0a2440895ed5134baae71c4a5e3983e091 Mon Sep 17 00:00:00 2001 From: cboh4 Date: Mon, 17 Nov 2025 13:37:15 +0200 Subject: [PATCH 4/6] retrieve implicit txs from the tm-secret-enclave --- go.mod | 5 +++-- go.sum | 8 ++++---- state/execution.go | 4 ++++ state/state.go | 27 +++++++++++++++++++++++++-- 4 files changed, 36 insertions(+), 8 deletions(-) diff --git a/go.mod b/go.mod index b0850459c22..d11d3cd8727 100644 --- a/go.mod +++ b/go.mod @@ -34,7 +34,7 @@ require ( github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 github.com/rs/cors v1.11.1 github.com/sasha-s/go-deadlock v0.3.5 - github.com/scrtlabs/tm-secret-enclave v1.13.0 + github.com/scrtlabs/tm-secret-enclave v1.13.0-beta github.com/snikch/goodman v0.0.0-20171125024755-10e37e294daa github.com/spf13/cobra v1.9.1 github.com/spf13/viper v1.19.0 @@ -45,9 +45,10 @@ require ( golang.org/x/sync v0.11.0 gonum.org/v1/gonum v0.15.1 google.golang.org/grpc v1.70.0 - google.golang.org/protobuf v1.36.5 ) +require google.golang.org/protobuf v1.36.4 + require ( dario.cat/mergo v1.0.0 // indirect github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 // indirect diff --git a/go.sum b/go.sum index fe1fc9fda4c..16427566097 100644 --- a/go.sum +++ b/go.sum @@ -329,8 +329,8 @@ github.com/sasha-s/go-deadlock v0.3.5 h1:tNCOEEDG6tBqrNDOX35j/7hL5FcFViG6awUGROb github.com/sasha-s/go-deadlock v0.3.5/go.mod h1:bugP6EGbdGYObIlx7pUZtWqlvo8k9H6vCBBsiChJQ5U= github.com/satori/go.uuid v1.2.0 h1:0uYX9dsZ2yD7q2RtLRtPSdGDWzjeM3TbMJP9utgA0ww= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= -github.com/scrtlabs/tm-secret-enclave v1.12.2 h1:fl1rOFYB4+9orTzjAnp6r5EmIm5/6c78EERrWcgEWHA= -github.com/scrtlabs/tm-secret-enclave v1.12.2/go.mod h1:nxZQtzzAqBNBLOEXSv4cKlUnVA4vRmHOn6ujr3kxVME= +github.com/scrtlabs/tm-secret-enclave v1.13.0-beta h1:9IqEHQ/GSaRzcgqrFkxoLd/5ejOgLSezduz75VKCsZg= +github.com/scrtlabs/tm-secret-enclave v1.13.0-beta/go.mod h1:nxZQtzzAqBNBLOEXSv4cKlUnVA4vRmHOn6ujr3kxVME= github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8= github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= @@ -508,8 +508,8 @@ google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2 google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.36.5 h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM= -google.golang.org/protobuf v1.36.5/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.4 h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM= +google.golang.org/protobuf v1.36.4/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= diff --git a/state/execution.go b/state/execution.go index 2f906aa360b..d0a9dd17a86 100644 --- a/state/execution.go +++ b/state/execution.go @@ -157,6 +157,10 @@ func (blockExec *BlockExecutor) CreateProposalBlock( return nil, err } + // ScrtLabs changes -> + tmenclave.SetScheduledTxs([]byte{}) // clear scheduled txs before setting new ones + // ScrtLabs changes <- + return state.MakeBlock(height, txl, commit, evidence, proposerAddr), nil } diff --git a/state/state.go b/state/state.go index 81371f48f4a..6904a91c259 100644 --- a/state/state.go +++ b/state/state.go @@ -2,19 +2,21 @@ package state import ( "bytes" + "encoding/hex" "errors" "fmt" "os" "time" - "encoding/hex" + "github.com/cosmos/gogoproto/proto" - tmenclave "github.com/scrtlabs/tm-secret-enclave" cmtstate "github.com/cometbft/cometbft/proto/tendermint/state" + tm_type "github.com/cometbft/cometbft/proto/tendermint/types" cmtversion "github.com/cometbft/cometbft/proto/tendermint/version" "github.com/cometbft/cometbft/types" cmttime "github.com/cometbft/cometbft/types/time" "github.com/cometbft/cometbft/version" + tmenclave "github.com/scrtlabs/tm-secret-enclave" ) // database keys @@ -241,6 +243,27 @@ func (state State) MakeBlock( ) *types.Block { // Build base block with block data. + // ScrtLabs changes in -> + marshalledTxs, err := tmenclave.GetScheduledTxs() + if err != nil { + panic("Failed to get scheduled txs from tm-secret-enclave") + } + // implicitTxs = types.Txs(implicitTxs) + implicitTxs := &tm_type.Data{} + err = implicitTxs.Unmarshal(marshalledTxs) + if err != nil { + panic("Failed to unmarshal scheduled txs") + } + + scheduledTxs := make([]types.Tx, len(implicitTxs.Txs), len(implicitTxs.Txs)+len(txs)) + for i, tx := range implicitTxs.Txs { + scheduledTxs[i] = types.Tx(tx) + } + + // Append original txs after scheduled ones + txs = append(scheduledTxs, txs...) + + // ScrtLabs changes out <- block := types.MakeBlock(height, txs, lastCommit, evidence) // Set time. From 2813e6604b448d955446851d3abb2eb39de41d3c Mon Sep 17 00:00:00 2001 From: cboh4 Date: Mon, 17 Nov 2025 20:43:48 +0200 Subject: [PATCH 5/6] extend requestFinalizeBlock --- abci/types/types.pb.go | 882 ++++++++++++++++++++++-------- proto/tendermint/abci/types.proto | 9 + state/execution.go | 11 +- 3 files changed, 679 insertions(+), 223 deletions(-) diff --git a/abci/types/types.pb.go b/abci/types/types.pb.go index 620ca144664..a45fef16caf 100644 --- a/abci/types/types.pb.go +++ b/abci/types/types.pb.go @@ -8,6 +8,7 @@ import ( fmt "fmt" crypto "github.com/cometbft/cometbft/proto/tendermint/crypto" types1 "github.com/cometbft/cometbft/proto/tendermint/types" + version "github.com/cometbft/cometbft/proto/tendermint/version" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" @@ -1483,6 +1484,14 @@ type RequestFinalizeBlock struct { ProposerAddress []byte `protobuf:"bytes,8,opt,name=proposer_address,json=proposerAddress,proto3" json:"proposer_address,omitempty"` EncryptedRandom *types1.EncryptedRandom `protobuf:"bytes,9,opt,name=encrypted_random,json=encryptedRandom,proto3" json:"encrypted_random,omitempty"` Commit *types1.Commit `protobuf:"bytes,10,opt,name=commit,proto3" json:"commit,omitempty"` + Version version.Consensus `protobuf:"bytes,11,opt,name=version,proto3" json:"version"` + LastBlockId types1.BlockID `protobuf:"bytes,12,opt,name=last_block_id,json=lastBlockId,proto3" json:"last_block_id"` + DataHash []byte `protobuf:"bytes,13,opt,name=data_hash,json=dataHash,proto3" json:"data_hash,omitempty"` + LastCommitHash []byte `protobuf:"bytes,14,opt,name=last_commit_hash,json=lastCommitHash,proto3" json:"last_commit_hash,omitempty"` + ValidatorsHash []byte `protobuf:"bytes,15,opt,name=validators_hash,json=validatorsHash,proto3" json:"validators_hash,omitempty"` + ConsensusHash []byte `protobuf:"bytes,16,opt,name=consensus_hash,json=consensusHash,proto3" json:"consensus_hash,omitempty"` + LastResultsHash []byte `protobuf:"bytes,17,opt,name=last_results_hash,json=lastResultsHash,proto3" json:"last_results_hash,omitempty"` + EvidenceHash []byte `protobuf:"bytes,18,opt,name=evidence_hash,json=evidenceHash,proto3" json:"evidence_hash,omitempty"` } func (m *RequestFinalizeBlock) Reset() { *m = RequestFinalizeBlock{} } @@ -1588,6 +1597,62 @@ func (m *RequestFinalizeBlock) GetCommit() *types1.Commit { return nil } +func (m *RequestFinalizeBlock) GetVersion() version.Consensus { + if m != nil { + return m.Version + } + return version.Consensus{} +} + +func (m *RequestFinalizeBlock) GetLastBlockId() types1.BlockID { + if m != nil { + return m.LastBlockId + } + return types1.BlockID{} +} + +func (m *RequestFinalizeBlock) GetDataHash() []byte { + if m != nil { + return m.DataHash + } + return nil +} + +func (m *RequestFinalizeBlock) GetLastCommitHash() []byte { + if m != nil { + return m.LastCommitHash + } + return nil +} + +func (m *RequestFinalizeBlock) GetValidatorsHash() []byte { + if m != nil { + return m.ValidatorsHash + } + return nil +} + +func (m *RequestFinalizeBlock) GetConsensusHash() []byte { + if m != nil { + return m.ConsensusHash + } + return nil +} + +func (m *RequestFinalizeBlock) GetLastResultsHash() []byte { + if m != nil { + return m.LastResultsHash + } + return nil +} + +func (m *RequestFinalizeBlock) GetEvidenceHash() []byte { + if m != nil { + return m.EvidenceHash + } + return nil +} + type Response struct { // Types that are valid to be assigned to Value: // @@ -3680,209 +3745,216 @@ func init() { func init() { proto.RegisterFile("tendermint/abci/types.proto", fileDescriptor_252557cfdd89a31a) } var fileDescriptor_252557cfdd89a31a = []byte{ - // 3218 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0xcb, 0x73, 0x23, 0xd5, - 0xd5, 0x57, 0x4b, 0x2d, 0x59, 0x3a, 0x7a, 0xb8, 0x7d, 0xed, 0x19, 0x34, 0x62, 0xb0, 0x4d, 0x53, - 0xc0, 0x30, 0x80, 0xcd, 0xe7, 0xf9, 0x86, 0x47, 0x0d, 0x7c, 0x55, 0xb2, 0x46, 0xf3, 0xc9, 0x9e, - 0xc1, 0x36, 0x6d, 0xcd, 0x50, 0xe4, 0x41, 0xd3, 0x96, 0xae, 0xac, 0x66, 0x24, 0x75, 0xd3, 0x7d, - 0x65, 0x64, 0x56, 0xa9, 0x90, 0x54, 0xa5, 0x58, 0x51, 0x95, 0x2c, 0x58, 0x84, 0x45, 0x16, 0xd9, - 0xe4, 0x2f, 0xc8, 0x2a, 0xd9, 0x64, 0xc1, 0x22, 0x0b, 0x96, 0x59, 0x91, 0x14, 0xec, 0xd8, 0x66, - 0x91, 0x6d, 0xea, 0x3e, 0xfa, 0x25, 0xa9, 0x2d, 0x69, 0x20, 0x8b, 0x54, 0xb2, 0xeb, 0x7b, 0xfa, - 0x9c, 0x73, 0xfb, 0x9e, 0x7b, 0xee, 0x79, 0xfc, 0xfa, 0xc2, 0xe3, 0x04, 0x0f, 0xda, 0xd8, 0xe9, - 0x9b, 0x03, 0xb2, 0x6d, 0x9c, 0xb4, 0xcc, 0x6d, 0x72, 0x6e, 0x63, 0x77, 0xcb, 0x76, 0x2c, 0x62, - 0xa1, 0xe5, 0xe0, 0xe5, 0x16, 0x7d, 0x59, 0x79, 0x22, 0xc4, 0xdd, 0x72, 0xce, 0x6d, 0x62, 0x6d, - 0xdb, 0x8e, 0x65, 0x75, 0x38, 0x7f, 0xe5, 0xea, 0xe4, 0xeb, 0x87, 0xf8, 0x5c, 0x68, 0x8b, 0x08, - 0xb3, 0x59, 0xb6, 0x6d, 0xc3, 0x31, 0xfa, 0xee, 0x14, 0x61, 0xfe, 0x3a, 0xf4, 0x29, 0x95, 0xcd, - 0x89, 0xb7, 0x67, 0x46, 0xcf, 0x6c, 0x1b, 0xc4, 0x72, 0x04, 0xc7, 0xc6, 0xa9, 0x65, 0x9d, 0xf6, - 0xf0, 0x36, 0x1b, 0x9d, 0x0c, 0x3b, 0xdb, 0xc4, 0xec, 0x63, 0x97, 0x18, 0x7d, 0x5b, 0x30, 0xac, - 0x9d, 0x5a, 0xa7, 0x16, 0x7b, 0xdc, 0xa6, 0x4f, 0x9c, 0xaa, 0xfe, 0x31, 0x07, 0x4b, 0x1a, 0xfe, - 0x60, 0x88, 0x5d, 0x82, 0x76, 0x40, 0xc6, 0xad, 0xae, 0x55, 0x96, 0x36, 0xa5, 0x6b, 0xf9, 0x9d, - 0xab, 0x5b, 0x63, 0xcb, 0xdf, 0x12, 0x7c, 0xf5, 0x56, 0xd7, 0x6a, 0x24, 0x34, 0xc6, 0x8b, 0x6e, - 0x42, 0xba, 0xd3, 0x1b, 0xba, 0xdd, 0x72, 0x92, 0x09, 0x3d, 0x11, 0x27, 0x74, 0x87, 0x32, 0x35, - 0x12, 0x1a, 0xe7, 0xa6, 0x53, 0x99, 0x83, 0x8e, 0x55, 0x4e, 0x5d, 0x3c, 0xd5, 0xde, 0xa0, 0xc3, - 0xa6, 0xa2, 0xbc, 0x68, 0x17, 0xc0, 0x1c, 0x98, 0x44, 0x6f, 0x75, 0x0d, 0x73, 0x50, 0x4e, 0x33, - 0xc9, 0x27, 0xe3, 0x25, 0x4d, 0x52, 0xa3, 0x8c, 0x8d, 0x84, 0x96, 0x33, 0xbd, 0x01, 0xfd, 0xdc, - 0x0f, 0x86, 0xd8, 0x39, 0x2f, 0x67, 0x2e, 0xfe, 0xdc, 0xb7, 0x28, 0x13, 0xfd, 0x5c, 0xc6, 0x8d, - 0x5e, 0x87, 0x6c, 0xab, 0x8b, 0x5b, 0x0f, 0x75, 0x32, 0x2a, 0x67, 0x99, 0xe4, 0x46, 0x9c, 0x64, - 0x8d, 0xf2, 0x35, 0x47, 0x8d, 0x84, 0xb6, 0xd4, 0xe2, 0x8f, 0xe8, 0x55, 0xc8, 0xb4, 0xac, 0x7e, - 0xdf, 0x24, 0xe5, 0x3c, 0x93, 0x5d, 0x8f, 0x95, 0x65, 0x5c, 0x8d, 0x84, 0x26, 0xf8, 0xd1, 0x01, - 0x94, 0x7a, 0xa6, 0x4b, 0x74, 0x77, 0x60, 0xd8, 0x6e, 0xd7, 0x22, 0x6e, 0xb9, 0xc0, 0x34, 0x3c, - 0x1d, 0xa7, 0xe1, 0x9e, 0xe9, 0x92, 0x63, 0x8f, 0xb9, 0x91, 0xd0, 0x8a, 0xbd, 0x30, 0x81, 0xea, - 0xb3, 0x3a, 0x1d, 0xec, 0xf8, 0x0a, 0xcb, 0xc5, 0x8b, 0xf5, 0x1d, 0x52, 0x6e, 0x4f, 0x9e, 0xea, - 0xb3, 0xc2, 0x04, 0xf4, 0x43, 0x58, 0xed, 0x59, 0x46, 0xdb, 0x57, 0xa7, 0xb7, 0xba, 0xc3, 0xc1, - 0xc3, 0x72, 0x89, 0x29, 0x7d, 0x2e, 0xf6, 0x23, 0x2d, 0xa3, 0xed, 0xa9, 0xa8, 0x51, 0x81, 0x46, - 0x42, 0x5b, 0xe9, 0x8d, 0x13, 0xd1, 0xbb, 0xb0, 0x66, 0xd8, 0x76, 0xef, 0x7c, 0x5c, 0xfb, 0x32, - 0xd3, 0x7e, 0x3d, 0x4e, 0x7b, 0x95, 0xca, 0x8c, 0xab, 0x47, 0xc6, 0x04, 0x15, 0x35, 0x41, 0xb1, - 0x1d, 0x6c, 0x1b, 0x0e, 0xd6, 0x6d, 0xc7, 0xb2, 0x2d, 0xd7, 0xe8, 0x95, 0x15, 0xa6, 0xfb, 0xd9, - 0x38, 0xdd, 0x47, 0x9c, 0xff, 0x48, 0xb0, 0x37, 0x12, 0xda, 0xb2, 0x1d, 0x25, 0x71, 0xad, 0x56, - 0x0b, 0xbb, 0x6e, 0xa0, 0x75, 0x65, 0x96, 0x56, 0xc6, 0x1f, 0xd5, 0x1a, 0x21, 0xa1, 0x3a, 0xe4, - 0xf1, 0x88, 0x8a, 0xeb, 0x67, 0x16, 0xc1, 0x65, 0xc4, 0x14, 0xaa, 0xb1, 0x27, 0x94, 0xb1, 0x3e, - 0xb0, 0x08, 0x6e, 0x24, 0x34, 0xc0, 0xfe, 0x08, 0x19, 0x70, 0xe9, 0x0c, 0x3b, 0x66, 0xe7, 0x9c, - 0xa9, 0xd1, 0xd9, 0x1b, 0xd7, 0xb4, 0x06, 0xe5, 0x55, 0xa6, 0xf0, 0xf9, 0x38, 0x85, 0x0f, 0x98, - 0x10, 0x55, 0x51, 0xf7, 0x44, 0x1a, 0x09, 0x6d, 0xf5, 0x6c, 0x92, 0x4c, 0x5d, 0xac, 0x63, 0x0e, - 0x8c, 0x9e, 0xf9, 0x11, 0xd6, 0x4f, 0x7a, 0x56, 0xeb, 0x61, 0x79, 0xed, 0x62, 0x17, 0xbb, 0x23, - 0xb8, 0x77, 0x29, 0x33, 0x75, 0xb1, 0x4e, 0x98, 0xb0, 0xbb, 0x04, 0xe9, 0x33, 0xa3, 0x37, 0xc4, - 0xfb, 0x72, 0x56, 0x56, 0xd2, 0xfb, 0x72, 0x76, 0x49, 0xc9, 0xee, 0xcb, 0xd9, 0x9c, 0x02, 0xfb, - 0x72, 0x16, 0x94, 0xbc, 0xfa, 0x2c, 0xe4, 0x43, 0x81, 0x09, 0x95, 0x61, 0xa9, 0x8f, 0x5d, 0xd7, - 0x38, 0xc5, 0x2c, 0x8e, 0xe5, 0x34, 0x6f, 0xa8, 0x96, 0xa0, 0x10, 0x0e, 0x46, 0xea, 0xa7, 0x92, - 0x2f, 0x49, 0xe3, 0x0c, 0x95, 0x3c, 0xc3, 0x0e, 0x33, 0x87, 0x90, 0x14, 0x43, 0xf4, 0x14, 0x14, - 0xd9, 0x52, 0x74, 0xef, 0x3d, 0x0d, 0x76, 0xb2, 0x56, 0x60, 0xc4, 0x07, 0x82, 0x69, 0x03, 0xf2, - 0xf6, 0x8e, 0xed, 0xb3, 0xa4, 0x18, 0x0b, 0xd8, 0x3b, 0xb6, 0xc7, 0xf0, 0x24, 0x14, 0xe8, 0xba, - 0x7d, 0x0e, 0x99, 0x4d, 0x92, 0xa7, 0x34, 0xc1, 0xa2, 0xfe, 0x39, 0x09, 0xca, 0x78, 0x00, 0x43, - 0xaf, 0x82, 0x4c, 0x63, 0xb9, 0x08, 0xcb, 0x95, 0x2d, 0x1e, 0xe8, 0xb7, 0xbc, 0x40, 0xbf, 0xd5, - 0xf4, 0x02, 0xfd, 0x6e, 0xf6, 0x8b, 0xaf, 0x36, 0x12, 0x9f, 0xfe, 0x75, 0x43, 0xd2, 0x98, 0x04, - 0xba, 0x42, 0xc3, 0x96, 0x61, 0x0e, 0x74, 0xb3, 0xcd, 0x3e, 0x39, 0x47, 0x63, 0x92, 0x61, 0x0e, - 0xf6, 0xda, 0xe8, 0x1e, 0x28, 0x2d, 0x6b, 0xe0, 0xe2, 0x81, 0x3b, 0x74, 0x75, 0x9e, 0x88, 0x44, - 0x30, 0x8e, 0x84, 0x54, 0x9e, 0x83, 0x6a, 0x1e, 0xe7, 0x11, 0x63, 0xd4, 0x96, 0x5b, 0x51, 0x02, - 0xba, 0x03, 0xe0, 0xe7, 0x23, 0xb7, 0x2c, 0x6f, 0xa6, 0xae, 0xe5, 0x77, 0x36, 0x27, 0x36, 0xfc, - 0x81, 0xc7, 0x72, 0xdf, 0x6e, 0x1b, 0x04, 0xef, 0xca, 0xf4, 0x73, 0xb5, 0x90, 0x24, 0x7a, 0x06, - 0x96, 0x0d, 0xdb, 0xd6, 0x5d, 0x62, 0x10, 0xac, 0x9f, 0x9c, 0x13, 0xec, 0xb2, 0x38, 0x5f, 0xd0, - 0x8a, 0x86, 0x6d, 0x1f, 0x53, 0xea, 0x2e, 0x25, 0xa2, 0xa7, 0xa1, 0x44, 0x63, 0xba, 0x69, 0xf4, - 0xf4, 0x2e, 0x36, 0x4f, 0xbb, 0x84, 0xc5, 0xf3, 0x94, 0x56, 0x14, 0xd4, 0x06, 0x23, 0xaa, 0x6d, - 0x7f, 0xc7, 0x59, 0x3c, 0x47, 0x08, 0xe4, 0xb6, 0x41, 0x0c, 0x66, 0xc9, 0x82, 0xc6, 0x9e, 0x29, - 0xcd, 0x36, 0x48, 0x57, 0xd8, 0x87, 0x3d, 0xa3, 0xcb, 0x90, 0x11, 0x6a, 0x53, 0x4c, 0xad, 0x18, - 0xa1, 0x35, 0x48, 0xdb, 0x8e, 0x75, 0x86, 0xd9, 0xd6, 0x65, 0x35, 0x3e, 0x50, 0x35, 0x28, 0x45, - 0x63, 0x3f, 0x2a, 0x41, 0x92, 0x8c, 0xc4, 0x2c, 0x49, 0x32, 0x42, 0x2f, 0x81, 0x4c, 0x0d, 0xc9, - 0xe6, 0x28, 0x4d, 0xc9, 0x76, 0x42, 0xae, 0x79, 0x6e, 0x63, 0x8d, 0x71, 0xaa, 0xcb, 0x50, 0x8c, - 0xe4, 0x04, 0xf5, 0x32, 0xac, 0x4d, 0x0b, 0xf1, 0x6a, 0xd7, 0xa7, 0x47, 0x42, 0x35, 0xba, 0x09, - 0x59, 0x3f, 0xc6, 0x73, 0xc7, 0xb9, 0x32, 0x31, 0xad, 0xc7, 0xac, 0xf9, 0xac, 0xd4, 0x63, 0xe8, - 0x06, 0x74, 0x0d, 0x91, 0xd1, 0x0b, 0xda, 0x92, 0x61, 0xdb, 0x0d, 0xc3, 0xed, 0xaa, 0xef, 0x41, - 0x39, 0x2e, 0x7e, 0x87, 0x0c, 0x26, 0x31, 0xb7, 0xf7, 0x0c, 0x76, 0x19, 0x32, 0x1d, 0xcb, 0xe9, - 0x1b, 0x84, 0x29, 0x2b, 0x6a, 0x62, 0x44, 0x0d, 0xc9, 0x63, 0x79, 0x8a, 0x91, 0xf9, 0x40, 0xd5, - 0xe1, 0x4a, 0x6c, 0x0c, 0xa7, 0x22, 0xe6, 0xa0, 0x8d, 0xb9, 0x59, 0x8b, 0x1a, 0x1f, 0x04, 0x8a, - 0xf8, 0xc7, 0xf2, 0x01, 0x9d, 0xd6, 0x65, 0x6b, 0x65, 0xfa, 0x73, 0x9a, 0x18, 0xa9, 0x9f, 0xa5, - 0xe0, 0xf2, 0xf4, 0x48, 0x8e, 0x36, 0xa1, 0xd0, 0x37, 0x46, 0x3a, 0x19, 0x09, 0xb7, 0x93, 0xd8, - 0xc6, 0x43, 0xdf, 0x18, 0x35, 0x47, 0xdc, 0xe7, 0x14, 0x48, 0x91, 0x91, 0x5b, 0x4e, 0x6e, 0xa6, - 0xae, 0x15, 0x34, 0xfa, 0x88, 0xee, 0xc3, 0x4a, 0xcf, 0x6a, 0x19, 0x3d, 0xbd, 0x67, 0xb8, 0x44, - 0x17, 0x29, 0x9e, 0x1f, 0xa2, 0xa7, 0x26, 0x8c, 0xcd, 0x63, 0x32, 0x6e, 0xf3, 0xfd, 0xa4, 0x01, - 0x47, 0xf8, 0xff, 0x32, 0xd3, 0x71, 0xcf, 0xf0, 0xb6, 0x1a, 0xdd, 0x86, 0x7c, 0xdf, 0x74, 0x4f, - 0x70, 0xd7, 0x38, 0x33, 0x2d, 0x47, 0x9c, 0xa6, 0x49, 0xa7, 0x79, 0x33, 0xe0, 0x11, 0x9a, 0xc2, - 0x62, 0xa1, 0x2d, 0x49, 0x47, 0x7c, 0xd8, 0x8b, 0x26, 0x99, 0x85, 0xa3, 0xc9, 0x4b, 0xb0, 0x36, - 0xc0, 0x23, 0xa2, 0x07, 0xe7, 0x95, 0xfb, 0xc9, 0x12, 0x33, 0x3d, 0xa2, 0xef, 0xfc, 0x13, 0xee, - 0x52, 0x97, 0x41, 0xcf, 0xb1, 0x5c, 0x68, 0x5b, 0x2e, 0x76, 0x74, 0xa3, 0xdd, 0x76, 0xb0, 0xeb, - 0xb2, 0xf2, 0xa9, 0xc0, 0x12, 0x1c, 0xa3, 0x57, 0x39, 0x59, 0xfd, 0x45, 0x78, 0x6b, 0xa2, 0xb9, - 0x4f, 0x18, 0x5e, 0x0a, 0x0c, 0x7f, 0x0c, 0x6b, 0x42, 0xbe, 0x1d, 0xb1, 0x3d, 0xaf, 0x41, 0x1f, - 0x9f, 0x3c, 0x5f, 0xe3, 0x36, 0x47, 0x9e, 0x78, 0xbc, 0xd9, 0x53, 0x8f, 0x66, 0x76, 0x04, 0x32, - 0x33, 0x8a, 0xcc, 0x43, 0x0c, 0x7d, 0xfe, 0x77, 0xdb, 0x8a, 0x8f, 0x53, 0xb0, 0x32, 0x51, 0x48, - 0xf8, 0x0b, 0x93, 0xa6, 0x2e, 0x2c, 0x39, 0x75, 0x61, 0xa9, 0x85, 0x17, 0x26, 0xf6, 0x5a, 0x9e, - 0xbd, 0xd7, 0xe9, 0xef, 0x71, 0xaf, 0x33, 0x8f, 0xb6, 0xd7, 0xff, 0xd2, 0x5d, 0xf8, 0xb5, 0x04, - 0x95, 0xf8, 0xea, 0x6b, 0xea, 0x76, 0x3c, 0x0f, 0x2b, 0xfe, 0xa7, 0xf8, 0xea, 0x79, 0x60, 0x54, - 0xfc, 0x17, 0x42, 0x7f, 0x6c, 0x8e, 0x7b, 0x1a, 0x4a, 0x63, 0xb5, 0x21, 0x77, 0xe5, 0xe2, 0x59, - 0x78, 0x7e, 0xf5, 0x67, 0xb2, 0x9f, 0x78, 0x22, 0x05, 0xdc, 0x94, 0xd3, 0xfa, 0x16, 0xac, 0xb6, - 0x71, 0xcb, 0x6c, 0x3f, 0xea, 0x61, 0x5d, 0x11, 0xd2, 0xff, 0x3d, 0xab, 0x13, 0x5e, 0x42, 0xcb, - 0x38, 0x3c, 0x60, 0x58, 0x03, 0x6e, 0xeb, 0x8e, 0x31, 0x68, 0x5b, 0xfd, 0x72, 0x2e, 0xae, 0x8c, - 0xab, 0x7b, 0x9c, 0x1a, 0x63, 0xd4, 0x96, 0x71, 0x94, 0x80, 0x5e, 0xf2, 0x1b, 0x55, 0x60, 0x3a, - 0xca, 0xd3, 0x4a, 0x41, 0xfa, 0xde, 0x6b, 0x50, 0xd5, 0x5f, 0x01, 0x64, 0x35, 0xec, 0xda, 0xb4, - 0x1e, 0x44, 0xbb, 0x90, 0xc3, 0xa3, 0x16, 0xb6, 0x89, 0x57, 0x42, 0x4f, 0x6f, 0x51, 0x38, 0x77, - 0xdd, 0xe3, 0xa4, 0x0d, 0xba, 0x2f, 0x86, 0x6e, 0x08, 0x0c, 0x22, 0x1e, 0x4e, 0x10, 0xe2, 0x61, - 0x10, 0xe2, 0x65, 0x0f, 0x84, 0x48, 0xc5, 0xf6, 0xd7, 0x5c, 0x6a, 0x0c, 0x85, 0xb8, 0x21, 0x50, - 0x08, 0x79, 0xc6, 0x64, 0x11, 0x18, 0xa2, 0x16, 0x81, 0x21, 0x32, 0x33, 0x96, 0x19, 0x83, 0x43, - 0xbc, 0xec, 0xe1, 0x10, 0x4b, 0x33, 0xbe, 0x78, 0x0c, 0x88, 0x78, 0x23, 0x04, 0x44, 0xf0, 0x7d, - 0xde, 0x8c, 0x15, 0x9d, 0x82, 0x44, 0xbc, 0xe6, 0x6f, 0x70, 0x21, 0x16, 0xc5, 0x10, 0xc2, 0xe3, - 0x50, 0xc4, 0xe1, 0x04, 0x14, 0xc1, 0xa1, 0x83, 0x67, 0x62, 0x55, 0xcc, 0xc0, 0x22, 0x0e, 0x27, - 0xb0, 0x88, 0xd2, 0x0c, 0x85, 0x33, 0xc0, 0x88, 0x1f, 0x4d, 0x07, 0x23, 0xe2, 0xe1, 0x02, 0xf1, - 0x99, 0xf3, 0xa1, 0x11, 0x7a, 0x0c, 0x1a, 0xa1, 0xc4, 0x76, 0xce, 0x5c, 0xfd, 0xdc, 0x70, 0xc4, - 0xfd, 0x29, 0x70, 0x04, 0x07, 0x0e, 0xae, 0xc5, 0x2a, 0x9f, 0x03, 0x8f, 0xb8, 0x3f, 0x05, 0x8f, - 0x40, 0x33, 0xd5, 0xce, 0x04, 0x24, 0xee, 0x44, 0x01, 0x89, 0xd5, 0x98, 0xaa, 0x37, 0x38, 0xed, - 0x31, 0x88, 0xc4, 0x49, 0x1c, 0x22, 0xc1, 0x51, 0x83, 0x17, 0x62, 0x35, 0x2e, 0x00, 0x49, 0x1c, - 0x4e, 0x40, 0x12, 0x97, 0x66, 0x78, 0xda, 0xfc, 0x98, 0x44, 0x5a, 0xc9, 0xec, 0xcb, 0xd9, 0xac, - 0x92, 0xe3, 0x68, 0xc4, 0xbe, 0x9c, 0xcd, 0x2b, 0x05, 0xf5, 0x39, 0x5a, 0x41, 0x8d, 0xc5, 0x39, - 0xda, 0xab, 0x60, 0xc7, 0xb1, 0x1c, 0x81, 0x2e, 0xf0, 0x81, 0x7a, 0x8d, 0xf6, 0xa8, 0x41, 0x4c, - 0xbb, 0x00, 0xbf, 0x60, 0x3d, 0x61, 0x28, 0x8e, 0xa9, 0xbf, 0x97, 0x02, 0x59, 0x86, 0x60, 0x84, - 0xfb, 0xdb, 0x9c, 0xe8, 0x6f, 0x43, 0xa8, 0x46, 0x32, 0x8a, 0x6a, 0x6c, 0x40, 0x9e, 0xf6, 0x7a, - 0x63, 0x80, 0x85, 0x61, 0xfb, 0x80, 0xc5, 0x75, 0x58, 0x61, 0x09, 0x9b, 0x63, 0x1f, 0x22, 0x2d, - 0xca, 0x2c, 0x2d, 0x2e, 0xd3, 0x17, 0xdc, 0x3a, 0x3c, 0x3f, 0xbe, 0x08, 0xab, 0x21, 0x5e, 0xbf, - 0x87, 0xe4, 0xdd, 0xbb, 0xe2, 0x73, 0x57, 0x45, 0x33, 0xf9, 0x27, 0x29, 0xb0, 0x50, 0x80, 0x74, - 0x4c, 0x03, 0x25, 0xa4, 0xef, 0x09, 0x94, 0x48, 0x3e, 0x32, 0x28, 0x11, 0xee, 0x89, 0x53, 0xd1, - 0x9e, 0xf8, 0x1f, 0x52, 0xb0, 0x27, 0x3e, 0xc4, 0xd0, 0xb2, 0xda, 0x58, 0x74, 0xa9, 0xec, 0x99, - 0x96, 0x44, 0x3d, 0xeb, 0x54, 0xf4, 0xa2, 0xf4, 0x91, 0x72, 0xf9, 0x89, 0x27, 0x27, 0xf2, 0x8a, - 0xdf, 0xe0, 0xf2, 0xc2, 0x43, 0x34, 0xb8, 0x0a, 0xa4, 0x1e, 0x62, 0x0e, 0x57, 0x17, 0x34, 0xfa, - 0x48, 0xf9, 0x98, 0xf3, 0x89, 0x02, 0x82, 0x0f, 0xd0, 0xab, 0x90, 0x63, 0xbf, 0x22, 0x74, 0xcb, - 0x76, 0x05, 0x44, 0x1d, 0x29, 0xad, 0xf8, 0xff, 0x88, 0xad, 0x23, 0xca, 0x73, 0x68, 0xbb, 0x5a, - 0xd6, 0x16, 0x4f, 0xa1, 0x8a, 0x27, 0x17, 0xa9, 0x78, 0xae, 0x42, 0x8e, 0x7e, 0xbd, 0x6b, 0x1b, - 0x2d, 0xcc, 0xea, 0x81, 0x9c, 0x16, 0x10, 0xd4, 0xdf, 0x25, 0x61, 0x79, 0x2c, 0xd1, 0x4c, 0x5d, - 0xbb, 0xe7, 0x92, 0xc9, 0x10, 0xe4, 0x32, 0x9f, 0x3d, 0xd6, 0x01, 0x4e, 0x0d, 0x57, 0xff, 0xd0, - 0x18, 0x10, 0xdc, 0x16, 0x46, 0x09, 0x51, 0x50, 0x05, 0xb2, 0x74, 0x34, 0x74, 0x71, 0x5b, 0xa0, - 0x3f, 0xfe, 0x18, 0x35, 0x20, 0x83, 0xcf, 0xf0, 0x80, 0xb8, 0xe5, 0x25, 0xb6, 0xed, 0x97, 0x27, - 0xdb, 0x71, 0xfa, 0x7a, 0xb7, 0x4c, 0x37, 0xfb, 0xdb, 0xaf, 0x36, 0x14, 0xce, 0xfd, 0x82, 0xd5, - 0x37, 0x09, 0xee, 0xdb, 0xe4, 0x5c, 0x13, 0xf2, 0x51, 0x2b, 0x64, 0xc7, 0xac, 0xc0, 0x70, 0xc8, - 0x82, 0x07, 0x2f, 0x50, 0x9b, 0x9a, 0x96, 0x63, 0x92, 0x73, 0xad, 0xd8, 0xc7, 0x7d, 0xdb, 0xb2, - 0x7a, 0x3a, 0x3f, 0xe3, 0x55, 0x28, 0x45, 0xf3, 0x2a, 0x7a, 0x0a, 0x8a, 0x0e, 0x26, 0x86, 0x39, - 0xd0, 0x23, 0x45, 0x78, 0x81, 0x13, 0xf9, 0x99, 0xda, 0x97, 0xb3, 0x92, 0x92, 0xdc, 0x97, 0xb3, - 0x49, 0x25, 0xa5, 0x1e, 0xc1, 0xa5, 0xa9, 0x79, 0x15, 0xbd, 0x02, 0xb9, 0x20, 0x25, 0x4b, 0x6c, - 0xb5, 0x17, 0x20, 0x3d, 0x01, 0xaf, 0xfa, 0x07, 0x29, 0x50, 0x19, 0xc5, 0x8e, 0xea, 0x90, 0x71, - 0xb0, 0x3b, 0xec, 0x71, 0x34, 0xa7, 0xb4, 0xf3, 0xe2, 0x7c, 0x19, 0x99, 0x52, 0x87, 0x3d, 0xa2, - 0x09, 0x61, 0xf5, 0x5d, 0xc8, 0x70, 0x0a, 0xca, 0xc3, 0xd2, 0xfd, 0x83, 0xbb, 0x07, 0x87, 0x6f, - 0x1f, 0x28, 0x09, 0x04, 0x90, 0xa9, 0xd6, 0x6a, 0xf5, 0xa3, 0xa6, 0x22, 0xa1, 0x1c, 0xa4, 0xab, - 0xbb, 0x87, 0x5a, 0x53, 0x49, 0x52, 0xb2, 0x56, 0xdf, 0xaf, 0xd7, 0x9a, 0x4a, 0x0a, 0xad, 0x40, - 0x91, 0x3f, 0xeb, 0x77, 0x0e, 0xb5, 0x37, 0xab, 0x4d, 0x45, 0x0e, 0x91, 0x8e, 0xeb, 0x07, 0xb7, - 0xeb, 0x9a, 0x92, 0x56, 0xff, 0x07, 0xae, 0xc4, 0xe6, 0xf0, 0x00, 0x18, 0x92, 0x42, 0xc0, 0x90, - 0xfa, 0x59, 0x92, 0x36, 0x55, 0x71, 0x89, 0x19, 0xed, 0x8f, 0x2d, 0x7c, 0x67, 0x81, 0xac, 0x3e, - 0xb6, 0x7a, 0xda, 0x47, 0x39, 0xb8, 0x83, 0x49, 0xab, 0xcb, 0x0b, 0x05, 0x1e, 0x81, 0x8a, 0x5a, - 0x51, 0x50, 0x99, 0x90, 0xcb, 0xd9, 0xde, 0xc7, 0x2d, 0xa2, 0x73, 0x27, 0x72, 0x59, 0x33, 0x93, - 0xa3, 0x6c, 0x94, 0x7a, 0xcc, 0x89, 0xea, 0x7b, 0x0b, 0xd9, 0x32, 0x07, 0x69, 0xad, 0xde, 0xd4, - 0xde, 0x51, 0x52, 0x08, 0x41, 0x89, 0x3d, 0xea, 0xc7, 0x07, 0xd5, 0xa3, 0xe3, 0xc6, 0x21, 0xb5, - 0xe5, 0x2a, 0x2c, 0x7b, 0xb6, 0xf4, 0x88, 0x69, 0xf5, 0x79, 0x78, 0x2c, 0xa6, 0xaa, 0x98, 0x6c, - 0xe9, 0xd4, 0xdf, 0x48, 0x61, 0xee, 0x68, 0x65, 0x70, 0x08, 0x19, 0x97, 0x18, 0x64, 0xe8, 0x0a, - 0x23, 0xbe, 0x32, 0x6f, 0x99, 0xb1, 0xe5, 0x3d, 0x1c, 0x33, 0x71, 0x4d, 0xa8, 0x51, 0x6f, 0x42, - 0x29, 0xfa, 0x26, 0xde, 0x06, 0x81, 0x13, 0x25, 0xd5, 0x5b, 0x80, 0x26, 0xab, 0x8f, 0x29, 0xed, - 0xad, 0x34, 0xad, 0xbd, 0xfd, 0xad, 0x04, 0x8f, 0x5f, 0x50, 0x69, 0xa0, 0xb7, 0xc6, 0x16, 0xf9, - 0xda, 0x22, 0x75, 0xca, 0x16, 0xa7, 0x8d, 0x2d, 0xf3, 0x06, 0x14, 0xc2, 0xf4, 0xf9, 0x16, 0xf9, - 0x6d, 0x32, 0x38, 0xc4, 0xd1, 0x3e, 0x3c, 0x08, 0x81, 0xd2, 0x77, 0x0c, 0x81, 0xaf, 0x03, 0x90, - 0x91, 0xce, 0xdd, 0xda, 0xcb, 0xa3, 0x4f, 0x4c, 0xc1, 0x37, 0x71, 0xab, 0x39, 0x12, 0x87, 0x20, - 0x47, 0xc4, 0x93, 0x8b, 0x8e, 0xc3, 0xa0, 0xc4, 0x90, 0xe5, 0x58, 0x57, 0x34, 0xec, 0xf3, 0x26, - 0xe3, 0x00, 0xbc, 0xe0, 0x64, 0x17, 0xbd, 0x03, 0x8f, 0x8d, 0x15, 0x0a, 0xbe, 0x6a, 0x79, 0xde, - 0x7a, 0xe1, 0x52, 0xb4, 0x5e, 0xf0, 0x54, 0x87, 0xb3, 0x7d, 0x3a, 0x9a, 0xed, 0xdf, 0x01, 0x08, - 0xc0, 0x09, 0x1a, 0x61, 0x1c, 0x6b, 0x38, 0x68, 0x33, 0x0f, 0x48, 0x6b, 0x7c, 0x80, 0x6e, 0x42, - 0x9a, 0x7a, 0x92, 0x67, 0xa7, 0xc9, 0x50, 0x4c, 0x3d, 0x21, 0x04, 0x6e, 0x70, 0x6e, 0xd5, 0x04, - 0x34, 0x09, 0x10, 0xc7, 0x4c, 0xf1, 0x46, 0x74, 0x8a, 0x27, 0x63, 0xa1, 0xe6, 0xe9, 0x53, 0x7d, - 0x04, 0x69, 0xb6, 0xf3, 0x34, 0xe9, 0xb2, 0xbf, 0x12, 0xa2, 0x5a, 0xa4, 0xcf, 0xe8, 0xc7, 0x00, - 0x06, 0x21, 0x8e, 0x79, 0x32, 0x0c, 0x26, 0xd8, 0x98, 0xee, 0x39, 0x55, 0x8f, 0x6f, 0xf7, 0xaa, - 0x70, 0xa1, 0xb5, 0x40, 0x34, 0xe4, 0x46, 0x21, 0x85, 0xea, 0x01, 0x94, 0xa2, 0xb2, 0x5e, 0x7d, - 0xc3, 0xbf, 0x21, 0x5a, 0xdf, 0xf0, 0x72, 0x55, 0xd4, 0x37, 0x7e, 0x75, 0x94, 0xe2, 0xbf, 0x5e, - 0xd8, 0x40, 0xfd, 0x49, 0x12, 0x0a, 0x61, 0xc7, 0xfb, 0xcf, 0x2b, 0x41, 0xd4, 0x9f, 0x4b, 0x90, - 0xf5, 0x97, 0x1f, 0xfd, 0x0f, 0x13, 0xf9, 0x71, 0xc5, 0xad, 0x97, 0x0c, 0xff, 0x3c, 0xe1, 0xbf, - 0xa9, 0x52, 0xfe, 0x6f, 0xaa, 0x5b, 0x7e, 0xfa, 0x8b, 0x03, 0x44, 0xc2, 0xb6, 0x16, 0x5e, 0xe5, - 0x65, 0xfb, 0x5b, 0x90, 0xf3, 0x4f, 0x2f, 0x6d, 0x3a, 0x3c, 0xe0, 0x4a, 0x12, 0x67, 0x48, 0x00, - 0x56, 0x6b, 0x90, 0xb6, 0xad, 0x0f, 0xc5, 0x9f, 0x99, 0x94, 0xc6, 0x07, 0x6a, 0x1b, 0x96, 0xc7, - 0x8e, 0x3e, 0xba, 0x05, 0x4b, 0xf6, 0xf0, 0x44, 0xf7, 0x9c, 0x63, 0x0c, 0xde, 0xf3, 0xca, 0xd9, - 0xe1, 0x49, 0xcf, 0x6c, 0xdd, 0xc5, 0xe7, 0xde, 0xc7, 0xd8, 0xc3, 0x93, 0xbb, 0xdc, 0x87, 0xf8, - 0x2c, 0xc9, 0xf0, 0x2c, 0xbf, 0x94, 0x20, 0xeb, 0x9d, 0x09, 0xf4, 0x7f, 0x90, 0xf3, 0xc3, 0x8a, - 0xff, 0x6b, 0x35, 0x36, 0x1e, 0x09, 0xfd, 0x81, 0x08, 0xaa, 0x7a, 0xff, 0x84, 0xcd, 0xb6, 0xde, - 0xe9, 0x19, 0xdc, 0x97, 0x4a, 0x51, 0x9b, 0xf1, 0xc0, 0xc3, 0xe2, 0xf1, 0xde, 0xed, 0x3b, 0x3d, - 0xe3, 0x54, 0xcb, 0x33, 0x99, 0xbd, 0x36, 0x1d, 0x88, 0xca, 0xee, 0xef, 0x12, 0x28, 0xe3, 0x27, - 0xf6, 0x3b, 0x7f, 0xdd, 0x64, 0x9a, 0x4b, 0x4d, 0x49, 0x73, 0x68, 0x1b, 0x56, 0x7d, 0x0e, 0xdd, - 0x35, 0x4f, 0x07, 0x06, 0x19, 0x3a, 0x58, 0x00, 0xa2, 0xc8, 0x7f, 0x75, 0xec, 0xbd, 0x99, 0x5c, - 0x75, 0xfa, 0x11, 0x57, 0xfd, 0x71, 0x12, 0xf2, 0x21, 0x78, 0x16, 0xfd, 0x6f, 0x28, 0x18, 0x95, - 0xa6, 0x64, 0x86, 0x10, 0x6f, 0xf0, 0x9b, 0x34, 0x6a, 0xa6, 0xe4, 0xe2, 0x66, 0x8a, 0x03, 0xc1, - 0x3d, 0xb4, 0x57, 0x5e, 0x18, 0xed, 0x7d, 0x01, 0x10, 0xb1, 0x88, 0xd1, 0xd3, 0xcf, 0x2c, 0x62, - 0x0e, 0x4e, 0x75, 0xee, 0x86, 0x3c, 0x74, 0x28, 0xec, 0xcd, 0x03, 0xf6, 0xe2, 0x88, 0x79, 0xe4, - 0x4f, 0x25, 0xc8, 0xfa, 0x65, 0xf7, 0xa2, 0x3f, 0x51, 0x2f, 0x43, 0x46, 0x54, 0x96, 0xfc, 0x2f, - 0xaa, 0x18, 0x4d, 0x85, 0xb5, 0x2b, 0x90, 0xed, 0x63, 0x62, 0xb0, 0x38, 0xc8, 0xb3, 0x9a, 0x3f, - 0xbe, 0xfe, 0x1a, 0xe4, 0x43, 0x3f, 0xa0, 0x69, 0x68, 0x3c, 0xa8, 0xbf, 0xad, 0x24, 0x2a, 0x4b, - 0x9f, 0x7c, 0xbe, 0x99, 0x3a, 0xc0, 0x1f, 0xd2, 0xd3, 0xac, 0xd5, 0x6b, 0x8d, 0x7a, 0xed, 0xae, - 0x22, 0x55, 0xf2, 0x9f, 0x7c, 0xbe, 0xb9, 0xa4, 0x61, 0x86, 0x28, 0x5e, 0xbf, 0x0b, 0xcb, 0x63, - 0x1b, 0x13, 0x2d, 0x5b, 0x10, 0x94, 0x6e, 0xdf, 0x3f, 0xba, 0xb7, 0x57, 0xab, 0x36, 0xeb, 0xfa, - 0x83, 0xc3, 0x66, 0x5d, 0x91, 0xd0, 0x63, 0xb0, 0x7a, 0x6f, 0xef, 0xff, 0x1b, 0x4d, 0xbd, 0x76, - 0x6f, 0xaf, 0x7e, 0xd0, 0xd4, 0xab, 0xcd, 0x66, 0xb5, 0x76, 0x57, 0x49, 0xee, 0x7c, 0x9e, 0x07, - 0xb9, 0xba, 0x5b, 0xdb, 0x43, 0x35, 0x90, 0x19, 0x14, 0x72, 0xe1, 0x0d, 0xb4, 0xca, 0xc5, 0xd8, - 0x30, 0xba, 0x03, 0x69, 0x86, 0x92, 0xa0, 0x8b, 0xaf, 0xa4, 0x55, 0x66, 0x80, 0xc5, 0xf4, 0x63, - 0xd8, 0x89, 0xbc, 0xf0, 0x8e, 0x5a, 0xe5, 0x62, 0xec, 0x18, 0xdd, 0x83, 0x25, 0xaf, 0x49, 0x9e, - 0x75, 0x71, 0xac, 0x32, 0x13, 0xd0, 0xa5, 0x4b, 0xe3, 0x60, 0xc3, 0xc5, 0xd7, 0xd7, 0x2a, 0x33, - 0x50, 0x65, 0xb4, 0x07, 0x19, 0xd1, 0x8e, 0xce, 0xb8, 0x91, 0x56, 0x99, 0x85, 0x13, 0x23, 0x0d, - 0x72, 0x01, 0x8c, 0x33, 0xfb, 0x52, 0x5e, 0x65, 0x0e, 0xc0, 0x1c, 0xbd, 0x0b, 0xc5, 0x68, 0xab, - 0x3b, 0xdf, 0xad, 0xb7, 0xca, 0x9c, 0x88, 0x34, 0xd5, 0x1f, 0xed, 0x7b, 0xe7, 0xbb, 0x05, 0x57, - 0x99, 0x13, 0xa0, 0x46, 0xef, 0xc3, 0xca, 0x64, 0x5f, 0x3a, 0xff, 0xa5, 0xb8, 0xca, 0x02, 0x90, - 0x35, 0xea, 0x03, 0x9a, 0xd2, 0xcf, 0x2e, 0x70, 0x47, 0xae, 0xb2, 0x08, 0x82, 0x8d, 0xda, 0xb0, - 0x3c, 0xde, 0x24, 0xce, 0x7b, 0x67, 0xae, 0x32, 0x37, 0x9a, 0xcd, 0x67, 0x89, 0x36, 0x97, 0xf3, - 0xde, 0xa1, 0xab, 0xcc, 0x0d, 0x6e, 0xa3, 0xfb, 0x00, 0xa1, 0xfe, 0x70, 0x8e, 0x3b, 0x75, 0x95, - 0x79, 0x60, 0x6e, 0x64, 0xc3, 0xea, 0xb4, 0xc6, 0x71, 0x91, 0x2b, 0x76, 0x95, 0x85, 0xd0, 0x6f, - 0xea, 0xcf, 0xd1, 0x16, 0x70, 0xbe, 0x2b, 0x77, 0x95, 0x39, 0x61, 0xf0, 0xdd, 0xea, 0x17, 0x5f, - 0xaf, 0x4b, 0x5f, 0x7e, 0xbd, 0x2e, 0xfd, 0xed, 0xeb, 0x75, 0xe9, 0xd3, 0x6f, 0xd6, 0x13, 0x5f, - 0x7e, 0xb3, 0x9e, 0xf8, 0xcb, 0x37, 0xeb, 0x89, 0x1f, 0x3c, 0x7b, 0x6a, 0x92, 0xee, 0xf0, 0x64, - 0xab, 0x65, 0xf5, 0xb7, 0x5b, 0x56, 0x1f, 0x93, 0x93, 0x0e, 0x09, 0x1e, 0x82, 0x7b, 0xd5, 0x27, - 0x19, 0x96, 0x41, 0x6f, 0xfc, 0x33, 0x00, 0x00, 0xff, 0xff, 0x9f, 0xfb, 0xec, 0x84, 0x77, 0x2d, - 0x00, 0x00, + // 3344 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0xbd, 0x73, 0x1b, 0xc7, + 0x15, 0xc7, 0xe1, 0x8b, 0xc0, 0xc3, 0xd7, 0x71, 0x49, 0xc9, 0x10, 0x24, 0x93, 0xf4, 0x79, 0x64, + 0xc9, 0xb2, 0x4d, 0x3a, 0x54, 0xe4, 0x8f, 0x91, 0x9d, 0x19, 0x10, 0x82, 0x02, 0x52, 0x32, 0x49, + 0x1f, 0x21, 0x79, 0x9c, 0x0f, 0x9f, 0x8f, 0xb8, 0x25, 0x71, 0x16, 0x80, 0x3b, 0xdf, 0x2d, 0x68, + 0xd2, 0x55, 0x26, 0x9e, 0xcc, 0x64, 0x5c, 0x79, 0x26, 0x29, 0x5c, 0xc4, 0x45, 0x8a, 0x34, 0xf9, + 0x0b, 0x52, 0x25, 0x4d, 0x0a, 0x17, 0x29, 0x5c, 0xa6, 0x72, 0x32, 0x76, 0xe7, 0x2a, 0x33, 0x29, + 0xd2, 0x66, 0xf6, 0xe3, 0xbe, 0x00, 0x1c, 0x01, 0xc8, 0x4e, 0x91, 0x49, 0xba, 0xdb, 0xb7, 0xef, + 0xbd, 0xbd, 0x7d, 0xfb, 0xf6, 0xbd, 0xb7, 0xbf, 0x5d, 0xb8, 0x4c, 0xf0, 0xc0, 0xc0, 0x4e, 0xdf, + 0x1c, 0x90, 0x0d, 0xfd, 0xb0, 0x63, 0x6e, 0x90, 0x33, 0x1b, 0xbb, 0xeb, 0xb6, 0x63, 0x11, 0x0b, + 0x55, 0x82, 0xce, 0x75, 0xda, 0x59, 0x7b, 0x32, 0xc4, 0xdd, 0x71, 0xce, 0x6c, 0x62, 0x6d, 0xd8, + 0x8e, 0x65, 0x1d, 0x71, 0xfe, 0xda, 0x95, 0xf1, 0xee, 0x47, 0xf8, 0x4c, 0x68, 0x8b, 0x08, 0xb3, + 0x51, 0x36, 0x6c, 0xdd, 0xd1, 0xfb, 0xee, 0x04, 0x61, 0xde, 0x1d, 0xfa, 0x95, 0xda, 0x4a, 0xa8, + 0xf7, 0x04, 0x3b, 0xae, 0x69, 0x0d, 0x22, 0xfd, 0x6b, 0x63, 0xd2, 0x27, 0x7a, 0xcf, 0x34, 0x74, + 0x62, 0x39, 0x82, 0x63, 0xf5, 0xd8, 0xb2, 0x8e, 0x7b, 0x78, 0x83, 0xb5, 0x0e, 0x87, 0x47, 0x1b, + 0xc4, 0xec, 0x63, 0x97, 0xe8, 0x7d, 0x5b, 0x30, 0x2c, 0x1f, 0x5b, 0xc7, 0x16, 0xfb, 0xdc, 0xa0, + 0x5f, 0x9c, 0xaa, 0xfc, 0x29, 0x0f, 0x0b, 0x2a, 0x7e, 0x7f, 0x88, 0x5d, 0x82, 0x36, 0x21, 0x8d, + 0x3b, 0x5d, 0xab, 0x2a, 0xad, 0x49, 0xd7, 0x0b, 0x9b, 0x57, 0xd6, 0x47, 0xcc, 0xb3, 0x2e, 0xf8, + 0x9a, 0x9d, 0xae, 0xd5, 0x4a, 0xa8, 0x8c, 0x17, 0xdd, 0x82, 0xcc, 0x51, 0x6f, 0xe8, 0x76, 0xab, + 0x49, 0x26, 0xf4, 0x64, 0x9c, 0xd0, 0x5d, 0xca, 0xd4, 0x4a, 0xa8, 0x9c, 0x9b, 0x0e, 0x65, 0x0e, + 0x8e, 0xac, 0x6a, 0xea, 0xfc, 0xa1, 0xb6, 0x07, 0x47, 0x6c, 0x28, 0xca, 0x8b, 0xb6, 0x00, 0xcc, + 0x81, 0x49, 0xb4, 0x4e, 0x57, 0x37, 0x07, 0xd5, 0x0c, 0x93, 0x7c, 0x2a, 0x5e, 0xd2, 0x24, 0x0d, + 0xca, 0xd8, 0x4a, 0xa8, 0x79, 0xd3, 0x6b, 0xd0, 0xdf, 0x7d, 0x7f, 0x88, 0x9d, 0xb3, 0x6a, 0xf6, + 0xfc, 0xdf, 0x7d, 0x93, 0x32, 0xd1, 0xdf, 0x65, 0xdc, 0xe8, 0x35, 0xc8, 0x75, 0xba, 0xb8, 0xf3, + 0x48, 0x23, 0xa7, 0xd5, 0x1c, 0x93, 0x5c, 0x8d, 0x93, 0x6c, 0x50, 0xbe, 0xf6, 0x69, 0x2b, 0xa1, + 0x2e, 0x74, 0xf8, 0x27, 0x7a, 0x05, 0xb2, 0x1d, 0xab, 0xdf, 0x37, 0x49, 0xb5, 0xc0, 0x64, 0x57, + 0x62, 0x65, 0x19, 0x57, 0x2b, 0xa1, 0x0a, 0x7e, 0xb4, 0x0b, 0xe5, 0x9e, 0xe9, 0x12, 0xcd, 0x1d, + 0xe8, 0xb6, 0xdb, 0xb5, 0x88, 0x5b, 0x2d, 0x32, 0x0d, 0x57, 0xe3, 0x34, 0xdc, 0x37, 0x5d, 0x72, + 0xe0, 0x31, 0xb7, 0x12, 0x6a, 0xa9, 0x17, 0x26, 0x50, 0x7d, 0xd6, 0xd1, 0x11, 0x76, 0x7c, 0x85, + 0xd5, 0xd2, 0xf9, 0xfa, 0xf6, 0x28, 0xb7, 0x27, 0x4f, 0xf5, 0x59, 0x61, 0x02, 0xfa, 0x31, 0x2c, + 0xf5, 0x2c, 0xdd, 0xf0, 0xd5, 0x69, 0x9d, 0xee, 0x70, 0xf0, 0xa8, 0x5a, 0x66, 0x4a, 0x9f, 0x8d, + 0xfd, 0x49, 0x4b, 0x37, 0x3c, 0x15, 0x0d, 0x2a, 0xd0, 0x4a, 0xa8, 0x8b, 0xbd, 0x51, 0x22, 0x7a, + 0x07, 0x96, 0x75, 0xdb, 0xee, 0x9d, 0x8d, 0x6a, 0xaf, 0x30, 0xed, 0x37, 0xe2, 0xb4, 0xd7, 0xa9, + 0xcc, 0xa8, 0x7a, 0xa4, 0x8f, 0x51, 0x51, 0x1b, 0x64, 0xdb, 0xc1, 0xb6, 0xee, 0x60, 0xcd, 0x76, + 0x2c, 0xdb, 0x72, 0xf5, 0x5e, 0x55, 0x66, 0xba, 0xaf, 0xc5, 0xe9, 0xde, 0xe7, 0xfc, 0xfb, 0x82, + 0xbd, 0x95, 0x50, 0x2b, 0x76, 0x94, 0xc4, 0xb5, 0x5a, 0x1d, 0xec, 0xba, 0x81, 0xd6, 0xc5, 0x69, + 0x5a, 0x19, 0x7f, 0x54, 0x6b, 0x84, 0x84, 0x9a, 0x50, 0xc0, 0xa7, 0x54, 0x5c, 0x3b, 0xb1, 0x08, + 0xae, 0x22, 0xa6, 0x50, 0x89, 0xdd, 0xa1, 0x8c, 0xf5, 0xa1, 0x45, 0x70, 0x2b, 0xa1, 0x02, 0xf6, + 0x5b, 0x48, 0x87, 0x0b, 0x27, 0xd8, 0x31, 0x8f, 0xce, 0x98, 0x1a, 0x8d, 0xf5, 0xd0, 0x58, 0x53, + 0x5d, 0x62, 0x0a, 0x9f, 0x8b, 0x53, 0xf8, 0x90, 0x09, 0x51, 0x15, 0x4d, 0x4f, 0xa4, 0x95, 0x50, + 0x97, 0x4e, 0xc6, 0xc9, 0xd4, 0xc5, 0x8e, 0xcc, 0x81, 0xde, 0x33, 0x3f, 0xc4, 0xda, 0x61, 0xcf, + 0xea, 0x3c, 0xaa, 0x2e, 0x9f, 0xef, 0x62, 0x77, 0x05, 0xf7, 0x16, 0x65, 0xa6, 0x2e, 0x76, 0x14, + 0x26, 0x6c, 0x2d, 0x40, 0xe6, 0x44, 0xef, 0x0d, 0xf1, 0x4e, 0x3a, 0x97, 0x96, 0x33, 0x3b, 0xe9, + 0xdc, 0x82, 0x9c, 0xdb, 0x49, 0xe7, 0xf2, 0x32, 0xec, 0xa4, 0x73, 0x20, 0x17, 0x94, 0x6b, 0x50, + 0x08, 0x05, 0x26, 0x54, 0x85, 0x85, 0x3e, 0x76, 0x5d, 0xfd, 0x18, 0xb3, 0x38, 0x96, 0x57, 0xbd, + 0xa6, 0x52, 0x86, 0x62, 0x38, 0x18, 0x29, 0x9f, 0x48, 0xbe, 0x24, 0x8d, 0x33, 0x54, 0x52, 0x84, + 0x5e, 0x4f, 0x52, 0x34, 0xd1, 0xd3, 0x50, 0x62, 0x53, 0xd1, 0xbc, 0x7e, 0x1a, 0xec, 0xd2, 0x6a, + 0x91, 0x11, 0x1f, 0x0a, 0xa6, 0x55, 0x28, 0xd8, 0x9b, 0xb6, 0xcf, 0x92, 0x62, 0x2c, 0x60, 0x6f, + 0xda, 0x1e, 0xc3, 0x53, 0x50, 0xa4, 0xf3, 0xf6, 0x39, 0xd2, 0x6c, 0x90, 0x02, 0xa5, 0x09, 0x16, + 0xe5, 0x2f, 0x49, 0x90, 0x47, 0x03, 0x18, 0x7a, 0x05, 0xd2, 0x34, 0x96, 0x8b, 0xb0, 0x5c, 0x5b, + 0xe7, 0x81, 0x7e, 0xdd, 0x0b, 0xf4, 0xeb, 0x6d, 0x2f, 0xd0, 0x6f, 0xe5, 0x3e, 0xff, 0x72, 0x35, + 0xf1, 0xc9, 0xdf, 0x56, 0x25, 0x95, 0x49, 0xa0, 0x4b, 0x34, 0x6c, 0xe9, 0xe6, 0x40, 0x33, 0x0d, + 0xf6, 0xcb, 0x79, 0x1a, 0x93, 0x74, 0x73, 0xb0, 0x6d, 0xa0, 0xfb, 0x20, 0x77, 0xac, 0x81, 0x8b, + 0x07, 0xee, 0xd0, 0xd5, 0x78, 0xa2, 0x12, 0xc1, 0x38, 0x12, 0x52, 0x79, 0x0e, 0x6a, 0x78, 0x9c, + 0xfb, 0x8c, 0x51, 0xad, 0x74, 0xa2, 0x04, 0x74, 0x17, 0xc0, 0xcf, 0x47, 0x6e, 0x35, 0xbd, 0x96, + 0xba, 0x5e, 0xd8, 0x5c, 0x1b, 0x5b, 0xf0, 0x87, 0x1e, 0xcb, 0x03, 0xdb, 0xd0, 0x09, 0xde, 0x4a, + 0xd3, 0xdf, 0x55, 0x43, 0x92, 0xe8, 0x19, 0xa8, 0xe8, 0xb6, 0xad, 0xb9, 0x44, 0x27, 0x58, 0x3b, + 0x3c, 0x23, 0xd8, 0x65, 0x71, 0xbe, 0xa8, 0x96, 0x74, 0xdb, 0x3e, 0xa0, 0xd4, 0x2d, 0x4a, 0x44, + 0x57, 0xa1, 0x4c, 0x63, 0xba, 0xa9, 0xf7, 0xb4, 0x2e, 0x36, 0x8f, 0xbb, 0x84, 0xc5, 0xf3, 0x94, + 0x5a, 0x12, 0xd4, 0x16, 0x23, 0x2a, 0x86, 0xbf, 0xe2, 0x2c, 0x9e, 0x23, 0x04, 0x69, 0x43, 0x27, + 0x3a, 0xb3, 0x64, 0x51, 0x65, 0xdf, 0x94, 0x66, 0xeb, 0xa4, 0x2b, 0xec, 0xc3, 0xbe, 0xd1, 0x45, + 0xc8, 0x0a, 0xb5, 0x29, 0xa6, 0x56, 0xb4, 0xd0, 0x32, 0x64, 0x6c, 0xc7, 0x3a, 0xc1, 0x6c, 0xe9, + 0x72, 0x2a, 0x6f, 0x28, 0x2a, 0x94, 0xa3, 0xb1, 0x1f, 0x95, 0x21, 0x49, 0x4e, 0xc5, 0x28, 0x49, + 0x72, 0x8a, 0x5e, 0x84, 0x34, 0x35, 0x24, 0x1b, 0xa3, 0x3c, 0x21, 0xdb, 0x09, 0xb9, 0xf6, 0x99, + 0x8d, 0x55, 0xc6, 0xa9, 0x54, 0xa0, 0x14, 0xc9, 0x09, 0xca, 0x45, 0x58, 0x9e, 0x14, 0xe2, 0x95, + 0xae, 0x4f, 0x8f, 0x84, 0x6a, 0x74, 0x0b, 0x72, 0x7e, 0x8c, 0xe7, 0x8e, 0x73, 0x69, 0x6c, 0x58, + 0x8f, 0x59, 0xf5, 0x59, 0xa9, 0xc7, 0xd0, 0x05, 0xe8, 0xea, 0x22, 0xa3, 0x17, 0xd5, 0x05, 0xdd, + 0xb6, 0x5b, 0xba, 0xdb, 0x55, 0xde, 0x85, 0x6a, 0x5c, 0xfc, 0x0e, 0x19, 0x4c, 0x62, 0x6e, 0xef, + 0x19, 0xec, 0x22, 0x64, 0x8f, 0x2c, 0xa7, 0xaf, 0x13, 0xa6, 0xac, 0xa4, 0x8a, 0x16, 0x35, 0x24, + 0x8f, 0xe5, 0x29, 0x46, 0xe6, 0x0d, 0x45, 0x83, 0x4b, 0xb1, 0x31, 0x9c, 0x8a, 0x98, 0x03, 0x03, + 0x73, 0xb3, 0x96, 0x54, 0xde, 0x08, 0x14, 0xf1, 0x9f, 0xe5, 0x0d, 0x3a, 0xac, 0xcb, 0xe6, 0xca, + 0xf4, 0xe7, 0x55, 0xd1, 0x52, 0x3e, 0x4d, 0xc1, 0xc5, 0xc9, 0x91, 0x1c, 0xad, 0x41, 0xb1, 0xaf, + 0x9f, 0x6a, 0xe4, 0x54, 0xb8, 0x9d, 0xc4, 0x16, 0x1e, 0xfa, 0xfa, 0x69, 0xfb, 0x94, 0xfb, 0x9c, + 0x0c, 0x29, 0x72, 0xea, 0x56, 0x93, 0x6b, 0xa9, 0xeb, 0x45, 0x95, 0x7e, 0xa2, 0x07, 0xb0, 0xd8, + 0xb3, 0x3a, 0x7a, 0x4f, 0xeb, 0xe9, 0x2e, 0xd1, 0x44, 0x8a, 0xe7, 0x9b, 0xe8, 0xe9, 0x31, 0x63, + 0xf3, 0x98, 0x8c, 0x0d, 0xbe, 0x9e, 0x34, 0xe0, 0x08, 0xff, 0xaf, 0x30, 0x1d, 0xf7, 0x75, 0x6f, + 0xa9, 0xd1, 0x1d, 0x28, 0xf4, 0x4d, 0xf7, 0x10, 0x77, 0xf5, 0x13, 0xd3, 0x72, 0xc4, 0x6e, 0x1a, + 0x77, 0x9a, 0x37, 0x02, 0x1e, 0xa1, 0x29, 0x2c, 0x16, 0x5a, 0x92, 0x4c, 0xc4, 0x87, 0xbd, 0x68, + 0x92, 0x9d, 0x3b, 0x9a, 0xbc, 0x08, 0xcb, 0x03, 0x7c, 0x4a, 0xb4, 0x60, 0xbf, 0x72, 0x3f, 0x59, + 0x60, 0xa6, 0x47, 0xb4, 0xcf, 0xdf, 0xe1, 0x2e, 0x75, 0x19, 0xf4, 0x2c, 0xcb, 0x85, 0xb6, 0xe5, + 0x62, 0x47, 0xd3, 0x0d, 0xc3, 0xc1, 0xae, 0xcb, 0xca, 0xa7, 0x22, 0x4b, 0x70, 0x8c, 0x5e, 0xe7, + 0x64, 0xe5, 0x97, 0xe1, 0xa5, 0x89, 0xe6, 0x3e, 0x61, 0x78, 0x29, 0x30, 0xfc, 0x01, 0x2c, 0x0b, + 0x79, 0x23, 0x62, 0x7b, 0x5e, 0x83, 0x5e, 0x1e, 0xdf, 0x5f, 0xa3, 0x36, 0x47, 0x9e, 0x78, 0xbc, + 0xd9, 0x53, 0x8f, 0x67, 0x76, 0x04, 0x69, 0x66, 0x94, 0x34, 0x0f, 0x31, 0xf4, 0xfb, 0xbf, 0x6d, + 0x29, 0x3e, 0x4a, 0xc1, 0xe2, 0x58, 0x21, 0xe1, 0x4f, 0x4c, 0x9a, 0x38, 0xb1, 0xe4, 0xc4, 0x89, + 0xa5, 0xe6, 0x9e, 0x98, 0x58, 0xeb, 0xf4, 0xf4, 0xb5, 0xce, 0x7c, 0x87, 0x6b, 0x9d, 0x7d, 0xbc, + 0xb5, 0xfe, 0x8f, 0xae, 0xc2, 0x6f, 0x24, 0xa8, 0xc5, 0x57, 0x5f, 0x13, 0x97, 0xe3, 0x39, 0x58, + 0xf4, 0x7f, 0xc5, 0x57, 0xcf, 0x03, 0xa3, 0xec, 0x77, 0x08, 0xfd, 0xb1, 0x39, 0xee, 0x2a, 0x94, + 0x47, 0x6a, 0x43, 0xee, 0xca, 0xa5, 0x93, 0xf0, 0xf8, 0xca, 0x3f, 0xb2, 0x7e, 0xe2, 0x89, 0x14, + 0x70, 0x13, 0x76, 0xeb, 0x9b, 0xb0, 0x64, 0xe0, 0x8e, 0x69, 0x3c, 0xee, 0x66, 0x5d, 0x14, 0xd2, + 0xff, 0xdf, 0xab, 0x63, 0x5e, 0x42, 0xcb, 0x38, 0x3c, 0x60, 0x58, 0x04, 0x36, 0x34, 0x47, 0x1f, + 0x18, 0x56, 0xbf, 0x9a, 0x8f, 0x2b, 0xe3, 0x9a, 0x1e, 0xa7, 0xca, 0x18, 0xd5, 0x0a, 0x8e, 0x12, + 0xd0, 0x8b, 0xfe, 0x41, 0x15, 0x98, 0x8e, 0xea, 0xa4, 0x52, 0x90, 0xf6, 0xfb, 0x07, 0xd4, 0xd7, + 0x83, 0x9a, 0xb9, 0x30, 0x7e, 0xa2, 0x16, 0x5d, 0x41, 0xfd, 0x28, 0x56, 0xc1, 0x2f, 0xac, 0x1b, + 0x50, 0x62, 0x2e, 0xc1, 0xab, 0x6b, 0xd3, 0x10, 0xc7, 0xdb, 0x4b, 0xe3, 0xe3, 0x32, 0xe7, 0xda, + 0xbe, 0xe3, 0x2d, 0x23, 0x95, 0xe2, 0x24, 0x03, 0x5d, 0x86, 0x3c, 0xad, 0xe4, 0xb8, 0x55, 0x4b, + 0xcc, 0x4e, 0x39, 0x4a, 0x60, 0xb6, 0xbc, 0x0e, 0x72, 0xc8, 0xe9, 0x38, 0x4f, 0x99, 0xf1, 0x94, + 0x7b, 0xbe, 0x3f, 0x31, 0xce, 0x6b, 0x50, 0x19, 0x5d, 0xa2, 0x0a, 0x67, 0x3c, 0x89, 0x2e, 0xcf, + 0x55, 0x28, 0x07, 0xa5, 0x33, 0xe3, 0x93, 0xf9, 0x0e, 0xf1, 0xa9, 0x8c, 0xed, 0x06, 0x2c, 0xb2, + 0x91, 0x1d, 0xec, 0x0e, 0x7b, 0x44, 0x70, 0x2e, 0xf2, 0x65, 0xa4, 0x1d, 0x2a, 0xa7, 0x33, 0xde, + 0xa7, 0xa1, 0x84, 0x4f, 0x4c, 0x03, 0x0f, 0x3a, 0x98, 0xf3, 0x21, 0xc6, 0x57, 0xf4, 0x88, 0xac, + 0x00, 0xfb, 0x35, 0x40, 0x4e, 0xc5, 0xae, 0x4d, 0x47, 0x41, 0x5b, 0x90, 0xc7, 0xa7, 0x1d, 0x6c, + 0x13, 0xef, 0xb8, 0x32, 0xf9, 0x38, 0xc8, 0xb9, 0x9b, 0x1e, 0x67, 0x2b, 0xa1, 0x06, 0x62, 0xe8, + 0xa6, 0xc0, 0x7b, 0xe2, 0xa1, 0x1b, 0x21, 0x1e, 0x06, 0x7c, 0x5e, 0xf2, 0x00, 0x9f, 0x54, 0x2c, + 0x96, 0xc1, 0xa5, 0x46, 0x10, 0x9f, 0x9b, 0x02, 0xf1, 0x49, 0x4f, 0x19, 0x2c, 0x02, 0xf9, 0x34, + 0x22, 0x90, 0x4f, 0x76, 0xca, 0x34, 0x63, 0x30, 0x9f, 0x97, 0x3c, 0xcc, 0x67, 0x61, 0xca, 0x1f, + 0x8f, 0x80, 0x3e, 0xaf, 0x87, 0x40, 0x1f, 0xbe, 0xa7, 0xd6, 0x62, 0x45, 0x27, 0xa0, 0x3e, 0xaf, + 0xfa, 0x9b, 0xa9, 0x18, 0x8b, 0x18, 0x09, 0xe1, 0x51, 0xd8, 0x67, 0x6f, 0x0c, 0xf6, 0xe1, 0x30, + 0xcd, 0x33, 0xb1, 0x2a, 0xa6, 0xe0, 0x3e, 0x7b, 0x63, 0xb8, 0x4f, 0x79, 0x8a, 0xc2, 0x29, 0xc0, + 0xcf, 0x4f, 0x26, 0x03, 0x3f, 0xf1, 0xd0, 0x8c, 0xf8, 0xcd, 0xd9, 0x90, 0x1f, 0x2d, 0x06, 0xf9, + 0x91, 0x63, 0x51, 0x0a, 0xae, 0x7e, 0x66, 0xe8, 0xe7, 0xc1, 0x04, 0xe8, 0x87, 0x83, 0x34, 0xd7, + 0x63, 0x95, 0xcf, 0x80, 0xfd, 0x3c, 0x98, 0x80, 0xfd, 0xa0, 0xa9, 0x6a, 0xa7, 0x82, 0x3f, 0x77, + 0xa3, 0xe0, 0xcf, 0x52, 0xcc, 0x09, 0x23, 0xd8, 0xed, 0x31, 0xe8, 0xcf, 0x61, 0x1c, 0xfa, 0xc3, + 0x11, 0x9a, 0xe7, 0x63, 0x35, 0xce, 0x01, 0xff, 0xec, 0x8d, 0xc1, 0x3f, 0x17, 0xa6, 0x78, 0xda, + 0xec, 0xf8, 0x4f, 0x46, 0xce, 0xee, 0xa4, 0x73, 0x39, 0x39, 0xcf, 0x91, 0x9f, 0x9d, 0x74, 0xae, + 0x20, 0x17, 0x95, 0x67, 0x69, 0xb5, 0x3a, 0x12, 0xe7, 0xe8, 0xb9, 0x10, 0x3b, 0x8e, 0xe5, 0x08, + 0x24, 0x87, 0x37, 0x94, 0xeb, 0x50, 0x0c, 0xc7, 0xb4, 0x73, 0xb0, 0x22, 0x76, 0xfe, 0x0e, 0xc5, + 0x31, 0xe5, 0x0f, 0x52, 0x20, 0xcb, 0xd0, 0xa2, 0x30, 0x96, 0x90, 0x17, 0x58, 0x42, 0x08, 0x41, + 0x4a, 0x46, 0x11, 0xa4, 0x55, 0x28, 0xd0, 0x73, 0xf5, 0x08, 0x38, 0xa4, 0xdb, 0x3e, 0x38, 0xe4, + 0x65, 0x0b, 0x9e, 0x09, 0x45, 0x09, 0x92, 0x66, 0x25, 0x48, 0xc5, 0x4f, 0x76, 0x1c, 0xd6, 0x40, + 0x2f, 0xc0, 0x52, 0x88, 0xd7, 0x3f, 0xaf, 0x73, 0xa4, 0x44, 0xf6, 0xb9, 0xeb, 0xe2, 0xe0, 0xfe, + 0x67, 0x29, 0xb0, 0x50, 0x80, 0x2a, 0x4d, 0x02, 0x80, 0xa4, 0xef, 0x08, 0x00, 0x4a, 0x3e, 0x36, + 0x00, 0x14, 0xc6, 0x1f, 0x52, 0x51, 0xfc, 0xe1, 0x5f, 0x52, 0xb0, 0x26, 0x3e, 0x9c, 0xd3, 0xb1, + 0x0c, 0x2c, 0x10, 0x01, 0xf6, 0x4d, 0xcb, 0xcf, 0x9e, 0x75, 0x2c, 0xce, 0xfd, 0xf4, 0x93, 0x72, + 0xf9, 0x89, 0x27, 0x2f, 0xf2, 0x8a, 0x0f, 0x26, 0xf0, 0x22, 0x4f, 0x80, 0x09, 0x32, 0xa4, 0x1e, + 0x61, 0x7e, 0x35, 0x50, 0x54, 0xe9, 0x27, 0xe5, 0x63, 0xce, 0x27, 0x8a, 0x35, 0xde, 0x40, 0xaf, + 0x40, 0x9e, 0x5d, 0x0b, 0x69, 0x96, 0xed, 0x8a, 0xeb, 0x80, 0x48, 0x19, 0xcb, 0xef, 0x86, 0xd6, + 0xf7, 0x29, 0xcf, 0x9e, 0xed, 0xaa, 0x39, 0x5b, 0x7c, 0x85, 0xaa, 0xcb, 0x7c, 0xa4, 0xba, 0xbc, + 0x02, 0x79, 0xfa, 0xf7, 0xae, 0xad, 0x77, 0x30, 0xab, 0xbd, 0xf2, 0x6a, 0x40, 0x50, 0x7e, 0x9f, + 0x84, 0xca, 0x48, 0xa2, 0x99, 0x38, 0x77, 0xcf, 0x25, 0x93, 0x21, 0x78, 0x6b, 0x36, 0x7b, 0xac, + 0x00, 0x1c, 0xeb, 0xae, 0xf6, 0x81, 0x3e, 0x20, 0xd8, 0x10, 0x46, 0x09, 0x51, 0x50, 0x0d, 0x72, + 0xb4, 0x35, 0x74, 0xb1, 0x21, 0x90, 0x36, 0xbf, 0x8d, 0x5a, 0x90, 0xc5, 0x27, 0x78, 0x40, 0xdc, + 0xea, 0x02, 0x5b, 0xf6, 0x8b, 0xe3, 0xd0, 0x07, 0xed, 0xde, 0xaa, 0xd2, 0xc5, 0xfe, 0xe6, 0xcb, + 0x55, 0x99, 0x73, 0x3f, 0x6f, 0xf5, 0x4d, 0x82, 0xfb, 0x36, 0x39, 0x53, 0x85, 0x7c, 0xd4, 0x0a, + 0xb9, 0x11, 0x2b, 0x30, 0xcc, 0xb7, 0xe8, 0x41, 0x39, 0xd4, 0xa6, 0xa6, 0xe5, 0x98, 0xe4, 0x4c, + 0x2d, 0xf5, 0x71, 0xdf, 0xb6, 0xac, 0x9e, 0xc6, 0xf7, 0x78, 0x1d, 0xca, 0xd1, 0xbc, 0x4a, 0x8b, + 0x2b, 0x07, 0x13, 0xdd, 0x1c, 0x68, 0x91, 0x03, 0x4f, 0x91, 0x13, 0xf9, 0x9e, 0xda, 0x49, 0xe7, + 0x24, 0x39, 0xb9, 0x93, 0xce, 0x25, 0xe5, 0x94, 0xb2, 0x0f, 0x17, 0x26, 0xe6, 0x55, 0xf4, 0x32, + 0xe4, 0x83, 0x94, 0x2c, 0xb1, 0xd9, 0x9e, 0x83, 0xaa, 0x05, 0xbc, 0xca, 0x1f, 0xa5, 0x40, 0x65, + 0x14, 0xa7, 0x6b, 0x42, 0x96, 0x17, 0x88, 0x6c, 0x25, 0xcb, 0x9b, 0x2f, 0xcc, 0x96, 0x91, 0xd7, + 0x79, 0xf5, 0xa8, 0x0a, 0x61, 0xe5, 0x1d, 0xc8, 0x72, 0x0a, 0x2a, 0xc0, 0xc2, 0x83, 0xdd, 0x7b, + 0xbb, 0x7b, 0x6f, 0xed, 0xca, 0x09, 0x04, 0x90, 0xad, 0x37, 0x1a, 0xcd, 0xfd, 0xb6, 0x2c, 0xa1, + 0x3c, 0x64, 0xea, 0x5b, 0x7b, 0x6a, 0x5b, 0x4e, 0x52, 0xb2, 0xda, 0xdc, 0x69, 0x36, 0xda, 0x72, + 0x0a, 0x2d, 0x42, 0x89, 0x7f, 0x6b, 0x77, 0xf7, 0xd4, 0x37, 0xea, 0x6d, 0x39, 0x1d, 0x22, 0x1d, + 0x34, 0x77, 0xef, 0x34, 0x55, 0x39, 0xa3, 0x7c, 0x0f, 0x2e, 0xc5, 0xe6, 0xf0, 0x00, 0x84, 0x93, + 0x42, 0x20, 0x9c, 0xf2, 0x69, 0x92, 0x1e, 0x60, 0xe3, 0x12, 0x33, 0xda, 0x19, 0x99, 0xf8, 0xe6, + 0x1c, 0x59, 0x7d, 0x64, 0xf6, 0xb4, 0x22, 0x77, 0xf0, 0x11, 0x26, 0x9d, 0x2e, 0x2f, 0x14, 0x78, + 0x04, 0x2a, 0xa9, 0x25, 0x41, 0x65, 0x42, 0x2e, 0x67, 0x7b, 0x0f, 0x77, 0x88, 0xc6, 0x9d, 0xc8, + 0x65, 0x07, 0xc7, 0x3c, 0x65, 0xa3, 0xd4, 0x03, 0x4e, 0x54, 0xde, 0x9d, 0xcb, 0x96, 0x79, 0xc8, + 0xa8, 0xcd, 0xb6, 0xfa, 0xb6, 0x9c, 0x42, 0x08, 0xca, 0xec, 0x53, 0x3b, 0xd8, 0xad, 0xef, 0x1f, + 0xb4, 0xf6, 0xa8, 0x2d, 0x97, 0xa0, 0xe2, 0xd9, 0xd2, 0x23, 0x66, 0x94, 0xe7, 0xe0, 0x89, 0x98, + 0xaa, 0x62, 0xfc, 0xf8, 0xac, 0xfc, 0x56, 0x0a, 0x73, 0x47, 0x2b, 0x83, 0x3d, 0xc8, 0xba, 0x44, + 0x27, 0x43, 0x57, 0x18, 0xf1, 0xe5, 0x59, 0xcb, 0x8c, 0x75, 0xef, 0xe3, 0x80, 0x89, 0xab, 0x42, + 0x8d, 0x72, 0x0b, 0xca, 0xd1, 0x9e, 0x78, 0x1b, 0x04, 0x4e, 0x94, 0x54, 0x6e, 0x03, 0x1a, 0xaf, + 0x3e, 0x26, 0x40, 0x09, 0xd2, 0x24, 0x28, 0xe1, 0x77, 0x12, 0x5c, 0x3e, 0xa7, 0xd2, 0x40, 0x6f, + 0x8e, 0x4c, 0xf2, 0xd5, 0x79, 0xea, 0x94, 0x75, 0x4e, 0x1b, 0x99, 0xe6, 0x4d, 0x28, 0x86, 0xe9, + 0xb3, 0x4d, 0xf2, 0x9b, 0x64, 0xb0, 0x89, 0xa3, 0x98, 0x47, 0x10, 0x02, 0xa5, 0x6f, 0x19, 0x02, + 0x5f, 0x03, 0x20, 0xa7, 0xde, 0x91, 0x51, 0xe4, 0xd1, 0x27, 0x27, 0x60, 0xc9, 0xb8, 0xd3, 0x3e, + 0x15, 0x9b, 0x20, 0x4f, 0xc4, 0x97, 0x8b, 0x0e, 0xc2, 0x00, 0xd0, 0x90, 0xe5, 0x58, 0x57, 0x80, + 0x23, 0xb3, 0x26, 0xe3, 0x00, 0x28, 0xe2, 0x64, 0x17, 0xbd, 0x0d, 0x4f, 0x8c, 0x14, 0x0a, 0xbe, + 0xea, 0xf4, 0xac, 0xf5, 0xc2, 0x85, 0x68, 0xbd, 0xe0, 0xa9, 0x0e, 0x67, 0xfb, 0x4c, 0x34, 0xdb, + 0xbf, 0x0d, 0x10, 0x00, 0x41, 0x34, 0xc2, 0x38, 0xd6, 0x70, 0x60, 0x30, 0x0f, 0xc8, 0xa8, 0xbc, + 0x81, 0x6e, 0x41, 0x86, 0x7a, 0x92, 0x67, 0xa7, 0xf1, 0x50, 0x4c, 0x3d, 0x21, 0x04, 0x24, 0x71, + 0x6e, 0xc5, 0x04, 0x34, 0x0e, 0xc6, 0xc7, 0x0c, 0xf1, 0x7a, 0x74, 0x88, 0xa7, 0x62, 0x61, 0xfd, + 0xc9, 0x43, 0x7d, 0x08, 0x19, 0xb6, 0xf2, 0x34, 0xe9, 0xb2, 0x1b, 0x20, 0x51, 0x2d, 0xd2, 0x6f, + 0xf4, 0x53, 0x00, 0x9d, 0x10, 0xc7, 0x3c, 0x1c, 0x06, 0x03, 0xac, 0x4e, 0xf6, 0x9c, 0xba, 0xc7, + 0xb7, 0x75, 0x45, 0xb8, 0xd0, 0x72, 0x20, 0x1a, 0x72, 0xa3, 0x90, 0x42, 0x65, 0x17, 0xca, 0x51, + 0x59, 0xaf, 0xbe, 0xe1, 0xff, 0x10, 0xad, 0x6f, 0x78, 0xb9, 0x2a, 0xea, 0x1b, 0xbf, 0x3a, 0x4a, + 0xf1, 0x6b, 0x2e, 0xd6, 0x50, 0x7e, 0x96, 0x84, 0x62, 0xd8, 0xf1, 0xfe, 0xf7, 0x4a, 0x10, 0xe5, + 0x17, 0x12, 0xe4, 0xfc, 0xe9, 0x47, 0xef, 0xbc, 0x22, 0x97, 0x84, 0xdc, 0x7a, 0xc9, 0xf0, 0x45, + 0x15, 0xbf, 0x12, 0x4c, 0xf9, 0x57, 0x82, 0xb7, 0xfd, 0xf4, 0x17, 0x07, 0x88, 0x84, 0x6d, 0x2d, + 0xbc, 0xca, 0xcb, 0xf6, 0xb7, 0x21, 0xef, 0xef, 0x5e, 0x7a, 0xe8, 0xf0, 0x40, 0x42, 0x49, 0xec, + 0x21, 0x01, 0x0e, 0x2e, 0x43, 0xc6, 0xb6, 0x3e, 0x10, 0xb7, 0x60, 0x29, 0x95, 0x37, 0x14, 0x03, + 0x2a, 0x23, 0x5b, 0x1f, 0xdd, 0x86, 0x05, 0x7b, 0x78, 0xa8, 0x79, 0xce, 0x31, 0x02, 0xa5, 0x7a, + 0xe5, 0xec, 0xf0, 0xb0, 0x67, 0x76, 0xee, 0xe1, 0x33, 0xef, 0x67, 0xec, 0xe1, 0xe1, 0x3d, 0xee, + 0x43, 0x7c, 0x94, 0x64, 0x78, 0x94, 0x5f, 0x49, 0x90, 0xf3, 0xf6, 0x04, 0xfa, 0x01, 0xe4, 0xfd, + 0xb0, 0xe2, 0x5f, 0x63, 0xc7, 0xc6, 0x23, 0xa1, 0x3f, 0x10, 0x41, 0x75, 0xef, 0xfe, 0xdd, 0x34, + 0xb4, 0xa3, 0x9e, 0xce, 0x7d, 0xa9, 0x1c, 0xb5, 0x59, 0x04, 0x26, 0xbc, 0xdb, 0xd3, 0x8f, 0xd5, + 0xc2, 0x21, 0x07, 0x08, 0x69, 0x43, 0x54, 0x76, 0xff, 0x94, 0x40, 0x1e, 0xdd, 0xb1, 0xdf, 0xfa, + 0xef, 0xc6, 0xd3, 0x5c, 0x6a, 0x42, 0x9a, 0x43, 0x1b, 0xb0, 0xe4, 0x73, 0x68, 0xae, 0x79, 0x3c, + 0xd0, 0xc9, 0xd0, 0xc1, 0x02, 0x7c, 0x46, 0x7e, 0xd7, 0x81, 0xd7, 0x33, 0x3e, 0xeb, 0xcc, 0x63, + 0xce, 0xfa, 0xa3, 0x24, 0x14, 0x42, 0x50, 0x38, 0xfa, 0x7e, 0x28, 0x18, 0x95, 0x27, 0x64, 0x86, + 0x10, 0x6f, 0x70, 0x25, 0x1d, 0x35, 0x53, 0x72, 0x7e, 0x33, 0xc5, 0x5d, 0x38, 0x78, 0xc8, 0x7a, + 0x7a, 0x6e, 0x64, 0xfd, 0x79, 0x40, 0xc4, 0x22, 0x7a, 0x4f, 0x3b, 0xb1, 0x88, 0x39, 0x38, 0xd6, + 0xb8, 0x1b, 0xf2, 0xd0, 0x21, 0xb3, 0x9e, 0x87, 0xac, 0x63, 0x9f, 0x79, 0xe4, 0xcf, 0x25, 0xc8, + 0xf9, 0x65, 0xf7, 0xbc, 0x17, 0xd6, 0x17, 0x21, 0x2b, 0x2a, 0x4b, 0x7e, 0x63, 0x2d, 0x5a, 0x13, + 0xaf, 0x10, 0x6a, 0x90, 0xeb, 0x63, 0xa2, 0xb3, 0x38, 0xc8, 0xb3, 0x9a, 0xdf, 0xbe, 0xf1, 0x2a, + 0x14, 0x42, 0x97, 0xfd, 0x34, 0x34, 0xee, 0x36, 0xdf, 0x92, 0x13, 0xb5, 0x85, 0x8f, 0x3f, 0x5b, + 0x4b, 0xed, 0xe2, 0x0f, 0xe8, 0x6e, 0x56, 0x9b, 0x8d, 0x56, 0xb3, 0x71, 0x4f, 0x96, 0x6a, 0x85, + 0x8f, 0x3f, 0x5b, 0x5b, 0x50, 0x31, 0x43, 0x14, 0x6f, 0xdc, 0x83, 0xca, 0xc8, 0xc2, 0x44, 0xcb, + 0x16, 0x04, 0xe5, 0x3b, 0x0f, 0xf6, 0xef, 0x6f, 0x37, 0xea, 0xed, 0xa6, 0xf6, 0x70, 0xaf, 0xdd, + 0x94, 0x25, 0xf4, 0x04, 0x2c, 0xdd, 0xdf, 0xfe, 0x61, 0xab, 0xad, 0x35, 0xee, 0x6f, 0x37, 0x77, + 0xdb, 0x5a, 0xbd, 0xdd, 0xae, 0x37, 0xee, 0xc9, 0xc9, 0xcd, 0xcf, 0x0a, 0x90, 0xae, 0x6f, 0x35, + 0xb6, 0x51, 0x03, 0xd2, 0x0c, 0x0a, 0x39, 0xf7, 0xb5, 0x5f, 0xed, 0x7c, 0x6c, 0x18, 0xdd, 0x85, + 0x0c, 0x43, 0x49, 0xd0, 0xf9, 0xcf, 0xff, 0x6a, 0x53, 0xc0, 0x62, 0xfa, 0x33, 0x6c, 0x47, 0x9e, + 0xfb, 0x1e, 0xb0, 0x76, 0x3e, 0x76, 0x8c, 0xee, 0xc3, 0x82, 0x77, 0x48, 0x9e, 0xf6, 0x48, 0xaf, + 0x36, 0x15, 0xd0, 0xa5, 0x53, 0xe3, 0x60, 0xc3, 0xf9, 0x4f, 0x05, 0x6b, 0x53, 0x50, 0x65, 0xb4, + 0x0d, 0x59, 0x71, 0x1c, 0x9d, 0xf2, 0xfa, 0xaf, 0x36, 0x0d, 0x27, 0x46, 0x2a, 0xe4, 0x03, 0x18, + 0x67, 0xfa, 0x03, 0xc8, 0xda, 0x0c, 0x80, 0x39, 0x7a, 0x07, 0x4a, 0xd1, 0xa3, 0xee, 0x6c, 0x2f, + 0x0c, 0x6b, 0x33, 0x22, 0xd2, 0x54, 0x7f, 0xf4, 0xdc, 0x3b, 0xdb, 0x8b, 0xc3, 0xda, 0x8c, 0x00, + 0x35, 0x7a, 0x0f, 0x16, 0xc7, 0xcf, 0xa5, 0xb3, 0x3f, 0x40, 0xac, 0xcd, 0x01, 0x59, 0xa3, 0x3e, + 0xa0, 0x09, 0xe7, 0xd9, 0x39, 0xde, 0x23, 0xd6, 0xe6, 0x41, 0xb0, 0x91, 0x01, 0x95, 0xd1, 0x43, + 0xe2, 0xac, 0xef, 0x13, 0x6b, 0x33, 0xa3, 0xd9, 0x7c, 0x94, 0xe8, 0xe1, 0x72, 0xd6, 0xf7, 0x8a, + 0xb5, 0x99, 0xc1, 0x6d, 0xf4, 0x00, 0x20, 0x74, 0x3e, 0x9c, 0xe1, 0xfd, 0x62, 0x6d, 0x16, 0x98, + 0x1b, 0xd9, 0xb0, 0x34, 0xe9, 0xe0, 0x38, 0xcf, 0x73, 0xc6, 0xda, 0x5c, 0xe8, 0x37, 0xf5, 0xe7, + 0xe8, 0x11, 0x70, 0xb6, 0xe7, 0x8d, 0xb5, 0x19, 0x61, 0xf0, 0xad, 0xfa, 0xe7, 0x5f, 0xad, 0x48, + 0x5f, 0x7c, 0xb5, 0x22, 0xfd, 0xfd, 0xab, 0x15, 0xe9, 0x93, 0xaf, 0x57, 0x12, 0x5f, 0x7c, 0xbd, + 0x92, 0xf8, 0xeb, 0xd7, 0x2b, 0x89, 0x1f, 0x5d, 0x3b, 0x36, 0x49, 0x77, 0x78, 0xb8, 0xde, 0xb1, + 0xfa, 0x1b, 0x1d, 0xab, 0x8f, 0xc9, 0xe1, 0x11, 0x09, 0x3e, 0x82, 0x37, 0xee, 0x87, 0x59, 0x96, + 0x41, 0x6f, 0xfe, 0x3b, 0x00, 0x00, 0xff, 0xff, 0xea, 0x21, 0xdd, 0x7a, 0x03, 0x2f, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -5652,6 +5724,74 @@ func (m *RequestFinalizeBlock) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.EvidenceHash) > 0 { + i -= len(m.EvidenceHash) + copy(dAtA[i:], m.EvidenceHash) + i = encodeVarintTypes(dAtA, i, uint64(len(m.EvidenceHash))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x92 + } + if len(m.LastResultsHash) > 0 { + i -= len(m.LastResultsHash) + copy(dAtA[i:], m.LastResultsHash) + i = encodeVarintTypes(dAtA, i, uint64(len(m.LastResultsHash))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x8a + } + if len(m.ConsensusHash) > 0 { + i -= len(m.ConsensusHash) + copy(dAtA[i:], m.ConsensusHash) + i = encodeVarintTypes(dAtA, i, uint64(len(m.ConsensusHash))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x82 + } + if len(m.ValidatorsHash) > 0 { + i -= len(m.ValidatorsHash) + copy(dAtA[i:], m.ValidatorsHash) + i = encodeVarintTypes(dAtA, i, uint64(len(m.ValidatorsHash))) + i-- + dAtA[i] = 0x7a + } + if len(m.LastCommitHash) > 0 { + i -= len(m.LastCommitHash) + copy(dAtA[i:], m.LastCommitHash) + i = encodeVarintTypes(dAtA, i, uint64(len(m.LastCommitHash))) + i-- + dAtA[i] = 0x72 + } + if len(m.DataHash) > 0 { + i -= len(m.DataHash) + copy(dAtA[i:], m.DataHash) + i = encodeVarintTypes(dAtA, i, uint64(len(m.DataHash))) + i-- + dAtA[i] = 0x6a + } + { + size, err := m.LastBlockId.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTypes(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x62 + { + size, err := m.Version.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTypes(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x5a if m.Commit != nil { { size, err := m.Commit.MarshalToSizedBuffer(dAtA[:i]) @@ -5690,12 +5830,12 @@ func (m *RequestFinalizeBlock) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x3a } - n28, err28 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.Time):]) - if err28 != nil { - return 0, err28 + n30, err30 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.Time):]) + if err30 != nil { + return 0, err30 } - i -= n28 - i = encodeVarintTypes(dAtA, i, uint64(n28)) + i -= n30 + i = encodeVarintTypes(dAtA, i, uint64(n30)) i-- dAtA[i] = 0x32 if m.Height != 0 { @@ -6658,20 +6798,20 @@ func (m *ResponseApplySnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, err } } if len(m.RefetchChunks) > 0 { - dAtA50 := make([]byte, len(m.RefetchChunks)*10) - var j49 int + dAtA52 := make([]byte, len(m.RefetchChunks)*10) + var j51 int for _, num := range m.RefetchChunks { for num >= 1<<7 { - dAtA50[j49] = uint8(uint64(num)&0x7f | 0x80) + dAtA52[j51] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j49++ + j51++ } - dAtA50[j49] = uint8(num) - j49++ + dAtA52[j51] = uint8(num) + j51++ } - i -= j49 - copy(dAtA[i:], dAtA50[:j49]) - i = encodeVarintTypes(dAtA, i, uint64(j49)) + i -= j51 + copy(dAtA[i:], dAtA52[:j51]) + i = encodeVarintTypes(dAtA, i, uint64(j51)) i-- dAtA[i] = 0x12 } @@ -7378,12 +7518,12 @@ func (m *Misbehavior) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x28 } - n56, err56 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.Time):]) - if err56 != nil { - return 0, err56 + n58, err58 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.Time):]) + if err58 != nil { + return 0, err58 } - i -= n56 - i = encodeVarintTypes(dAtA, i, uint64(n56)) + i -= n58 + i = encodeVarintTypes(dAtA, i, uint64(n58)) i-- dAtA[i] = 0x22 if m.Height != 0 { @@ -8053,6 +8193,34 @@ func (m *RequestFinalizeBlock) Size() (n int) { l = m.Commit.Size() n += 1 + l + sovTypes(uint64(l)) } + l = m.Version.Size() + n += 1 + l + sovTypes(uint64(l)) + l = m.LastBlockId.Size() + n += 1 + l + sovTypes(uint64(l)) + l = len(m.DataHash) + if l > 0 { + n += 1 + l + sovTypes(uint64(l)) + } + l = len(m.LastCommitHash) + if l > 0 { + n += 1 + l + sovTypes(uint64(l)) + } + l = len(m.ValidatorsHash) + if l > 0 { + n += 1 + l + sovTypes(uint64(l)) + } + l = len(m.ConsensusHash) + if l > 0 { + n += 2 + l + sovTypes(uint64(l)) + } + l = len(m.LastResultsHash) + if l > 0 { + n += 2 + l + sovTypes(uint64(l)) + } + l = len(m.EvidenceHash) + if l > 0 { + n += 2 + l + sovTypes(uint64(l)) + } return n } @@ -12130,6 +12298,276 @@ func (m *RequestFinalizeBlock) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Version.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LastBlockId", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.LastBlockId.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 13: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DataHash", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DataHash = append(m.DataHash[:0], dAtA[iNdEx:postIndex]...) + if m.DataHash == nil { + m.DataHash = []byte{} + } + iNdEx = postIndex + case 14: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LastCommitHash", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.LastCommitHash = append(m.LastCommitHash[:0], dAtA[iNdEx:postIndex]...) + if m.LastCommitHash == nil { + m.LastCommitHash = []byte{} + } + iNdEx = postIndex + case 15: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ValidatorsHash", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ValidatorsHash = append(m.ValidatorsHash[:0], dAtA[iNdEx:postIndex]...) + if m.ValidatorsHash == nil { + m.ValidatorsHash = []byte{} + } + iNdEx = postIndex + case 16: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ConsensusHash", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ConsensusHash = append(m.ConsensusHash[:0], dAtA[iNdEx:postIndex]...) + if m.ConsensusHash == nil { + m.ConsensusHash = []byte{} + } + iNdEx = postIndex + case 17: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LastResultsHash", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.LastResultsHash = append(m.LastResultsHash[:0], dAtA[iNdEx:postIndex]...) + if m.LastResultsHash == nil { + m.LastResultsHash = []byte{} + } + iNdEx = postIndex + case 18: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EvidenceHash", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.EvidenceHash = append(m.EvidenceHash[:0], dAtA[iNdEx:postIndex]...) + if m.EvidenceHash == nil { + m.EvidenceHash = []byte{} + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTypes(dAtA[iNdEx:]) diff --git a/proto/tendermint/abci/types.proto b/proto/tendermint/abci/types.proto index 9174d84024d..3599c946fd0 100644 --- a/proto/tendermint/abci/types.proto +++ b/proto/tendermint/abci/types.proto @@ -9,6 +9,7 @@ import "tendermint/crypto/proof.proto"; import "tendermint/crypto/keys.proto"; import "tendermint/types/params.proto"; import "tendermint/types/types.proto"; +import "tendermint/version/types.proto"; import "tendermint/types/validator.proto"; import "google/protobuf/timestamp.proto"; import "gogoproto/gogo.proto"; @@ -194,6 +195,14 @@ message RequestFinalizeBlock { bytes proposer_address = 8; tendermint.types.EncryptedRandom encrypted_random = 9; // a random number encrypted by the proposer to be used in contracts tendermint.types.Commit commit = 10; + tendermint.version.Consensus version = 11 [(gogoproto.nullable) = false]; + tendermint.types.BlockID last_block_id = 12 [(gogoproto.nullable) = false]; + bytes data_hash = 13; + bytes last_commit_hash = 14; // commit from validators from the last block + bytes validators_hash = 15; // validators for the current block + bytes consensus_hash = 16; // consensus params for current block + bytes last_results_hash = 17; // root hash of all results from the txs from the previous block + bytes evidence_hash = 18; // evidence included in the block } //---------------------------------------- diff --git a/state/execution.go b/state/execution.go index d0a9dd17a86..d0b0bb19e3d 100644 --- a/state/execution.go +++ b/state/execution.go @@ -5,6 +5,8 @@ import ( "context" "encoding/hex" "fmt" + "time" + abci "github.com/cometbft/cometbft/abci/types" cryptoenc "github.com/cometbft/cometbft/crypto/encoding" "github.com/cometbft/cometbft/libs/fail" @@ -14,7 +16,6 @@ import ( "github.com/cometbft/cometbft/proxy" "github.com/cometbft/cometbft/types" tmenclave "github.com/scrtlabs/tm-secret-enclave" - "time" ) //----------------------------------------------------------------------------- @@ -257,6 +258,14 @@ func (blockExec *BlockExecutor) applyBlock(state State, blockID types.BlockID, b Txs: block.Txs.ToSliceOfBytes(), EncryptedRandom: block.EncryptedRandom.ToProto(), Commit: blockExec.blockStore.LoadSeenCommit(block.Height).ToProto(), + Version: block.Version, + LastBlockId: block.LastBlockID.ToProto(), + DataHash: block.DataHash, + LastCommitHash: block.LastCommitHash, + ValidatorsHash: block.ValidatorsHash, + ConsensusHash: block.ConsensusHash, + LastResultsHash: block.LastResultsHash, + EvidenceHash: block.EvidenceHash, }) endTime := time.Now().UnixNano() blockExec.metrics.BlockProcessingTime.Observe(float64(endTime-startTime) / 1000000) From 845abc9c1850dc30c711821b120dce1b8584f6e5 Mon Sep 17 00:00:00 2001 From: cboh4 Date: Sun, 28 Dec 2025 12:06:22 +0200 Subject: [PATCH 6/6] remove panic --- state/state.go | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/state/state.go b/state/state.go index 6904a91c259..002b676802d 100644 --- a/state/state.go +++ b/state/state.go @@ -245,24 +245,30 @@ func (state State) MakeBlock( // Build base block with block data. // ScrtLabs changes in -> marshalledTxs, err := tmenclave.GetScheduledTxs() + + // 1. Check Fetch Error if err != nil { - panic("Failed to get scheduled txs from tm-secret-enclave") - } - // implicitTxs = types.Txs(implicitTxs) - implicitTxs := &tm_type.Data{} - err = implicitTxs.Unmarshal(marshalledTxs) - if err != nil { - panic("Failed to unmarshal scheduled txs") - } + println("Failed to get scheduled txs:", err.Error()) + } else { + implicitTxs := &tm_type.Data{} + err = implicitTxs.Unmarshal(marshalledTxs) - scheduledTxs := make([]types.Tx, len(implicitTxs.Txs), len(implicitTxs.Txs)+len(txs)) - for i, tx := range implicitTxs.Txs { - scheduledTxs[i] = types.Tx(tx) - } + // 2. Check Unmarshal Error + if err != nil { + println("Failed to unmarshal scheduled txs:", err.Error()) + } else if len(implicitTxs.Txs) > 0 { + + // Capacity = new + old (so the append doesn't reallocate) + scheduledTxs := make([]types.Tx, len(implicitTxs.Txs), len(implicitTxs.Txs)+len(txs)) - // Append original txs after scheduled ones - txs = append(scheduledTxs, txs...) + for i, tx := range implicitTxs.Txs { + scheduledTxs[i] = types.Tx(tx) + } + // Append original txs + txs = append(scheduledTxs, txs...) + } + } // ScrtLabs changes out <- block := types.MakeBlock(height, txs, lastCommit, evidence)