From fad121ca32f7ab86670e33b0e52c8044ee433718 Mon Sep 17 00:00:00 2001 From: Marko Date: Tue, 27 Jul 2021 07:30:34 +0000 Subject: [PATCH 01/19] abci: PrepareProposal (#6544) --- abci/client/client.go | 2 +- abci/client/grpc_client.go | 35 +- abci/client/local_client.go | 24 +- abci/client/mocks/client.go | 52 +- abci/client/socket_client.go | 24 +- abci/example/kvstore/kvstore.go | 7 +- abci/example/kvstore/persistent_kvstore.go | 10 +- abci/server/socket_server.go | 3 + abci/types/application.go | 22 +- abci/types/messages.go | 8 +- abci/types/types.pb.go | 959 ++++++++++++++------- consensus/mempool_test.go | 6 +- evidence/mocks/block_store.go | 2 +- libs/pubsub/query/query.peg.go | 2 +- light/rpc/mocks/light_client.go | 2 +- proto/tendermint/abci/types.proto | 20 +- proxy/app_conn.go | 10 +- proxy/mocks/app_conn_consensus.go | 25 +- proxy/mocks/app_conn_mempool.go | 2 +- proxy/mocks/app_conn_query.go | 2 +- proxy/mocks/app_conn_snapshot.go | 2 +- state/execution.go | 47 +- state/mocks/evidence_pool.go | 2 +- state/mocks/store.go | 2 +- statesync/mocks/state_provider.go | 2 +- test/e2e/app/app.go | 7 +- types/tx.go | 21 + 27 files changed, 886 insertions(+), 414 deletions(-) diff --git a/abci/client/client.go b/abci/client/client.go index 8702b3ee65..dd3c70afd9 100644 --- a/abci/client/client.go +++ b/abci/client/client.go @@ -58,7 +58,7 @@ type Client interface { OfferSnapshotSync(types.RequestOfferSnapshot) (*types.ResponseOfferSnapshot, error) LoadSnapshotChunkSync(types.RequestLoadSnapshotChunk) (*types.ResponseLoadSnapshotChunk, error) ApplySnapshotChunkSync(types.RequestApplySnapshotChunk) (*types.ResponseApplySnapshotChunk, error) - PreprocessTxsSync(types.RequestPreprocessTxs) (*types.ResponsePreprocessTxs, error) + PrepareProposalSync(types.RequestPrepareProposal) (*types.ResponsePrepareProposal, error) } //---------------------------------------- diff --git a/abci/client/grpc_client.go b/abci/client/grpc_client.go index 2e956fee6c..254d641a6e 100644 --- a/abci/client/grpc_client.go +++ b/abci/client/grpc_client.go @@ -311,6 +311,27 @@ func (cli *grpcClient) PreprocessTxsAsync(params types.RequestPreprocessTxs) *Re return cli.finishAsyncCall(req, &types.Response{Value: &types.Response_PreprocessTxs{PreprocessTxs: res}}) } +func (cli *grpcClient) PrepareProposalAsync( + ctx context.Context, + params types.RequestPrepareProposal, +) (*ReqRes, error) { + + req := types.ToRequestPrepareProposal(params) + res, err := cli.client.PrepareProposal(ctx, req.GetPrepareProposal(), grpc.WaitForReady(true)) + if err != nil { + return nil, err + } + return cli.finishAsyncCall( + ctx, + req, + &types.Response{ + Value: &types.Response_PrepareProposal{ + PrepareProposal: res, + }, + }, + ) +} + // finishAsyncCall creates a ReqRes for an async call, and immediately populates it // with the response. We don't complete it until it's been ordered via the channel. func (cli *grpcClient) finishAsyncCall(req *types.Request, res *types.Response) *ReqRes { @@ -427,9 +448,13 @@ func (cli *grpcClient) ApplySnapshotChunkSync( return cli.finishSyncCall(reqres).GetApplySnapshotChunk(), cli.Error() } -func (cli *grpcClient) PreprocessTxsSync( - params types.RequestPreprocessTxs, -) (*types.ResponsePreprocessTxs, error) { - reqres := cli.PreprocessTxsAsync(params) - return reqres.Response.GetPreprocessTxs(), cli.Error() +func (cli *grpcClient) PrepareProposalSync( + params types.RequestPrepareProposal, +) (*types.ResponsePrepareProposal, error) { + + reqres, err := cli.PrepareProposalAsync(ctx, params) + if err != nil { + return nil, err + } + return cli.finishSyncCall(reqres).GetPrepareProposal(), cli.Error() } diff --git a/abci/client/local_client.go b/abci/client/local_client.go index ef85379ecd..06f606f0bb 100644 --- a/abci/client/local_client.go +++ b/abci/client/local_client.go @@ -4,6 +4,7 @@ import ( types "github.com/tendermint/tendermint/abci/types" "github.com/tendermint/tendermint/libs/service" tmsync "github.com/tendermint/tendermint/libs/sync" + "golang.org/x/net/context" ) var _ Client = (*localClient)(nil) @@ -218,6 +219,20 @@ func (app *localClient) PreprocessTxsAsync(req types.RequestPreprocessTxs) (*Req ), nil } +func (app *localClient) PrepareProposalAsync( + ctx context.Context, + req types.RequestPrepareProposal, +) (*ReqRes, error) { + app.mtx.Lock() + defer app.mtx.Unlock() + + res := app.Application.PrepareProposal(req) + return app.callback( + types.ToRequestPrepareProposal(req), + types.ToResponsePrepareProposal(res), + ), nil +} + //------------------------------------------------------- func (app *localClient) FlushSync() error { @@ -334,13 +349,14 @@ func (app *localClient) ApplySnapshotChunkSync( return &res, nil } -func (app *localClient) PreprocessTxsSync( - req types.RequestPreprocessTxs, -) (*types.ResponsePreprocessTxs, error) { +func (app *localClient) PrepareProposalSync( + req types.RequestPrepareProposal, +) (*types.ResponsePrepareProposal, error) { + app.mtx.Lock() defer app.mtx.Unlock() - res := app.Application.PreprocessTxs(req) + res := app.Application.PrepareProposal(req) return &res, nil } diff --git a/abci/client/mocks/client.go b/abci/client/mocks/client.go index ed0f1a95da..5e736843e9 100644 --- a/abci/client/mocks/client.go +++ b/abci/client/mocks/client.go @@ -575,9 +575,55 @@ func (_m *Client) OnStop() { _m.Called() } -// PreprocessTxsSync provides a mock function with given fields: _a0 -func (_m *Client) PreprocessTxsSync(_a0 types.RequestPreprocessTxs) (*types.ResponsePreprocessTxs, error) { - ret := _m.Called(_a0) +// PrepareProposalAsync provides a mock function with given fields: _a0, _a1 +func (_m *Client) PrepareProposalAsync(_a1 types.RequestPrepareProposal) (*abcicli.ReqRes, error) { + ret := _m.Called(_a0, _a1) + + var r0 *abcicli.ReqRes + if rf, ok := ret.Get(0).(func(context.Context, types.RequestPrepareProposal) *abcicli.ReqRes); ok { + r0 = rf(_a0, _a1) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*abcicli.ReqRes) + } + } + + var r1 error + if rf, ok := ret.Get(1).(func(context.Context, types.RequestPrepareProposal) error); ok { + r1 = rf(_a0, _a1) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// PrepareProposalSync provides a mock function with given fields: _a0, _a1 +func (_m *Client) PrepareProposalSync(_a1 types.RequestPrepareProposal) (*types.ResponsePrepareProposal) { + ret := _m.Called(_a0, _a1) + + var r0 *types.ResponsePrepareProposal + if rf, ok := ret.Get(0).(func(context.Context, types.RequestPrepareProposal) *types.ResponsePrepareProposal); ok { + r0 = rf(_a0, _a1) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*types.ResponsePrepareProposal) + } + } + + var r1 error + if rf, ok := ret.Get(1).(func(context.Context, types.RequestPrepareProposal) error); ok { + r1 = rf(_a0, _a1) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// QueryAsync provides a mock function with given fields: _a0, _a1 +func (_m *Client) QueryAsync(_a1 types.RequestQuery) (*abcicli.ReqRes) { + ret := _m.Called(_a0, _a1) var r0 *types.ResponsePreprocessTxs if rf, ok := ret.Get(0).(func(types.RequestPreprocessTxs) *types.ResponsePreprocessTxs); ok { diff --git a/abci/client/socket_client.go b/abci/client/socket_client.go index 19abc71af7..8d4111057e 100644 --- a/abci/client/socket_client.go +++ b/abci/client/socket_client.go @@ -280,12 +280,12 @@ func (cli *socketClient) ApplySnapshotChunkAsync(req types.RequestApplySnapshotC return cli.queueRequest(types.ToRequestApplySnapshotChunk(req)) } -func (cli *socketClient) PreprocessTxsAsync(ctx context.Context, req types.RequestPreprocessTxs) *ReqRes { - return cli.queueRequest(types.ToRequestPreprocessTxs(req)) +func (cli *socketClient) PrepareProposalAsync( + req types.RequestPrepareProposal, +) (*ReqRes, error) { + return cli.queueRequest(types.ToRequestPrepareProposal(req)) } -//---------------------------------------- - func (cli *socketClient) FlushSync() error { reqRes := cli.queueRequest(types.ToRequestFlush()) if err := cli.Error(); err != nil { @@ -432,6 +432,18 @@ func (cli *socketClient) PreprocessTxsSync( return reqres.Response.GetPreprocessTxs(), nil } +func (cli *socketClient) PrepareProposalSync( + ctx context.Context, + req types.RequestPrepareProposal, +) (*types.ResponsePrepareProposal, error) { + + reqres, err := cli.queueRequestAndFlushSync(ctx, types.ToRequestPrepareProposal(req)) + if err != nil { + return nil, err + } + return reqres.Response.GetPrepareProposal(), nil +} + //---------------------------------------- func (cli *socketClient) queueRequest(req *types.Request) *ReqRes { @@ -507,8 +519,8 @@ func resMatchesReq(req *types.Request, res *types.Response) (ok bool) { _, ok = res.Value.(*types.Response_ListSnapshots) case *types.Request_OfferSnapshot: _, ok = res.Value.(*types.Response_OfferSnapshot) - case *types.Request_PreprocessTxs: - _, ok = res.Value.(*types.Response_PreprocessTxs) + case *types.Request_PrepareProposal: + _, ok = res.Value.(*types.Response_PrepareProposal) } return ok } diff --git a/abci/example/kvstore/kvstore.go b/abci/example/kvstore/kvstore.go index 5b2538f817..1e898e9c13 100644 --- a/abci/example/kvstore/kvstore.go +++ b/abci/example/kvstore/kvstore.go @@ -171,7 +171,8 @@ func (app *Application) Query(reqQuery types.RequestQuery) (resQuery types.Respo return resQuery } -func (app *Application) PreprocessTxs( - req types.RequestPreprocessTxs) types.ResponsePreprocessTxs { - return types.ResponsePreprocessTxs{Txs: req.Txs} +func (app *Application) PrepareProposal(req types.RequestPrepareProposal) types.ResponsePrepareProposal { + return types.ResponsePrepareProposal{ + BlockData: req.BlockData, + } } diff --git a/abci/example/kvstore/persistent_kvstore.go b/abci/example/kvstore/persistent_kvstore.go index ed2231d3d5..507c869727 100644 --- a/abci/example/kvstore/persistent_kvstore.go +++ b/abci/example/kvstore/persistent_kvstore.go @@ -170,9 +170,13 @@ func (app *PersistentKVStoreApplication) ApplySnapshotChunk( return types.ResponseApplySnapshotChunk{Result: types.ResponseApplySnapshotChunk_ABORT} } -func (app *PersistentKVStoreApplication) PreprocessTxs( - req types.RequestPreprocessTxs) types.ResponsePreprocessTxs { - return types.ResponsePreprocessTxs{Txs: req.Txs} +func (app *PersistentKVStoreApplication) PrepareProposal( + req types.RequestPrepareProposal) types.ResponsePrepareProposal { + if len(req.BlockData) >= 1 { + req.BlockData[1] = []byte("modified tx") + } + + return types.ResponsePrepareProposal{BlockData: req.BlockData} } //--------------------------------------------- diff --git a/abci/server/socket_server.go b/abci/server/socket_server.go index 700e810669..120071eeaf 100644 --- a/abci/server/socket_server.go +++ b/abci/server/socket_server.go @@ -230,6 +230,9 @@ func (s *SocketServer) handleRequest(req *types.Request, responses chan<- *types case *types.Request_OfferSnapshot: res := s.app.OfferSnapshot(*r.OfferSnapshot) responses <- types.ToResponseOfferSnapshot(res) + case *types.Request_PrepareProposal: + res := s.app.PrepareProposal(*r.PrepareProposal) + responses <- types.ToResponsePrepareProposal(res) case *types.Request_LoadSnapshotChunk: res := s.app.LoadSnapshotChunk(*r.LoadSnapshotChunk) responses <- types.ToResponseLoadSnapshotChunk(res) diff --git a/abci/types/application.go b/abci/types/application.go index 7f1517c872..ce1aa18f01 100644 --- a/abci/types/application.go +++ b/abci/types/application.go @@ -19,12 +19,12 @@ type Application interface { CheckTx(RequestCheckTx) ResponseCheckTx // Validate a tx for the mempool // Consensus Connection - InitChain(RequestInitChain) ResponseInitChain // Initialize blockchain w validators/other info from TendermintCore - BeginBlock(RequestBeginBlock) ResponseBeginBlock // Signals the beginning of a block - DeliverTx(RequestDeliverTx) ResponseDeliverTx // Deliver a tx for full processing - EndBlock(RequestEndBlock) ResponseEndBlock // Signals the end of a block, returns changes to the validator set - Commit() ResponseCommit // Commit the state and return the application Merkle root hash - PreprocessTxs(RequestPreprocessTxs) ResponsePreprocessTxs // State machine preprocessing of txs + InitChain(RequestInitChain) ResponseInitChain // Initialize blockchain w validators/other info from TendermintCore + PrepareProposal(RequestPrepareProposal) ResponsePrepareProposal + BeginBlock(RequestBeginBlock) ResponseBeginBlock // Signals the beginning of a block + DeliverTx(RequestDeliverTx) ResponseDeliverTx // Deliver a tx for full processing + EndBlock(RequestEndBlock) ResponseEndBlock // Signals the end of a block, returns changes to the validator set + Commit() ResponseCommit // Commit the state and return the application Merkle root hash // State Sync Connection ListSnapshots(RequestListSnapshots) ResponseListSnapshots // List available snapshots @@ -97,8 +97,8 @@ func (BaseApplication) ApplySnapshotChunk(req RequestApplySnapshotChunk) Respons return ResponseApplySnapshotChunk{} } -func (BaseApplication) PreprocessTxs(req RequestPreprocessTxs) ResponsePreprocessTxs { - return ResponsePreprocessTxs{Txs: req.Txs} +func (BaseApplication) PrepareProposal(req RequestPrepareProposal) ResponsePrepareProposal { + return ResponsePrepareProposal{} } //------------------------------------------------------- @@ -189,8 +189,8 @@ func (app *GRPCApplication) ApplySnapshotChunk( return &res, nil } -func (app *GRPCApplication) PreprocessTxs( - ctx context.Context, req *RequestPreprocessTxs) (*ResponsePreprocessTxs, error) { - res := app.app.PreprocessTxs(*req) +func (app *GRPCApplication) PrepareProposal( + ctx context.Context, req *RequestPrepareProposal) (*ResponsePrepareProposal, error) { + res := app.app.PrepareProposal(*req) return &res, nil } diff --git a/abci/types/messages.go b/abci/types/messages.go index 06754be814..599e8c05f0 100644 --- a/abci/types/messages.go +++ b/abci/types/messages.go @@ -159,9 +159,9 @@ func ToRequestApplySnapshotChunk(req RequestApplySnapshotChunk) *Request { } } -func ToRequestPreprocessTxs(res RequestPreprocessTxs) *Request { +func ToRequestPrepareProposal(req RequestPrepareProposal) *Request { return &Request{ - Value: &Request_PreprocessTxs{&res}, + Value: &Request_PrepareProposal{&req}, } } @@ -263,8 +263,8 @@ func ToResponseApplySnapshotChunk(res ResponseApplySnapshotChunk) *Response { } } -func ToResponsePreprocessTx(res ResponsePreprocessTxs) *Response { +func ToResponsePrepareProposal(res ResponsePrepareProposal) *Response { return &Response{ - Value: &Response_PreprocessTxs{&res}, + Value: &Response_PrepareProposal{&res}, } } diff --git a/abci/types/types.pb.go b/abci/types/types.pb.go index 7215e34d94..8176140d58 100644 --- a/abci/types/types.pb.go +++ b/abci/types/types.pb.go @@ -120,7 +120,7 @@ func (x ResponseOfferSnapshot_Result) String() string { } func (ResponseOfferSnapshot_Result) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{31, 0} + return fileDescriptor_252557cfdd89a31a, []int{29, 0} } type ResponseApplySnapshotChunk_Result int32 @@ -157,7 +157,7 @@ func (x ResponseApplySnapshotChunk_Result) String() string { } func (ResponseApplySnapshotChunk_Result) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{33, 0} + return fileDescriptor_252557cfdd89a31a, []int{31, 0} } type Request struct { @@ -177,7 +177,7 @@ type Request struct { // *Request_OfferSnapshot // *Request_LoadSnapshotChunk // *Request_ApplySnapshotChunk - // *Request_PreprocessTxs + // *Request_PrepareProposal Value isRequest_Value `protobuf_oneof:"value"` } @@ -268,6 +268,9 @@ type Request_ApplySnapshotChunk struct { type Request_PreprocessTxs struct { PreprocessTxs *RequestPreprocessTxs `protobuf:"bytes,16,opt,name=preprocess_txs,json=preprocessTxs,proto3,oneof" json:"preprocess_txs,omitempty"` } +type Request_PrepareProposal struct { + PrepareProposal *RequestPrepareProposal `protobuf:"bytes,15,opt,name=prepare_proposal,json=prepareProposal,proto3,oneof" json:"prepare_proposal,omitempty"` +} func (*Request_Echo) isRequest_Value() {} func (*Request_Flush) isRequest_Value() {} @@ -284,7 +287,7 @@ func (*Request_ListSnapshots) isRequest_Value() {} func (*Request_OfferSnapshot) isRequest_Value() {} func (*Request_LoadSnapshotChunk) isRequest_Value() {} func (*Request_ApplySnapshotChunk) isRequest_Value() {} -func (*Request_PreprocessTxs) isRequest_Value() {} +func (*Request_PrepareProposal) isRequest_Value() {} func (m *Request) GetValue() isRequest_Value { if m != nil { @@ -398,9 +401,9 @@ func (m *Request) GetApplySnapshotChunk() *RequestApplySnapshotChunk { return nil } -func (m *Request) GetPreprocessTxs() *RequestPreprocessTxs { - if x, ok := m.GetValue().(*Request_PreprocessTxs); ok { - return x.PreprocessTxs +func (m *Request) GetPrepareProposal() *RequestPrepareProposal { + if x, ok := m.GetValue().(*Request_PrepareProposal); ok { + return x.PrepareProposal } return nil } @@ -423,7 +426,7 @@ func (*Request) XXX_OneofWrappers() []interface{} { (*Request_OfferSnapshot)(nil), (*Request_LoadSnapshotChunk)(nil), (*Request_ApplySnapshotChunk)(nil), - (*Request_PreprocessTxs)(nil), + (*Request_PrepareProposal)(nil), } } @@ -1228,22 +1231,26 @@ func (m *RequestApplySnapshotChunk) GetSender() string { return "" } -type RequestPreprocessTxs struct { - Txs [][]byte `protobuf:"bytes,1,rep,name=txs,proto3" json:"txs,omitempty"` +type RequestPrepareProposal struct { + // block_data is an array of transactions that will be included in a block, + // sent to the app for possible modifications. + // applications can not exceed the size of the data passed to it. + BlockData [][]byte `protobuf:"bytes,1,rep,name=block_data,json=blockData,proto3" json:"block_data,omitempty"` + BlockDataSize int64 `protobuf:"varint,2,opt,name=block_data_size,json=blockDataSize,proto3" json:"block_data_size,omitempty"` } -func (m *RequestPreprocessTxs) Reset() { *m = RequestPreprocessTxs{} } -func (m *RequestPreprocessTxs) String() string { return proto.CompactTextString(m) } -func (*RequestPreprocessTxs) ProtoMessage() {} -func (*RequestPreprocessTxs) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{16} +func (m *RequestPrepareProposal) Reset() { *m = RequestPrepareProposal{} } +func (m *RequestPrepareProposal) String() string { return proto.CompactTextString(m) } +func (*RequestPrepareProposal) ProtoMessage() {} +func (*RequestPrepareProposal) Descriptor() ([]byte, []int) { + return fileDescriptor_252557cfdd89a31a, []int{15} } -func (m *RequestPreprocessTxs) XXX_Unmarshal(b []byte) error { +func (m *RequestPrepareProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *RequestPreprocessTxs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *RequestPrepareProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_RequestPreprocessTxs.Marshal(b, m, deterministic) + return xxx_messageInfo_RequestPrepareProposal.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1253,25 +1260,32 @@ func (m *RequestPreprocessTxs) XXX_Marshal(b []byte, deterministic bool) ([]byte return b[:n], nil } } -func (m *RequestPreprocessTxs) XXX_Merge(src proto.Message) { - xxx_messageInfo_RequestPreprocessTxs.Merge(m, src) +func (m *RequestPrepareProposal) XXX_Merge(src proto.Message) { + xxx_messageInfo_RequestPrepareProposal.Merge(m, src) } -func (m *RequestPreprocessTxs) XXX_Size() int { +func (m *RequestPrepareProposal) XXX_Size() int { return m.Size() } -func (m *RequestPreprocessTxs) XXX_DiscardUnknown() { - xxx_messageInfo_RequestPreprocessTxs.DiscardUnknown(m) +func (m *RequestPrepareProposal) XXX_DiscardUnknown() { + xxx_messageInfo_RequestPrepareProposal.DiscardUnknown(m) } -var xxx_messageInfo_RequestPreprocessTxs proto.InternalMessageInfo +var xxx_messageInfo_RequestPrepareProposal proto.InternalMessageInfo -func (m *RequestPreprocessTxs) GetTxs() [][]byte { +func (m *RequestPrepareProposal) GetBlockData() [][]byte { if m != nil { - return m.Txs + return m.BlockData } return nil } +func (m *RequestPrepareProposal) GetBlockDataSize() int64 { + if m != nil { + return m.BlockDataSize + } + return 0 +} + type Response struct { // Types that are valid to be assigned to Value: // *Response_Exception @@ -1290,7 +1304,7 @@ type Response struct { // *Response_OfferSnapshot // *Response_LoadSnapshotChunk // *Response_ApplySnapshotChunk - // *Response_PreprocessTxs + // *Response_PrepareProposal Value isResponse_Value `protobuf_oneof:"value"` } @@ -1298,7 +1312,7 @@ func (m *Response) Reset() { *m = Response{} } func (m *Response) String() string { return proto.CompactTextString(m) } func (*Response) ProtoMessage() {} func (*Response) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{17} + return fileDescriptor_252557cfdd89a31a, []int{16} } func (m *Response) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1384,6 +1398,9 @@ type Response_ApplySnapshotChunk struct { type Response_PreprocessTxs struct { PreprocessTxs *ResponsePreprocessTxs `protobuf:"bytes,17,opt,name=preprocess_txs,json=preprocessTxs,proto3,oneof" json:"preprocess_txs,omitempty"` } +type Response_PrepareProposal struct { + PrepareProposal *ResponsePrepareProposal `protobuf:"bytes,16,opt,name=prepare_proposal,json=prepareProposal,proto3,oneof" json:"prepare_proposal,omitempty"` +} func (*Response_Exception) isResponse_Value() {} func (*Response_Echo) isResponse_Value() {} @@ -1401,7 +1418,7 @@ func (*Response_ListSnapshots) isResponse_Value() {} func (*Response_OfferSnapshot) isResponse_Value() {} func (*Response_LoadSnapshotChunk) isResponse_Value() {} func (*Response_ApplySnapshotChunk) isResponse_Value() {} -func (*Response_PreprocessTxs) isResponse_Value() {} +func (*Response_PrepareProposal) isResponse_Value() {} func (m *Response) GetValue() isResponse_Value { if m != nil { @@ -1522,9 +1539,9 @@ func (m *Response) GetApplySnapshotChunk() *ResponseApplySnapshotChunk { return nil } -func (m *Response) GetPreprocessTxs() *ResponsePreprocessTxs { - if x, ok := m.GetValue().(*Response_PreprocessTxs); ok { - return x.PreprocessTxs +func (m *Response) GetPrepareProposal() *ResponsePrepareProposal { + if x, ok := m.GetValue().(*Response_PrepareProposal); ok { + return x.PrepareProposal } return nil } @@ -1548,7 +1565,7 @@ func (*Response) XXX_OneofWrappers() []interface{} { (*Response_OfferSnapshot)(nil), (*Response_LoadSnapshotChunk)(nil), (*Response_ApplySnapshotChunk)(nil), - (*Response_PreprocessTxs)(nil), + (*Response_PrepareProposal)(nil), } } @@ -1561,7 +1578,7 @@ func (m *ResponseException) Reset() { *m = ResponseException{} } func (m *ResponseException) String() string { return proto.CompactTextString(m) } func (*ResponseException) ProtoMessage() {} func (*ResponseException) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{18} + return fileDescriptor_252557cfdd89a31a, []int{17} } func (m *ResponseException) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1605,7 +1622,7 @@ func (m *ResponseEcho) Reset() { *m = ResponseEcho{} } func (m *ResponseEcho) String() string { return proto.CompactTextString(m) } func (*ResponseEcho) ProtoMessage() {} func (*ResponseEcho) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{19} + return fileDescriptor_252557cfdd89a31a, []int{18} } func (m *ResponseEcho) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1648,7 +1665,7 @@ func (m *ResponseFlush) Reset() { *m = ResponseFlush{} } func (m *ResponseFlush) String() string { return proto.CompactTextString(m) } func (*ResponseFlush) ProtoMessage() {} func (*ResponseFlush) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{20} + return fileDescriptor_252557cfdd89a31a, []int{19} } func (m *ResponseFlush) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1689,7 +1706,7 @@ func (m *ResponseInfo) Reset() { *m = ResponseInfo{} } func (m *ResponseInfo) String() string { return proto.CompactTextString(m) } func (*ResponseInfo) ProtoMessage() {} func (*ResponseInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{21} + return fileDescriptor_252557cfdd89a31a, []int{20} } func (m *ResponseInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1825,7 +1842,7 @@ func (m *ResponseInitChain) Reset() { *m = ResponseInitChain{} } func (m *ResponseInitChain) String() string { return proto.CompactTextString(m) } func (*ResponseInitChain) ProtoMessage() {} func (*ResponseInitChain) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{23} + return fileDescriptor_252557cfdd89a31a, []int{21} } func (m *ResponseInitChain) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1892,7 +1909,7 @@ func (m *ResponseQuery) Reset() { *m = ResponseQuery{} } func (m *ResponseQuery) String() string { return proto.CompactTextString(m) } func (*ResponseQuery) ProtoMessage() {} func (*ResponseQuery) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{24} + return fileDescriptor_252557cfdd89a31a, []int{22} } func (m *ResponseQuery) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1992,7 +2009,7 @@ func (m *ResponseBeginBlock) Reset() { *m = ResponseBeginBlock{} } func (m *ResponseBeginBlock) String() string { return proto.CompactTextString(m) } func (*ResponseBeginBlock) ProtoMessage() {} func (*ResponseBeginBlock) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{25} + return fileDescriptor_252557cfdd89a31a, []int{23} } func (m *ResponseBeginBlock) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2043,7 +2060,7 @@ func (m *ResponseCheckTx) Reset() { *m = ResponseCheckTx{} } func (m *ResponseCheckTx) String() string { return proto.CompactTextString(m) } func (*ResponseCheckTx) ProtoMessage() {} func (*ResponseCheckTx) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{26} + return fileDescriptor_252557cfdd89a31a, []int{24} } func (m *ResponseCheckTx) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2143,7 +2160,7 @@ func (m *ResponseDeliverTx) Reset() { *m = ResponseDeliverTx{} } func (m *ResponseDeliverTx) String() string { return proto.CompactTextString(m) } func (*ResponseDeliverTx) ProtoMessage() {} func (*ResponseDeliverTx) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{27} + return fileDescriptor_252557cfdd89a31a, []int{25} } func (m *ResponseDeliverTx) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2238,7 +2255,7 @@ func (m *ResponseEndBlock) Reset() { *m = ResponseEndBlock{} } func (m *ResponseEndBlock) String() string { return proto.CompactTextString(m) } func (*ResponseEndBlock) ProtoMessage() {} func (*ResponseEndBlock) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{28} + return fileDescriptor_252557cfdd89a31a, []int{26} } func (m *ResponseEndBlock) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2298,7 +2315,7 @@ func (m *ResponseCommit) Reset() { *m = ResponseCommit{} } func (m *ResponseCommit) String() string { return proto.CompactTextString(m) } func (*ResponseCommit) ProtoMessage() {} func (*ResponseCommit) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{29} + return fileDescriptor_252557cfdd89a31a, []int{27} } func (m *ResponseCommit) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2349,7 +2366,7 @@ func (m *ResponseListSnapshots) Reset() { *m = ResponseListSnapshots{} } func (m *ResponseListSnapshots) String() string { return proto.CompactTextString(m) } func (*ResponseListSnapshots) ProtoMessage() {} func (*ResponseListSnapshots) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{30} + return fileDescriptor_252557cfdd89a31a, []int{28} } func (m *ResponseListSnapshots) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2393,7 +2410,7 @@ func (m *ResponseOfferSnapshot) Reset() { *m = ResponseOfferSnapshot{} } func (m *ResponseOfferSnapshot) String() string { return proto.CompactTextString(m) } func (*ResponseOfferSnapshot) ProtoMessage() {} func (*ResponseOfferSnapshot) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{31} + return fileDescriptor_252557cfdd89a31a, []int{29} } func (m *ResponseOfferSnapshot) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2437,7 +2454,7 @@ func (m *ResponseLoadSnapshotChunk) Reset() { *m = ResponseLoadSnapshotC func (m *ResponseLoadSnapshotChunk) String() string { return proto.CompactTextString(m) } func (*ResponseLoadSnapshotChunk) ProtoMessage() {} func (*ResponseLoadSnapshotChunk) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{32} + return fileDescriptor_252557cfdd89a31a, []int{30} } func (m *ResponseLoadSnapshotChunk) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2483,7 +2500,7 @@ func (m *ResponseApplySnapshotChunk) Reset() { *m = ResponseApplySnapsho func (m *ResponseApplySnapshotChunk) String() string { return proto.CompactTextString(m) } func (*ResponseApplySnapshotChunk) ProtoMessage() {} func (*ResponseApplySnapshotChunk) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{33} + return fileDescriptor_252557cfdd89a31a, []int{31} } func (m *ResponseApplySnapshotChunk) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2533,16 +2550,60 @@ func (m *ResponseApplySnapshotChunk) GetRejectSenders() []string { return nil } -type ResponsePreprocessTxs struct { - Txs [][]byte `protobuf:"bytes,1,rep,name=txs,proto3" json:"txs,omitempty"` - Messages *types1.Messages `protobuf:"bytes,2,opt,name=messages,proto3" json:"messages,omitempty"` +type ResponsePrepareProposal struct { + BlockData [][]byte `protobuf:"bytes,1,rep,name=block_data,json=blockData,proto3" json:"block_data,omitempty"` } -func (m *ResponsePreprocessTxs) Reset() { *m = ResponsePreprocessTxs{} } -func (m *ResponsePreprocessTxs) String() string { return proto.CompactTextString(m) } -func (*ResponsePreprocessTxs) ProtoMessage() {} -func (*ResponsePreprocessTxs) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{34} +func (m *ResponsePrepareProposal) Reset() { *m = ResponsePrepareProposal{} } +func (m *ResponsePrepareProposal) String() string { return proto.CompactTextString(m) } +func (*ResponsePrepareProposal) ProtoMessage() {} +func (*ResponsePrepareProposal) Descriptor() ([]byte, []int) { + return fileDescriptor_252557cfdd89a31a, []int{32} +} +func (m *ResponsePrepareProposal) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ResponsePrepareProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ResponsePrepareProposal.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ResponsePrepareProposal) XXX_Merge(src proto.Message) { + xxx_messageInfo_ResponsePrepareProposal.Merge(m, src) +} +func (m *ResponsePrepareProposal) XXX_Size() int { + return m.Size() +} +func (m *ResponsePrepareProposal) XXX_DiscardUnknown() { + xxx_messageInfo_ResponsePrepareProposal.DiscardUnknown(m) +} + +var xxx_messageInfo_ResponsePrepareProposal proto.InternalMessageInfo + +func (m *ResponsePrepareProposal) GetBlockData() [][]byte { + if m != nil { + return m.BlockData + } + return nil +} + +type LastCommitInfo struct { + Round int32 `protobuf:"varint,1,opt,name=round,proto3" json:"round,omitempty"` + Votes []VoteInfo `protobuf:"bytes,2,rep,name=votes,proto3" json:"votes"` +} + +func (m *LastCommitInfo) Reset() { *m = LastCommitInfo{} } +func (m *LastCommitInfo) String() string { return proto.CompactTextString(m) } +func (*LastCommitInfo) ProtoMessage() {} +func (*LastCommitInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_252557cfdd89a31a, []int{33} } func (m *ResponsePreprocessTxs) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2594,11 +2655,11 @@ type ConsensusParams struct { Version *types1.VersionParams `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"` } -func (m *ConsensusParams) Reset() { *m = ConsensusParams{} } -func (m *ConsensusParams) String() string { return proto.CompactTextString(m) } -func (*ConsensusParams) ProtoMessage() {} -func (*ConsensusParams) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{35} +func (m *Event) Reset() { *m = Event{} } +func (m *Event) String() string { return proto.CompactTextString(m) } +func (*Event) ProtoMessage() {} +func (*Event) Descriptor() ([]byte, []int) { + return fileDescriptor_252557cfdd89a31a, []int{34} } func (m *ConsensusParams) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2828,7 +2889,7 @@ func (m *EventAttribute) Reset() { *m = EventAttribute{} } func (m *EventAttribute) String() string { return proto.CompactTextString(m) } func (*EventAttribute) ProtoMessage() {} func (*EventAttribute) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{39} + return fileDescriptor_252557cfdd89a31a, []int{35} } func (m *EventAttribute) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2893,7 +2954,7 @@ func (m *TxResult) Reset() { *m = TxResult{} } func (m *TxResult) String() string { return proto.CompactTextString(m) } func (*TxResult) ProtoMessage() {} func (*TxResult) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{40} + return fileDescriptor_252557cfdd89a31a, []int{36} } func (m *TxResult) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2968,7 +3029,7 @@ func (m *Validator) Reset() { *m = Validator{} } func (m *Validator) String() string { return proto.CompactTextString(m) } func (*Validator) ProtoMessage() {} func (*Validator) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{41} + return fileDescriptor_252557cfdd89a31a, []int{37} } func (m *Validator) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3021,7 +3082,7 @@ func (m *ValidatorUpdate) Reset() { *m = ValidatorUpdate{} } func (m *ValidatorUpdate) String() string { return proto.CompactTextString(m) } func (*ValidatorUpdate) ProtoMessage() {} func (*ValidatorUpdate) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{42} + return fileDescriptor_252557cfdd89a31a, []int{38} } func (m *ValidatorUpdate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3074,7 +3135,7 @@ func (m *VoteInfo) Reset() { *m = VoteInfo{} } func (m *VoteInfo) String() string { return proto.CompactTextString(m) } func (*VoteInfo) ProtoMessage() {} func (*VoteInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{43} + return fileDescriptor_252557cfdd89a31a, []int{39} } func (m *VoteInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3135,7 +3196,7 @@ func (m *Evidence) Reset() { *m = Evidence{} } func (m *Evidence) String() string { return proto.CompactTextString(m) } func (*Evidence) ProtoMessage() {} func (*Evidence) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{44} + return fileDescriptor_252557cfdd89a31a, []int{40} } func (m *Evidence) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3211,7 +3272,7 @@ func (m *Snapshot) Reset() { *m = Snapshot{} } func (m *Snapshot) String() string { return proto.CompactTextString(m) } func (*Snapshot) ProtoMessage() {} func (*Snapshot) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{45} + return fileDescriptor_252557cfdd89a31a, []int{41} } func (m *Snapshot) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3296,7 +3357,7 @@ func init() { proto.RegisterType((*RequestOfferSnapshot)(nil), "tendermint.abci.RequestOfferSnapshot") proto.RegisterType((*RequestLoadSnapshotChunk)(nil), "tendermint.abci.RequestLoadSnapshotChunk") proto.RegisterType((*RequestApplySnapshotChunk)(nil), "tendermint.abci.RequestApplySnapshotChunk") - proto.RegisterType((*RequestPreprocessTxs)(nil), "tendermint.abci.RequestPreprocessTxs") + proto.RegisterType((*RequestPrepareProposal)(nil), "tendermint.abci.RequestPrepareProposal") proto.RegisterType((*Response)(nil), "tendermint.abci.Response") proto.RegisterType((*ResponseException)(nil), "tendermint.abci.ResponseException") proto.RegisterType((*ResponseEcho)(nil), "tendermint.abci.ResponseEcho") @@ -3314,9 +3375,7 @@ func init() { proto.RegisterType((*ResponseOfferSnapshot)(nil), "tendermint.abci.ResponseOfferSnapshot") proto.RegisterType((*ResponseLoadSnapshotChunk)(nil), "tendermint.abci.ResponseLoadSnapshotChunk") proto.RegisterType((*ResponseApplySnapshotChunk)(nil), "tendermint.abci.ResponseApplySnapshotChunk") - proto.RegisterType((*ResponsePreprocessTxs)(nil), "tendermint.abci.ResponsePreprocessTxs") - proto.RegisterType((*ConsensusParams)(nil), "tendermint.abci.ConsensusParams") - proto.RegisterType((*BlockParams)(nil), "tendermint.abci.BlockParams") + proto.RegisterType((*ResponsePrepareProposal)(nil), "tendermint.abci.ResponsePrepareProposal") proto.RegisterType((*LastCommitInfo)(nil), "tendermint.abci.LastCommitInfo") proto.RegisterType((*Event)(nil), "tendermint.abci.Event") proto.RegisterType((*EventAttribute)(nil), "tendermint.abci.EventAttribute") @@ -3331,186 +3390,177 @@ func init() { func init() { proto.RegisterFile("tendermint/abci/types.proto", fileDescriptor_252557cfdd89a31a) } var fileDescriptor_252557cfdd89a31a = []byte{ - // 2850 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x5a, 0x4b, 0x77, 0x23, 0xc5, - 0xf5, 0xd7, 0xfb, 0x71, 0x6d, 0x3d, 0x5c, 0x33, 0x0c, 0xa2, 0x19, 0xec, 0xa1, 0xe7, 0xc0, 0x7f, - 0x18, 0xc0, 0xfe, 0x63, 0x0e, 0x13, 0x08, 0x24, 0x60, 0x09, 0x0d, 0x32, 0x36, 0x96, 0xd3, 0xd6, - 0x0c, 0x79, 0x31, 0x4d, 0x49, 0x2a, 0x4b, 0xcd, 0x48, 0xdd, 0x4d, 0x77, 0xc9, 0xd8, 0x2c, 0xf3, - 0xd8, 0x90, 0x0d, 0xcb, 0x6c, 0xf8, 0x0c, 0xd9, 0xe5, 0x64, 0x95, 0x4d, 0x36, 0x9c, 0x93, 0x0d, - 0xcb, 0xac, 0x48, 0xc2, 0xec, 0xf2, 0x05, 0xb2, 0xca, 0x49, 0x4e, 0x3d, 0xfa, 0x25, 0xa9, 0x25, - 0x19, 0xb2, 0xcb, 0xae, 0xea, 0xf6, 0xbd, 0xb7, 0x55, 0xb7, 0xab, 0x7e, 0xf7, 0x77, 0x6f, 0x09, - 0x9e, 0xa4, 0xc4, 0xec, 0x13, 0x67, 0x6c, 0x98, 0x74, 0x07, 0x77, 0x7b, 0xc6, 0x0e, 0xbd, 0xb0, - 0x89, 0xbb, 0x6d, 0x3b, 0x16, 0xb5, 0x50, 0x25, 0x78, 0xb8, 0xcd, 0x1e, 0x2a, 0x4f, 0x85, 0xb4, - 0x7b, 0xce, 0x85, 0x4d, 0xad, 0x1d, 0xdb, 0xb1, 0xac, 0x53, 0xa1, 0xaf, 0x5c, 0x0f, 0x3d, 0xe6, - 0x7e, 0xc2, 0xde, 0x22, 0x4f, 0xa5, 0xf1, 0x43, 0x72, 0xe1, 0x3d, 0x7d, 0x6a, 0xc6, 0xd6, 0xc6, - 0x0e, 0x1e, 0x7b, 0x8f, 0xb7, 0x06, 0x96, 0x35, 0x18, 0x91, 0x1d, 0x3e, 0xeb, 0x4e, 0x4e, 0x77, - 0xa8, 0x31, 0x26, 0x2e, 0xc5, 0x63, 0x5b, 0x2a, 0x5c, 0x1d, 0x58, 0x03, 0x8b, 0x0f, 0x77, 0xd8, - 0x48, 0x48, 0xd5, 0xbf, 0x17, 0x20, 0xaf, 0x91, 0x8f, 0x27, 0xc4, 0xa5, 0x68, 0x17, 0x32, 0xa4, - 0x37, 0xb4, 0x6a, 0xc9, 0x1b, 0xc9, 0x5b, 0x6b, 0xbb, 0xd7, 0xb7, 0xa7, 0x16, 0xb7, 0x2d, 0xf5, - 0x9a, 0xbd, 0xa1, 0xd5, 0x4a, 0x68, 0x5c, 0x17, 0xbd, 0x02, 0xd9, 0xd3, 0xd1, 0xc4, 0x1d, 0xd6, - 0x52, 0xdc, 0xe8, 0xa9, 0x38, 0xa3, 0xbb, 0x4c, 0xa9, 0x95, 0xd0, 0x84, 0x36, 0x7b, 0x95, 0x61, - 0x9e, 0x5a, 0xb5, 0xf4, 0xe2, 0x57, 0xed, 0x9b, 0xa7, 0xfc, 0x55, 0x4c, 0x17, 0xd5, 0x01, 0x5c, - 0x42, 0x75, 0xcb, 0xa6, 0x86, 0x65, 0xd6, 0x32, 0xdc, 0xf2, 0xe9, 0x38, 0xcb, 0x13, 0x42, 0xdb, - 0x5c, 0xb1, 0x95, 0xd0, 0x8a, 0xae, 0x37, 0x61, 0x3e, 0x0c, 0xd3, 0xa0, 0x7a, 0x6f, 0x88, 0x0d, - 0xb3, 0x96, 0x5d, 0xec, 0x63, 0xdf, 0x34, 0x68, 0x83, 0x29, 0x32, 0x1f, 0x86, 0x37, 0x61, 0x4b, - 0xfe, 0x78, 0x42, 0x9c, 0x8b, 0x5a, 0x6e, 0xf1, 0x92, 0x7f, 0xc4, 0x94, 0xd8, 0x92, 0xb9, 0x36, - 0x6a, 0xc2, 0x5a, 0x97, 0x0c, 0x0c, 0x53, 0xef, 0x8e, 0xac, 0xde, 0xc3, 0x5a, 0x9e, 0x1b, 0xab, - 0x71, 0xc6, 0x75, 0xa6, 0x5a, 0x67, 0x9a, 0xad, 0x84, 0x06, 0x5d, 0x7f, 0x86, 0xde, 0x80, 0x42, - 0x6f, 0x48, 0x7a, 0x0f, 0x75, 0x7a, 0x5e, 0x2b, 0x70, 0x1f, 0x5b, 0x71, 0x3e, 0x1a, 0x4c, 0xaf, - 0x73, 0xde, 0x4a, 0x68, 0xf9, 0x9e, 0x18, 0xb2, 0xf5, 0xf7, 0xc9, 0xc8, 0x38, 0x23, 0x0e, 0xb3, - 0x2f, 0x2e, 0x5e, 0xff, 0xdb, 0x42, 0x93, 0x7b, 0x28, 0xf6, 0xbd, 0x09, 0x7a, 0x13, 0x8a, 0xc4, - 0xec, 0xcb, 0x65, 0x00, 0x77, 0x71, 0x23, 0x76, 0xaf, 0x98, 0x7d, 0x6f, 0x11, 0x05, 0x22, 0xc7, - 0xe8, 0x55, 0xc8, 0xf5, 0xac, 0xf1, 0xd8, 0xa0, 0xb5, 0x35, 0x6e, 0xbd, 0x19, 0xbb, 0x00, 0xae, - 0xd5, 0x4a, 0x68, 0x52, 0x1f, 0x1d, 0x41, 0x79, 0x64, 0xb8, 0x54, 0x77, 0x4d, 0x6c, 0xbb, 0x43, - 0x8b, 0xba, 0xb5, 0x75, 0xee, 0xe1, 0x99, 0x38, 0x0f, 0x87, 0x86, 0x4b, 0x4f, 0x3c, 0xe5, 0x56, - 0x42, 0x2b, 0x8d, 0xc2, 0x02, 0xe6, 0xcf, 0x3a, 0x3d, 0x25, 0x8e, 0xef, 0xb0, 0x56, 0x5a, 0xec, - 0xaf, 0xcd, 0xb4, 0x3d, 0x7b, 0xe6, 0xcf, 0x0a, 0x0b, 0xd0, 0xcf, 0xe0, 0xca, 0xc8, 0xc2, 0x7d, - 0xdf, 0x9d, 0xde, 0x1b, 0x4e, 0xcc, 0x87, 0xb5, 0x32, 0x77, 0xfa, 0x5c, 0xec, 0x8f, 0xb4, 0x70, - 0xdf, 0x73, 0xd1, 0x60, 0x06, 0xad, 0x84, 0xb6, 0x31, 0x9a, 0x16, 0xa2, 0x07, 0x70, 0x15, 0xdb, - 0xf6, 0xe8, 0x62, 0xda, 0x7b, 0x85, 0x7b, 0xbf, 0x1d, 0xe7, 0x7d, 0x8f, 0xd9, 0x4c, 0xbb, 0x47, - 0x78, 0x46, 0xca, 0x82, 0x61, 0x3b, 0xc4, 0x76, 0xac, 0x1e, 0x71, 0x5d, 0x9d, 0x9e, 0xbb, 0xb5, - 0xea, 0xe2, 0x60, 0x1c, 0xfb, 0xda, 0x9d, 0x73, 0x1e, 0x5c, 0x3b, 0x2c, 0xa8, 0xe7, 0x21, 0x7b, - 0x86, 0x47, 0x13, 0xa2, 0xfe, 0x1f, 0xac, 0x85, 0xa0, 0x03, 0xd5, 0x20, 0x3f, 0x26, 0xae, 0x8b, - 0x07, 0x84, 0x23, 0x4d, 0x51, 0xf3, 0xa6, 0x6a, 0x19, 0xd6, 0xc3, 0x70, 0xa1, 0x8e, 0x7d, 0x43, - 0x06, 0x04, 0xcc, 0xf0, 0x8c, 0x38, 0x2e, 0x3b, 0xfd, 0xd2, 0x50, 0x4e, 0xd1, 0x4d, 0x28, 0xf1, - 0xed, 0xa8, 0x7b, 0xcf, 0x19, 0x1a, 0x65, 0xb4, 0x75, 0x2e, 0xbc, 0x2f, 0x95, 0xb6, 0x60, 0xcd, - 0xde, 0xb5, 0x7d, 0x95, 0x34, 0x57, 0x01, 0x7b, 0xd7, 0x96, 0x0a, 0xea, 0xf7, 0xa1, 0x3a, 0x8d, - 0x1e, 0xa8, 0x0a, 0xe9, 0x87, 0xe4, 0x42, 0xbe, 0x8f, 0x0d, 0xd1, 0x55, 0xb9, 0x2c, 0xfe, 0x8e, - 0xa2, 0x26, 0xd7, 0xf8, 0xe7, 0x94, 0x6f, 0xec, 0xc3, 0x06, 0x7a, 0x15, 0x32, 0x0c, 0x85, 0x25, - 0xa0, 0x2a, 0xdb, 0x02, 0xa2, 0xb7, 0x3d, 0x88, 0xde, 0xee, 0x78, 0x10, 0x5d, 0x2f, 0x7c, 0xf9, - 0xf5, 0x56, 0xe2, 0xf3, 0xbf, 0x6e, 0x25, 0x35, 0x6e, 0x81, 0x9e, 0x60, 0xa7, 0x1c, 0x1b, 0xa6, - 0x6e, 0xf4, 0xe5, 0x7b, 0xf2, 0x7c, 0xbe, 0xdf, 0x47, 0x07, 0x50, 0xed, 0x59, 0xa6, 0x4b, 0x4c, - 0x77, 0xe2, 0xea, 0x22, 0x05, 0x48, 0x18, 0x9d, 0x3d, 0x85, 0x0d, 0x4f, 0xf1, 0x98, 0xeb, 0x69, - 0x95, 0x5e, 0x54, 0x80, 0xee, 0x02, 0x9c, 0xe1, 0x91, 0xd1, 0xc7, 0xd4, 0x72, 0xdc, 0x5a, 0xe6, - 0x46, 0x7a, 0xae, 0x9b, 0xfb, 0x9e, 0xca, 0x3d, 0xbb, 0x8f, 0x29, 0xa9, 0x67, 0xd8, 0xaf, 0xd5, - 0x42, 0x96, 0xe8, 0x59, 0xa8, 0x60, 0xdb, 0xd6, 0x5d, 0x8a, 0x29, 0xd1, 0xbb, 0x17, 0x94, 0xb8, - 0x1c, 0x5c, 0xd7, 0xb5, 0x12, 0xb6, 0xed, 0x13, 0x26, 0xad, 0x33, 0x21, 0x7a, 0x06, 0xca, 0x0c, - 0x48, 0x0d, 0x3c, 0xd2, 0x87, 0xc4, 0x18, 0x0c, 0x29, 0x07, 0xd1, 0xb4, 0x56, 0x92, 0xd2, 0x16, - 0x17, 0xaa, 0x7d, 0x7f, 0x23, 0x70, 0x10, 0x45, 0x08, 0x32, 0x7d, 0x4c, 0x31, 0x0f, 0xe4, 0xba, - 0xc6, 0xc7, 0x4c, 0x66, 0x63, 0x3a, 0x94, 0xe1, 0xe1, 0x63, 0x74, 0x0d, 0x72, 0xd2, 0x6d, 0x9a, - 0xbb, 0x95, 0x33, 0xf6, 0xcd, 0x6c, 0xc7, 0x3a, 0x23, 0x3c, 0x6b, 0x14, 0x34, 0x31, 0x51, 0x7f, - 0x95, 0x82, 0x8d, 0x19, 0xb8, 0x65, 0x7e, 0x87, 0xd8, 0x1d, 0x7a, 0xef, 0x62, 0x63, 0x74, 0x87, - 0xf9, 0xc5, 0x7d, 0xe2, 0xc8, 0x34, 0x57, 0x0b, 0x87, 0x48, 0xa4, 0xf0, 0x16, 0x7f, 0x2e, 0x43, - 0x23, 0xb5, 0x51, 0x1b, 0xaa, 0x23, 0xec, 0x52, 0x5d, 0xc0, 0x97, 0x1e, 0x4a, 0x79, 0xb3, 0xa0, - 0x7d, 0x88, 0x3d, 0xc0, 0x63, 0x9b, 0x5d, 0x3a, 0x2a, 0x8f, 0x22, 0x52, 0xa4, 0xc1, 0xd5, 0xee, - 0xc5, 0xa7, 0xd8, 0xa4, 0x86, 0x49, 0xf4, 0x99, 0x2f, 0xf7, 0xc4, 0x8c, 0xd3, 0xe6, 0x99, 0xd1, - 0x27, 0x66, 0xcf, 0xfb, 0x64, 0x57, 0x7c, 0x63, 0xff, 0x93, 0xba, 0xaa, 0x06, 0xe5, 0x68, 0xc2, - 0x40, 0x65, 0x48, 0xd1, 0x73, 0x19, 0x80, 0x14, 0x3d, 0x47, 0xff, 0x0f, 0x19, 0xb6, 0x48, 0xbe, - 0xf8, 0xf2, 0x9c, 0x6c, 0x2d, 0xed, 0x3a, 0x17, 0x36, 0xd1, 0xb8, 0xa6, 0xaa, 0xfa, 0xa7, 0xc1, - 0x4f, 0x22, 0xd3, 0x5e, 0xd5, 0xe7, 0xa0, 0x32, 0x95, 0x25, 0x42, 0xdf, 0x2f, 0x19, 0xfe, 0x7e, - 0x6a, 0x05, 0x4a, 0x91, 0x94, 0xa0, 0x5e, 0x83, 0xab, 0xf3, 0x10, 0x5e, 0x1d, 0xfa, 0xf2, 0x08, - 0x52, 0xa3, 0x57, 0xa0, 0xe0, 0x43, 0xbc, 0x38, 0x8d, 0xb3, 0xb1, 0xf2, 0x94, 0x35, 0x5f, 0x95, - 0x1d, 0x43, 0xb6, 0xad, 0xf9, 0x7e, 0x48, 0xf1, 0x1f, 0x9e, 0xc7, 0xb6, 0xdd, 0xc2, 0xee, 0x50, - 0xfd, 0x10, 0x6a, 0x71, 0xf0, 0x3d, 0xb5, 0x8c, 0x8c, 0xbf, 0x0d, 0xaf, 0x41, 0xee, 0xd4, 0x72, - 0xc6, 0x98, 0x72, 0x67, 0x25, 0x4d, 0xce, 0xd8, 0xf6, 0x14, 0x50, 0x9e, 0xe6, 0x62, 0x31, 0x51, - 0x75, 0x78, 0x22, 0x16, 0xc2, 0x99, 0x89, 0x61, 0xf6, 0x89, 0x88, 0x67, 0x49, 0x13, 0x93, 0xc0, - 0x91, 0xf8, 0xb1, 0x62, 0xc2, 0x5e, 0xeb, 0xf2, 0xb5, 0x72, 0xff, 0x45, 0x4d, 0xce, 0xd4, 0x5b, - 0x7e, 0xb0, 0x22, 0x48, 0xce, 0x30, 0x8f, 0xa1, 0x7f, 0xf2, 0x46, 0xfa, 0xd6, 0xba, 0xc6, 0x86, - 0xea, 0xef, 0x8b, 0x50, 0xd0, 0x88, 0x6b, 0x33, 0xf4, 0x40, 0x75, 0x28, 0x92, 0xf3, 0x1e, 0x11, - 0x34, 0x2c, 0x19, 0x4b, 0x63, 0x84, 0x76, 0xd3, 0xd3, 0x64, 0x1c, 0xc2, 0x37, 0x43, 0x2f, 0x4b, - 0xaa, 0x19, 0xcf, 0x1a, 0xa5, 0x79, 0x98, 0x6b, 0xde, 0xf1, 0xb8, 0x66, 0x3a, 0x96, 0x36, 0x08, - 0xab, 0x29, 0xb2, 0xf9, 0xb2, 0x24, 0x9b, 0x99, 0x25, 0x2f, 0x8b, 0xb0, 0xcd, 0x46, 0x84, 0x6d, - 0x66, 0x97, 0x2c, 0x33, 0x86, 0x6e, 0x36, 0x22, 0x74, 0x33, 0xb7, 0xc4, 0x49, 0x0c, 0xdf, 0xbc, - 0xe3, 0xf1, 0xcd, 0xfc, 0x92, 0x65, 0x4f, 0x11, 0xce, 0xbb, 0x51, 0xc2, 0x29, 0xc8, 0xe2, 0xcd, - 0x58, 0xeb, 0x58, 0xc6, 0xf9, 0x83, 0x10, 0xe3, 0x2c, 0xc6, 0xd2, 0x3d, 0xe1, 0x64, 0x0e, 0xe5, - 0x6c, 0x44, 0x28, 0x27, 0x2c, 0x89, 0x41, 0x0c, 0xe7, 0x7c, 0x2b, 0xcc, 0x39, 0xd7, 0x62, 0x69, - 0xab, 0xdc, 0x34, 0xf3, 0x48, 0xe7, 0x6b, 0x3e, 0xe9, 0x5c, 0x8f, 0x65, 0xcd, 0x72, 0x0d, 0xd3, - 0xac, 0xb3, 0x3d, 0xc3, 0x3a, 0x05, 0x4b, 0x7c, 0x36, 0xd6, 0xc5, 0x12, 0xda, 0xd9, 0x9e, 0xa1, - 0x9d, 0xe5, 0x25, 0x0e, 0x97, 0xf0, 0xce, 0x9f, 0xcf, 0xe7, 0x9d, 0xf1, 0xcc, 0x50, 0xfe, 0xcc, - 0xd5, 0x88, 0xa7, 0x1e, 0x43, 0x3c, 0x05, 0x3d, 0x7c, 0x3e, 0xd6, 0xfd, 0xca, 0xcc, 0xb3, 0x3d, - 0xc3, 0x3c, 0x37, 0x96, 0xc4, 0x63, 0x55, 0xea, 0xf9, 0x1c, 0xcb, 0xf0, 0x53, 0x48, 0xc4, 0x50, - 0x92, 0x38, 0x8e, 0xe5, 0x48, 0x56, 0x27, 0x26, 0xea, 0x2d, 0xc6, 0x39, 0x02, 0xd4, 0x59, 0x40, - 0x53, 0x79, 0x36, 0x0a, 0x21, 0x8d, 0xfa, 0x87, 0x64, 0x60, 0xcb, 0xd3, 0x74, 0x98, 0xaf, 0x14, - 0x25, 0x5f, 0x09, 0xb1, 0xd7, 0x54, 0x94, 0xbd, 0x6e, 0xc1, 0x1a, 0xcb, 0x32, 0x53, 0xc4, 0x14, - 0xdb, 0x1e, 0x31, 0x45, 0xb7, 0x61, 0x83, 0xd3, 0x08, 0xc1, 0x71, 0x65, 0x6a, 0xc9, 0xf0, 0x0c, - 0x59, 0x61, 0x0f, 0xc4, 0x6e, 0x17, 0x39, 0xe6, 0x45, 0xb8, 0x12, 0xd2, 0xf5, 0xb3, 0x97, 0x60, - 0x63, 0x55, 0x5f, 0x7b, 0x4f, 0xa6, 0xb1, 0xf7, 0x82, 0x00, 0x05, 0xa4, 0x17, 0x41, 0xa6, 0x67, - 0xf5, 0x89, 0xcc, 0x2d, 0x7c, 0xcc, 0x92, 0xc2, 0xc8, 0x1a, 0xc8, 0x0c, 0xc2, 0x86, 0x4c, 0xcb, - 0x87, 0xd5, 0xa2, 0x40, 0x4d, 0xf5, 0x4f, 0xc9, 0xc0, 0x5f, 0xc0, 0x83, 0xe7, 0x51, 0xd6, 0xe4, - 0x7f, 0x87, 0xb2, 0xa6, 0xbe, 0x35, 0x65, 0x0d, 0xe7, 0xf6, 0x74, 0x34, 0xb7, 0xff, 0x33, 0x19, - 0x7c, 0x61, 0x9f, 0x80, 0x7e, 0xbb, 0x88, 0x04, 0x89, 0x3a, 0xcb, 0xbf, 0x97, 0x4c, 0xd4, 0xb2, - 0xac, 0xc8, 0xf1, 0xf7, 0x46, 0xcb, 0x8a, 0xbc, 0x48, 0xdd, 0x7c, 0x82, 0x5e, 0x85, 0x22, 0xef, - 0x1f, 0xe9, 0x96, 0xed, 0x4a, 0x04, 0x7f, 0x32, 0xbc, 0x56, 0xd1, 0x26, 0xda, 0x3e, 0x66, 0x3a, - 0x6d, 0xdb, 0xd5, 0x0a, 0xb6, 0x1c, 0x85, 0x38, 0x48, 0x31, 0x42, 0x85, 0xaf, 0x43, 0x91, 0xfd, - 0x7a, 0xd7, 0xc6, 0x3d, 0xc2, 0xd1, 0xb8, 0xa8, 0x05, 0x02, 0xf5, 0x01, 0xa0, 0xd9, 0x7c, 0x80, - 0x5a, 0x90, 0x23, 0x67, 0xc4, 0xa4, 0x82, 0x13, 0xac, 0xed, 0x5e, 0x9b, 0xc3, 0x33, 0x89, 0x49, - 0xeb, 0x35, 0x16, 0xe4, 0x7f, 0x7c, 0xbd, 0x55, 0x15, 0xda, 0x2f, 0x58, 0x63, 0x83, 0x92, 0xb1, - 0x4d, 0x2f, 0x34, 0x69, 0xaf, 0xfe, 0x32, 0xc5, 0x48, 0x5f, 0x24, 0x57, 0xcc, 0x8d, 0xad, 0x77, - 0x80, 0x52, 0x21, 0xc2, 0xbf, 0x5a, 0xbc, 0x37, 0x01, 0x06, 0xd8, 0xd5, 0x3f, 0xc1, 0x26, 0x25, - 0x7d, 0x19, 0xf4, 0x90, 0x04, 0x29, 0x50, 0x60, 0xb3, 0x89, 0x4b, 0xfa, 0xb2, 0xf6, 0xf0, 0xe7, - 0xa1, 0x75, 0xe6, 0xbf, 0xdb, 0x3a, 0xa3, 0x51, 0x2e, 0x4c, 0x47, 0xf9, 0xd7, 0xa9, 0xe0, 0x94, - 0x04, 0xfc, 0xf8, 0x7f, 0x2f, 0x0e, 0xbf, 0xe1, 0x45, 0x73, 0x34, 0x69, 0xa3, 0x13, 0xd8, 0xf0, - 0x4f, 0xa9, 0x3e, 0xe1, 0xa7, 0xd7, 0xdb, 0x77, 0xab, 0x1e, 0xf3, 0xea, 0x59, 0x54, 0xec, 0xa2, - 0x1f, 0xc3, 0xe3, 0x53, 0x08, 0xe4, 0xbb, 0x4e, 0xad, 0x08, 0x44, 0x8f, 0x45, 0x81, 0xc8, 0xf3, - 0x1c, 0xc4, 0x2a, 0xfd, 0x1d, 0xcf, 0xc6, 0x3e, 0xab, 0xc3, 0xc2, 0x14, 0x64, 0xee, 0xd7, 0xbf, - 0x09, 0x25, 0x87, 0x50, 0x6c, 0x98, 0x7a, 0xa4, 0xd2, 0x5d, 0x17, 0x42, 0x59, 0x3f, 0x1f, 0xc3, - 0x63, 0x73, 0xa9, 0x08, 0xfa, 0x1e, 0x14, 0x03, 0x16, 0x93, 0x8c, 0x29, 0x1a, 0xfd, 0x42, 0x28, - 0xd0, 0x55, 0xff, 0x98, 0x0c, 0x5c, 0x46, 0x4b, 0xab, 0x26, 0xe4, 0x1c, 0xe2, 0x4e, 0x46, 0xa2, - 0xd8, 0x29, 0xef, 0xbe, 0xb8, 0x1a, 0x89, 0x61, 0xd2, 0xc9, 0x88, 0x6a, 0xd2, 0x58, 0x7d, 0x00, - 0x39, 0x21, 0x41, 0x6b, 0x90, 0xbf, 0x77, 0x74, 0x70, 0xd4, 0x7e, 0xff, 0xa8, 0x9a, 0x40, 0x00, - 0xb9, 0xbd, 0x46, 0xa3, 0x79, 0xdc, 0xa9, 0x26, 0x51, 0x11, 0xb2, 0x7b, 0xf5, 0xb6, 0xd6, 0xa9, - 0xa6, 0x98, 0x58, 0x6b, 0xbe, 0xdb, 0x6c, 0x74, 0xaa, 0x69, 0xb4, 0x01, 0x25, 0x31, 0xd6, 0xef, - 0xb6, 0xb5, 0xf7, 0xf6, 0x3a, 0xd5, 0x4c, 0x48, 0x74, 0xd2, 0x3c, 0x7a, 0xbb, 0xa9, 0x55, 0xb3, - 0xea, 0x4b, 0xac, 0x9a, 0x8a, 0xa1, 0x3d, 0x41, 0xdd, 0x94, 0x0c, 0xd5, 0x4d, 0xea, 0x6f, 0x53, - 0xa0, 0xc4, 0x73, 0x19, 0xf4, 0xee, 0xd4, 0xc2, 0x77, 0x2f, 0x41, 0x84, 0xa6, 0x56, 0x8f, 0x9e, - 0x81, 0xb2, 0x43, 0x4e, 0x09, 0xed, 0x0d, 0x05, 0xb7, 0x12, 0x89, 0xad, 0xa4, 0x95, 0xa4, 0x94, - 0x1b, 0xb9, 0x42, 0xed, 0x23, 0xd2, 0xa3, 0xba, 0x28, 0xe1, 0xc4, 0xa6, 0x2b, 0x32, 0x35, 0x26, - 0x3d, 0x11, 0x42, 0xf5, 0xc3, 0x4b, 0xc5, 0xb2, 0x08, 0x59, 0xad, 0xd9, 0xd1, 0x7e, 0x52, 0x4d, - 0x23, 0x04, 0x65, 0x3e, 0xd4, 0x4f, 0x8e, 0xf6, 0x8e, 0x4f, 0x5a, 0x6d, 0x16, 0xcb, 0x2b, 0x50, - 0xf1, 0x62, 0xe9, 0x09, 0xb3, 0x2a, 0x0e, 0x76, 0xc3, 0x92, 0xda, 0x11, 0xdd, 0x81, 0x82, 0x24, - 0x4e, 0xde, 0x59, 0x53, 0x66, 0xbb, 0x27, 0xef, 0x49, 0x0d, 0xcd, 0xd7, 0x55, 0xff, 0x9d, 0x84, - 0xca, 0xd4, 0x19, 0x44, 0xbb, 0x90, 0x15, 0x25, 0x40, 0xdc, 0x15, 0x05, 0x87, 0x10, 0x79, 0x60, - 0x85, 0x2a, 0x7a, 0x03, 0x0a, 0x44, 0x76, 0x41, 0xe6, 0x9d, 0x75, 0xf1, 0x7e, 0xaf, 0x4f, 0x22, - 0x4d, 0x7d, 0x0b, 0xf4, 0x26, 0x14, 0x7d, 0x30, 0x91, 0x75, 0xe7, 0xd3, 0xb3, 0xe6, 0x3e, 0x0c, - 0x49, 0xfb, 0xc0, 0x06, 0xbd, 0x16, 0xd0, 0xbe, 0xcc, 0x6c, 0xe1, 0x21, 0xcd, 0x85, 0x82, 0x34, - 0xf6, 0xf4, 0xd5, 0x06, 0xac, 0x85, 0xd6, 0x83, 0x9e, 0x84, 0xe2, 0x18, 0x9f, 0xcb, 0xee, 0x9a, - 0xe8, 0x8f, 0x14, 0xc6, 0xf8, 0x5c, 0x34, 0xd6, 0x1e, 0x87, 0x3c, 0x7b, 0x38, 0xc0, 0x22, 0xc8, - 0x69, 0x2d, 0x37, 0xc6, 0xe7, 0xef, 0x60, 0x57, 0xfd, 0x00, 0xca, 0xd1, 0xce, 0x12, 0xdb, 0xec, - 0x8e, 0x35, 0x31, 0xfb, 0xdc, 0x47, 0x56, 0x13, 0x13, 0xf4, 0x0a, 0x64, 0xcf, 0x2c, 0x81, 0x87, - 0xf3, 0x51, 0xe1, 0xbe, 0x45, 0x49, 0xa8, 0x33, 0x25, 0xb4, 0xd5, 0x4f, 0x21, 0xcb, 0xf1, 0x8d, - 0x61, 0x15, 0xef, 0x11, 0x49, 0xca, 0xcb, 0xc6, 0xe8, 0x03, 0x00, 0x4c, 0xa9, 0x63, 0x74, 0x27, - 0x81, 0xe3, 0xad, 0xf9, 0xf8, 0xb8, 0xe7, 0xe9, 0xd5, 0xaf, 0x4b, 0xa0, 0xbc, 0x1a, 0x98, 0x86, - 0xc0, 0x32, 0xe4, 0x50, 0x3d, 0x82, 0x72, 0xd4, 0x36, 0xdc, 0xad, 0x5d, 0x9f, 0xd3, 0xad, 0xf5, - 0x69, 0x95, 0x4f, 0xca, 0xd2, 0xa2, 0x1f, 0xc8, 0x27, 0xea, 0xef, 0x92, 0x50, 0xe8, 0x9c, 0xcb, - 0x93, 0x13, 0xd3, 0x8a, 0x0a, 0x4c, 0x53, 0xe1, 0xc6, 0x8b, 0xe8, 0x6d, 0xa5, 0xfd, 0x8e, 0xd9, - 0x5b, 0x3e, 0x36, 0x64, 0x56, 0x2d, 0x78, 0xbd, 0xd6, 0xa1, 0x44, 0x84, 0x9b, 0x50, 0xb2, 0x1c, - 0x63, 0x60, 0x98, 0x78, 0x14, 0x66, 0xf0, 0xeb, 0x9e, 0x90, 0x13, 0xd5, 0xd7, 0xa1, 0xe8, 0x6f, - 0x3d, 0x56, 0x60, 0xe0, 0x7e, 0xdf, 0x21, 0xae, 0x2b, 0x03, 0xe0, 0x4d, 0x79, 0xfb, 0xd3, 0xfa, - 0x44, 0xf6, 0x7f, 0xd2, 0x9a, 0x98, 0xa8, 0x7d, 0xa8, 0x4c, 0xa5, 0x4f, 0xf4, 0x3a, 0xe4, 0xed, - 0x49, 0x57, 0xf7, 0x62, 0x38, 0x75, 0xc2, 0x3c, 0xb2, 0x39, 0xe9, 0x8e, 0x8c, 0xde, 0x01, 0xb9, - 0xf0, 0x7e, 0xb1, 0x3d, 0xe9, 0x1e, 0x88, 0x50, 0x8b, 0xb7, 0xa4, 0xc2, 0x6f, 0x39, 0x83, 0x82, - 0xb7, 0x73, 0xd0, 0x0f, 0xc3, 0x87, 0x29, 0x39, 0x8b, 0x05, 0xd1, 0x94, 0x2e, 0xdd, 0x87, 0xce, - 0xd2, 0x6d, 0xd8, 0x70, 0x8d, 0x81, 0x49, 0xfa, 0x7a, 0x50, 0xe2, 0xf0, 0xb7, 0x15, 0xb4, 0x8a, - 0x78, 0x70, 0xe8, 0xd5, 0x37, 0xea, 0xbf, 0x92, 0x50, 0xf0, 0x4e, 0x35, 0x7a, 0x29, 0xb4, 0x39, - 0xcb, 0x73, 0x3a, 0x40, 0x9e, 0x62, 0xd0, 0xc1, 0x8c, 0xfe, 0xd6, 0xd4, 0xe5, 0x7f, 0x6b, 0x5c, - 0x2b, 0xda, 0xbb, 0x13, 0xc8, 0x5c, 0xfa, 0x4e, 0xe0, 0x05, 0x40, 0xd4, 0xa2, 0x78, 0xa4, 0x9f, - 0x59, 0xd4, 0x30, 0x07, 0xba, 0x08, 0xb6, 0x60, 0x76, 0x55, 0xfe, 0xe4, 0x3e, 0x7f, 0x70, 0xcc, - 0xe3, 0xfe, 0x8b, 0x24, 0x14, 0xfc, 0x1c, 0x7d, 0xd9, 0x86, 0xe4, 0x35, 0xc8, 0xc9, 0x34, 0x24, - 0x3a, 0x92, 0x72, 0xe6, 0xf7, 0xc6, 0x33, 0xa1, 0xde, 0xb8, 0xc2, 0xf0, 0x9d, 0x62, 0x4e, 0x54, - 0xc4, 0x1e, 0xf5, 0xe7, 0xb7, 0x5f, 0x83, 0xb5, 0x50, 0x6f, 0x98, 0x1d, 0xcf, 0xa3, 0xe6, 0xfb, - 0xd5, 0x84, 0x92, 0xff, 0xec, 0x8b, 0x1b, 0xe9, 0x23, 0xf2, 0x09, 0xdb, 0xb3, 0x5a, 0xb3, 0xd1, - 0x6a, 0x36, 0x0e, 0xaa, 0x49, 0x65, 0xed, 0xb3, 0x2f, 0x6e, 0xe4, 0x35, 0xc2, 0x1b, 0x47, 0xb7, - 0x5b, 0xb0, 0x1e, 0xfe, 0x2a, 0xd1, 0x4c, 0x86, 0xa0, 0xfc, 0xf6, 0xbd, 0xe3, 0xc3, 0xfd, 0xc6, - 0x5e, 0xa7, 0xa9, 0xdf, 0x6f, 0x77, 0x9a, 0xd5, 0x24, 0x7a, 0x1c, 0xae, 0x1c, 0xee, 0xbf, 0xd3, - 0xea, 0xe8, 0x8d, 0xc3, 0xfd, 0xe6, 0x51, 0x47, 0xdf, 0xeb, 0x74, 0xf6, 0x1a, 0x07, 0xd5, 0xd4, - 0xee, 0x23, 0x80, 0xca, 0x5e, 0xbd, 0xb1, 0xcf, 0xb2, 0xb0, 0xd1, 0xc3, 0xb2, 0x31, 0x97, 0xe1, - 0x45, 0xfe, 0xc2, 0x4b, 0x6e, 0x65, 0x71, 0x5f, 0x12, 0xdd, 0x85, 0x2c, 0xaf, 0xff, 0xd1, 0xe2, - 0x5b, 0x6f, 0x65, 0x49, 0xa3, 0x92, 0xfd, 0x18, 0x7e, 0x3c, 0x16, 0x5e, 0x83, 0x2b, 0x8b, 0xfb, - 0x96, 0x48, 0x83, 0x62, 0x50, 0xc0, 0x2f, 0xbf, 0x16, 0x57, 0x56, 0xe8, 0x65, 0x32, 0x9f, 0x41, - 0x79, 0xb2, 0xfc, 0x9a, 0x58, 0x59, 0x01, 0xe5, 0xd0, 0x21, 0xe4, 0xbd, 0xc2, 0x6f, 0xd9, 0xc5, - 0xb5, 0xb2, 0xb4, 0xcf, 0xc8, 0x3e, 0x81, 0x28, 0xd0, 0x17, 0xdf, 0xc2, 0x2b, 0x4b, 0x9a, 0xa6, - 0x68, 0x1f, 0x72, 0x92, 0x73, 0x2f, 0xb9, 0x8c, 0x56, 0x96, 0xf5, 0x0d, 0x59, 0xd0, 0x82, 0xce, - 0xc7, 0xf2, 0xff, 0x16, 0x28, 0x2b, 0xf4, 0x83, 0xd1, 0x3d, 0x80, 0x50, 0x39, 0xbe, 0xc2, 0x9f, - 0x06, 0x94, 0x55, 0xfa, 0xbc, 0xa8, 0x0d, 0x05, 0xbf, 0xec, 0x5a, 0x7a, 0x85, 0xaf, 0x2c, 0x6f, - 0xb8, 0xa2, 0x07, 0x50, 0x8a, 0xd6, 0x1b, 0xab, 0x5d, 0xcc, 0x2b, 0x2b, 0x76, 0x52, 0x99, 0xff, - 0x68, 0xf1, 0xb1, 0xda, 0x45, 0xbd, 0xb2, 0x62, 0x63, 0x15, 0x7d, 0x04, 0x1b, 0xb3, 0xc5, 0xc1, - 0xea, 0xf7, 0xf6, 0xca, 0x25, 0x5a, 0xad, 0x68, 0x0c, 0x68, 0x4e, 0x51, 0x71, 0x89, 0x6b, 0x7c, - 0xe5, 0x32, 0x9d, 0x57, 0x16, 0xba, 0x28, 0x53, 0x5f, 0xed, 0x5a, 0x5f, 0x59, 0xb1, 0x07, 0x5b, - 0x6f, 0x7e, 0xf9, 0xcd, 0x66, 0xf2, 0xab, 0x6f, 0x36, 0x93, 0x7f, 0xfb, 0x66, 0x33, 0xf9, 0xf9, - 0xa3, 0xcd, 0xc4, 0x57, 0x8f, 0x36, 0x13, 0x7f, 0x79, 0xb4, 0x99, 0xf8, 0xe9, 0xf3, 0x03, 0x83, - 0x0e, 0x27, 0xdd, 0xed, 0x9e, 0x35, 0xde, 0x09, 0xff, 0x87, 0x69, 0xde, 0xff, 0xaa, 0xba, 0x39, - 0x9e, 0x08, 0x5f, 0xfe, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x4e, 0x89, 0x25, 0x0e, 0x77, 0x25, - 0x00, 0x00, + // 2716 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x5a, 0x4b, 0x73, 0x1b, 0xc7, + 0xf1, 0xc7, 0x1b, 0xd8, 0x06, 0xf1, 0xe0, 0x88, 0xa6, 0x61, 0x58, 0x22, 0xe5, 0x55, 0x49, 0x96, + 0x64, 0x9b, 0xfc, 0x9b, 0x2a, 0xe9, 0x2f, 0x97, 0xf3, 0x30, 0x01, 0x41, 0x01, 0x2d, 0x86, 0x64, + 0x86, 0x90, 0x5c, 0x4e, 0x62, 0xad, 0x17, 0xd8, 0x21, 0xb0, 0x16, 0xb0, 0xbb, 0xde, 0x5d, 0x50, + 0xa4, 0x8e, 0xa9, 0xe4, 0xa2, 0xca, 0x41, 0x97, 0x54, 0xe5, 0xe2, 0x53, 0x3e, 0x44, 0x72, 0xca, + 0x29, 0x07, 0x1f, 0x72, 0xf0, 0x31, 0x27, 0x27, 0x25, 0xdd, 0xf2, 0x05, 0x7c, 0x4a, 0x55, 0x6a, + 0x1e, 0xfb, 0x02, 0xb0, 0x04, 0x18, 0xe7, 0x96, 0xdb, 0x4c, 0x6f, 0x77, 0x63, 0xa6, 0x67, 0xe6, + 0xd7, 0xbf, 0xe9, 0x01, 0xbc, 0xe9, 0x12, 0x43, 0x23, 0xf6, 0x48, 0x37, 0xdc, 0x4d, 0xb5, 0xdb, + 0xd3, 0x37, 0xdd, 0x53, 0x8b, 0x38, 0x1b, 0x96, 0x6d, 0xba, 0x26, 0xaa, 0x04, 0x1f, 0x37, 0xe8, + 0xc7, 0xfa, 0xa5, 0x90, 0x76, 0xcf, 0x3e, 0xb5, 0x5c, 0x73, 0xd3, 0xb2, 0x4d, 0xf3, 0x88, 0xeb, + 0xd7, 0x2f, 0x86, 0x3e, 0x33, 0x3f, 0x61, 0x6f, 0x91, 0xaf, 0xc2, 0xf8, 0x09, 0x39, 0xf5, 0xbe, + 0x5e, 0x9a, 0xb2, 0xb5, 0x54, 0x5b, 0x1d, 0x79, 0x9f, 0xd7, 0xfb, 0xa6, 0xd9, 0x1f, 0x92, 0x4d, + 0xd6, 0xeb, 0x8e, 0x8f, 0x36, 0x5d, 0x7d, 0x44, 0x1c, 0x57, 0x1d, 0x59, 0x42, 0x61, 0xa5, 0x6f, + 0xf6, 0x4d, 0xd6, 0xdc, 0xa4, 0x2d, 0x2e, 0x95, 0xff, 0x50, 0x80, 0x3c, 0x26, 0x5f, 0x8e, 0x89, + 0xe3, 0xa2, 0x2d, 0xc8, 0x90, 0xde, 0xc0, 0xac, 0x25, 0x2f, 0x27, 0xaf, 0x17, 0xb7, 0x2e, 0x6e, + 0x4c, 0x4c, 0x6e, 0x43, 0xe8, 0xb5, 0x7a, 0x03, 0xb3, 0x9d, 0xc0, 0x4c, 0x17, 0xdd, 0x86, 0xec, + 0xd1, 0x70, 0xec, 0x0c, 0x6a, 0x29, 0x66, 0x74, 0x29, 0xce, 0xe8, 0x3e, 0x55, 0x6a, 0x27, 0x30, + 0xd7, 0xa6, 0x3f, 0xa5, 0x1b, 0x47, 0x66, 0x2d, 0x7d, 0xf6, 0x4f, 0xed, 0x18, 0x47, 0xec, 0xa7, + 0xa8, 0x2e, 0x6a, 0x00, 0xe8, 0x86, 0xee, 0x2a, 0xbd, 0x81, 0xaa, 0x1b, 0xb5, 0x0c, 0xb3, 0x7c, + 0x2b, 0xde, 0x52, 0x77, 0x9b, 0x54, 0xb1, 0x9d, 0xc0, 0x92, 0xee, 0x75, 0xe8, 0x70, 0xbf, 0x1c, + 0x13, 0xfb, 0xb4, 0x96, 0x3d, 0x7b, 0xb8, 0x3f, 0xa3, 0x4a, 0x74, 0xb8, 0x4c, 0x1b, 0xb5, 0xa0, + 0xd8, 0x25, 0x7d, 0xdd, 0x50, 0xba, 0x43, 0xb3, 0xf7, 0xa4, 0x96, 0x63, 0xc6, 0x72, 0x9c, 0x71, + 0x83, 0xaa, 0x36, 0xa8, 0x66, 0x3b, 0x81, 0xa1, 0xeb, 0xf7, 0xd0, 0x0f, 0xa0, 0xd0, 0x1b, 0x90, + 0xde, 0x13, 0xc5, 0x3d, 0xa9, 0xe5, 0x99, 0x8f, 0xf5, 0x38, 0x1f, 0x4d, 0xaa, 0xd7, 0x39, 0x69, + 0x27, 0x70, 0xbe, 0xc7, 0x9b, 0x74, 0xfe, 0x1a, 0x19, 0xea, 0xc7, 0xc4, 0xa6, 0xf6, 0x85, 0xb3, + 0xe7, 0x7f, 0x8f, 0x6b, 0x32, 0x0f, 0x92, 0xe6, 0x75, 0xd0, 0x8f, 0x41, 0x22, 0x86, 0x26, 0xa6, + 0x21, 0x31, 0x17, 0x97, 0x63, 0xd7, 0xd9, 0xd0, 0xbc, 0x49, 0x14, 0x88, 0x68, 0xa3, 0xbb, 0x90, + 0xeb, 0x99, 0xa3, 0x91, 0xee, 0xd6, 0x80, 0x59, 0xaf, 0xc5, 0x4e, 0x80, 0x69, 0xb5, 0x13, 0x58, + 0xe8, 0xa3, 0x3d, 0x28, 0x0f, 0x75, 0xc7, 0x55, 0x1c, 0x43, 0xb5, 0x9c, 0x81, 0xe9, 0x3a, 0xb5, + 0x22, 0xf3, 0x70, 0x35, 0xce, 0xc3, 0xae, 0xee, 0xb8, 0x87, 0x9e, 0x72, 0x3b, 0x81, 0x4b, 0xc3, + 0xb0, 0x80, 0xfa, 0x33, 0x8f, 0x8e, 0x88, 0xed, 0x3b, 0xac, 0x2d, 0x9d, 0xed, 0x6f, 0x9f, 0x6a, + 0x7b, 0xf6, 0xd4, 0x9f, 0x19, 0x16, 0xa0, 0x5f, 0xc0, 0x85, 0xa1, 0xa9, 0x6a, 0xbe, 0x3b, 0xa5, + 0x37, 0x18, 0x1b, 0x4f, 0x6a, 0x25, 0xe6, 0xf4, 0x46, 0xec, 0x20, 0x4d, 0x55, 0xf3, 0x5c, 0x34, + 0xa9, 0x41, 0x3b, 0x81, 0x97, 0x87, 0x93, 0x42, 0xf4, 0x18, 0x56, 0x54, 0xcb, 0x1a, 0x9e, 0x4e, + 0x7a, 0x2f, 0x33, 0xef, 0x37, 0xe3, 0xbc, 0x6f, 0x53, 0x9b, 0x49, 0xf7, 0x48, 0x9d, 0x92, 0xa2, + 0x0e, 0x54, 0x2d, 0x9b, 0x58, 0xaa, 0x4d, 0x14, 0xcb, 0x36, 0x2d, 0xd3, 0x51, 0x87, 0xb5, 0x0a, + 0xf3, 0xfd, 0x76, 0x9c, 0xef, 0x03, 0xae, 0x7f, 0x20, 0xd4, 0xdb, 0x09, 0x5c, 0xb1, 0xa2, 0xa2, + 0x46, 0x1e, 0xb2, 0xc7, 0xea, 0x70, 0x4c, 0xe4, 0xb7, 0xa1, 0x18, 0x3a, 0xfc, 0xa8, 0x06, 0xf9, + 0x11, 0x71, 0x1c, 0xb5, 0x4f, 0x18, 0x56, 0x48, 0xd8, 0xeb, 0xca, 0x65, 0x58, 0x0a, 0x1f, 0x78, + 0xf9, 0x45, 0xd2, 0xb7, 0xa4, 0x67, 0x99, 0x5a, 0x1e, 0x13, 0xdb, 0xd1, 0x4d, 0xc3, 0xb3, 0x14, + 0x5d, 0x74, 0x05, 0x4a, 0x6c, 0x57, 0x2a, 0xde, 0x77, 0x0a, 0x28, 0x19, 0xbc, 0xc4, 0x84, 0x8f, + 0x84, 0xd2, 0x3a, 0x14, 0xad, 0x2d, 0xcb, 0x57, 0x49, 0x33, 0x15, 0xb0, 0xb6, 0x2c, 0x4f, 0xe1, + 0x2d, 0x58, 0xa2, 0x73, 0xf4, 0x35, 0x32, 0xec, 0x47, 0x8a, 0x54, 0x26, 0x54, 0xe4, 0xbf, 0xa6, + 0xa0, 0x3a, 0x09, 0x12, 0xe8, 0x2e, 0x64, 0x28, 0x5e, 0x0a, 0xe8, 0xab, 0x6f, 0x70, 0x30, 0xdd, + 0xf0, 0xc0, 0x74, 0xa3, 0xe3, 0x81, 0x69, 0xa3, 0xf0, 0xf5, 0xb7, 0xeb, 0x89, 0x17, 0x7f, 0x5f, + 0x4f, 0x62, 0x66, 0x81, 0xde, 0xa0, 0x67, 0x5a, 0xd5, 0x0d, 0x45, 0xd7, 0xd8, 0x90, 0x25, 0x7a, + 0x60, 0x55, 0xdd, 0xd8, 0xd1, 0xd0, 0x2e, 0x54, 0x7b, 0xa6, 0xe1, 0x10, 0xc3, 0x19, 0x3b, 0x0a, + 0x07, 0x6b, 0x01, 0x78, 0x91, 0x63, 0xcb, 0x53, 0x40, 0xd3, 0xd3, 0x3c, 0x60, 0x8a, 0xb8, 0xd2, + 0x8b, 0x0a, 0xd0, 0x7d, 0x80, 0x63, 0x75, 0xa8, 0x6b, 0xaa, 0x6b, 0xda, 0x4e, 0x2d, 0x73, 0x39, + 0x3d, 0xf3, 0xec, 0x3e, 0xf2, 0x54, 0x1e, 0x5a, 0x9a, 0xea, 0x92, 0x46, 0x86, 0x0e, 0x17, 0x87, + 0x2c, 0xd1, 0x35, 0xa8, 0xa8, 0x96, 0xa5, 0x38, 0xae, 0xea, 0x12, 0xa5, 0x7b, 0xea, 0x12, 0x87, + 0x81, 0xe1, 0x12, 0x2e, 0xa9, 0x96, 0x75, 0x48, 0xa5, 0x0d, 0x2a, 0x44, 0x57, 0xa1, 0x4c, 0x71, + 0x53, 0x57, 0x87, 0xca, 0x80, 0xe8, 0xfd, 0x81, 0xcb, 0x60, 0x2f, 0x8d, 0x4b, 0x42, 0xda, 0x66, + 0x42, 0x59, 0xf3, 0x57, 0x9c, 0x61, 0x26, 0x42, 0x90, 0xd1, 0x54, 0x57, 0x65, 0x91, 0x5c, 0xc2, + 0xac, 0x4d, 0x65, 0x96, 0xea, 0x0e, 0x44, 0x7c, 0x58, 0x1b, 0xad, 0x42, 0x4e, 0xb8, 0x4d, 0x33, + 0xb7, 0xa2, 0x87, 0x56, 0x20, 0x6b, 0xd9, 0xe6, 0x31, 0x61, 0x4b, 0x57, 0xc0, 0xbc, 0x23, 0xff, + 0x3a, 0x05, 0xcb, 0x53, 0xe8, 0x4a, 0xfd, 0x0e, 0x54, 0x67, 0xe0, 0xfd, 0x16, 0x6d, 0xa3, 0x3b, + 0xd4, 0xaf, 0xaa, 0x11, 0x5b, 0x64, 0xa4, 0xda, 0x74, 0xa8, 0xdb, 0xec, 0xbb, 0x08, 0x8d, 0xd0, + 0x46, 0xfb, 0x50, 0x1d, 0xaa, 0x8e, 0xab, 0x70, 0xb4, 0x52, 0x42, 0xd9, 0x69, 0x1a, 0xa3, 0x77, + 0x55, 0x0f, 0xdf, 0xe8, 0xa6, 0x16, 0x8e, 0xca, 0xc3, 0x88, 0x14, 0x61, 0x58, 0xe9, 0x9e, 0x3e, + 0x53, 0x0d, 0x57, 0x37, 0x88, 0x32, 0xb5, 0x72, 0x6f, 0x4c, 0x39, 0x6d, 0x1d, 0xeb, 0x1a, 0x31, + 0x7a, 0xde, 0x92, 0x5d, 0xf0, 0x8d, 0xfd, 0x25, 0x75, 0x64, 0x0c, 0xe5, 0x68, 0x7e, 0x40, 0x65, + 0x48, 0xb9, 0x27, 0x22, 0x00, 0x29, 0xf7, 0x04, 0xfd, 0x1f, 0x64, 0xe8, 0x24, 0xd9, 0xe4, 0xcb, + 0x33, 0x12, 0xab, 0xb0, 0xeb, 0x9c, 0x5a, 0x04, 0x33, 0x4d, 0x59, 0xf6, 0x8f, 0x83, 0x9f, 0x33, + 0x26, 0xbd, 0xca, 0x37, 0xa0, 0x32, 0x91, 0x14, 0x42, 0xeb, 0x97, 0x0c, 0xaf, 0x9f, 0x5c, 0x81, + 0x52, 0x24, 0x03, 0xc8, 0xab, 0xb0, 0x32, 0x0b, 0xd0, 0xe5, 0x81, 0x2f, 0x8f, 0x00, 0x33, 0xba, + 0x0d, 0x05, 0x1f, 0xd1, 0xf9, 0x71, 0x9c, 0x8e, 0x95, 0xa7, 0x8c, 0x7d, 0x55, 0x7a, 0x0e, 0xe9, + 0xb6, 0x66, 0xfb, 0x21, 0xc5, 0x06, 0x9e, 0x57, 0x2d, 0xab, 0xad, 0x3a, 0x03, 0xf9, 0x73, 0xa8, + 0xc5, 0xa1, 0xf5, 0xc4, 0x34, 0x32, 0xfe, 0x36, 0x5c, 0x85, 0xdc, 0x91, 0x69, 0x8f, 0x54, 0x97, + 0x39, 0x2b, 0x61, 0xd1, 0xa3, 0xdb, 0x93, 0x23, 0x77, 0x9a, 0x89, 0x79, 0x47, 0x56, 0xe0, 0x8d, + 0x58, 0xc4, 0xa6, 0x26, 0xba, 0xa1, 0x11, 0x1e, 0xcf, 0x12, 0xe6, 0x9d, 0xc0, 0x11, 0x1f, 0x2c, + 0xef, 0xd0, 0x9f, 0x75, 0xd8, 0x5c, 0x99, 0x7f, 0x09, 0x8b, 0x9e, 0xac, 0xc0, 0xea, 0x6c, 0xd8, + 0x46, 0x97, 0x00, 0x38, 0x6e, 0x8a, 0x53, 0x97, 0xbe, 0xbe, 0x84, 0x25, 0x26, 0xb9, 0x47, 0x8f, + 0xde, 0x35, 0xa8, 0x04, 0x9f, 0x15, 0x47, 0x7f, 0xc6, 0xb7, 0x46, 0x1a, 0x97, 0x7c, 0x9d, 0x43, + 0xfd, 0x19, 0x91, 0xbf, 0x2b, 0x40, 0x01, 0x13, 0xc7, 0xa2, 0xa0, 0x83, 0x1a, 0x20, 0x91, 0x93, + 0x1e, 0xb1, 0x5c, 0x0f, 0xa7, 0x67, 0x93, 0x1d, 0xae, 0xdd, 0xf2, 0x34, 0x29, 0xd3, 0xf0, 0xcd, + 0xd0, 0x2d, 0x41, 0x26, 0xe3, 0x79, 0xa1, 0x30, 0x0f, 0xb3, 0xc9, 0x3b, 0x1e, 0x9b, 0x4c, 0xc7, + 0x92, 0x0b, 0x6e, 0x35, 0x41, 0x27, 0x6f, 0x09, 0x3a, 0x99, 0x99, 0xf3, 0x63, 0x11, 0x3e, 0xd9, + 0x8c, 0xf0, 0xc9, 0xec, 0x9c, 0x69, 0xc6, 0x10, 0xca, 0x3b, 0x1e, 0xa1, 0xcc, 0xcd, 0x19, 0xf1, + 0x04, 0xa3, 0xbc, 0x1f, 0x65, 0x94, 0x9c, 0x0d, 0x5e, 0x89, 0xb5, 0x8e, 0xa5, 0x94, 0x3f, 0x0c, + 0x51, 0xca, 0x42, 0x2c, 0x9f, 0xe3, 0x4e, 0x66, 0x70, 0xca, 0x66, 0x84, 0x53, 0x4a, 0x73, 0x62, + 0x10, 0x43, 0x2a, 0x3f, 0x0a, 0x93, 0x4a, 0x88, 0xe5, 0xa5, 0x62, 0xbd, 0x67, 0xb1, 0xca, 0x0f, + 0x7c, 0x56, 0x59, 0x8c, 0xa5, 0xc5, 0x62, 0x0e, 0x93, 0xb4, 0x72, 0x7f, 0x8a, 0x56, 0x72, 0x1a, + 0x78, 0x2d, 0xd6, 0xc5, 0x1c, 0x5e, 0xb9, 0x3f, 0xc5, 0x2b, 0x4b, 0x73, 0x1c, 0xce, 0x21, 0x96, + 0xbf, 0x9c, 0x4d, 0x2c, 0xe3, 0xa9, 0x9f, 0x18, 0xe6, 0x62, 0xcc, 0x52, 0x89, 0x61, 0x96, 0x9c, + 0xfd, 0xbd, 0x13, 0xeb, 0x7e, 0x61, 0x6a, 0xf9, 0x70, 0x06, 0xb5, 0xac, 0x32, 0xe7, 0xd7, 0x63, + 0x9d, 0x9f, 0x87, 0x5b, 0xde, 0xa0, 0x99, 0x7d, 0x02, 0x4a, 0x28, 0x3a, 0x12, 0xdb, 0x36, 0x6d, + 0xc1, 0x12, 0x79, 0x47, 0xbe, 0x4e, 0xb9, 0x46, 0x00, 0x1b, 0x67, 0xf0, 0x50, 0x96, 0x85, 0x42, + 0x50, 0x21, 0xff, 0x29, 0x19, 0xd8, 0xb2, 0xf4, 0x1c, 0xe6, 0x29, 0x92, 0xe0, 0x29, 0x21, 0x76, + 0x9a, 0x8a, 0xb2, 0xd3, 0x75, 0x28, 0xd2, 0xec, 0x32, 0x41, 0x3c, 0x55, 0xcb, 0x27, 0x9e, 0x37, + 0x61, 0x99, 0xd1, 0x07, 0x0e, 0xb6, 0x22, 0xa5, 0x64, 0x18, 0xd2, 0x56, 0xe8, 0x07, 0xbe, 0xe7, + 0x79, 0x6e, 0x79, 0x0f, 0x2e, 0x84, 0x74, 0xfd, 0xac, 0xc5, 0x59, 0x58, 0xd5, 0xd7, 0xde, 0x16, + 0xe9, 0xeb, 0x2f, 0xc9, 0x20, 0x42, 0x01, 0x63, 0x9d, 0x45, 0x2e, 0x93, 0xff, 0x25, 0x72, 0x99, + 0xfa, 0x8f, 0xc9, 0x65, 0x38, 0x0b, 0xa7, 0xa3, 0x59, 0xf8, 0xbb, 0x64, 0xb0, 0x26, 0x3e, 0x55, + 0xec, 0x99, 0x1a, 0x11, 0x79, 0x91, 0xb5, 0x51, 0x15, 0xd2, 0x43, 0xb3, 0x2f, 0xb2, 0x1f, 0x6d, + 0x52, 0x2d, 0x1f, 0xdb, 0x25, 0x01, 0xdd, 0x7e, 0x4a, 0xcd, 0xb2, 0x08, 0x8b, 0x94, 0x5a, 0x85, + 0xf4, 0x13, 0xc2, 0x91, 0x78, 0x09, 0xd3, 0x26, 0xd5, 0x63, 0x9b, 0x8c, 0xe1, 0xeb, 0x12, 0xe6, + 0x1d, 0x74, 0x17, 0x24, 0x56, 0x94, 0x51, 0x4c, 0xcb, 0x11, 0xa0, 0xf9, 0x66, 0x78, 0xae, 0xbc, + 0xf6, 0xb2, 0x71, 0x40, 0x75, 0xf6, 0x2d, 0x07, 0x17, 0x2c, 0xd1, 0x0a, 0xb1, 0x05, 0x29, 0x42, + 0x5a, 0x2f, 0x82, 0x44, 0x47, 0xef, 0x58, 0x6a, 0x8f, 0x30, 0x04, 0x94, 0x70, 0x20, 0x90, 0x1f, + 0x03, 0x9a, 0xc6, 0x71, 0xd4, 0x86, 0x1c, 0x39, 0x26, 0x86, 0xeb, 0xb0, 0xa4, 0x5d, 0xdc, 0x5a, + 0x9d, 0xc1, 0x08, 0x89, 0xe1, 0x36, 0x6a, 0x34, 0xc8, 0xff, 0xfc, 0x76, 0xbd, 0xca, 0xb5, 0xdf, + 0x35, 0x47, 0xba, 0x4b, 0x46, 0x96, 0x7b, 0x8a, 0x85, 0xbd, 0xfc, 0xc7, 0x14, 0xa5, 0x67, 0x11, + 0x8c, 0x9f, 0x19, 0x5b, 0x6f, 0xcb, 0xa7, 0x42, 0xd4, 0x7c, 0xb1, 0x78, 0xaf, 0x01, 0xf4, 0x55, + 0x47, 0x79, 0xaa, 0x1a, 0x2e, 0xd1, 0x44, 0xd0, 0x43, 0x12, 0x54, 0x87, 0x02, 0xed, 0x8d, 0x1d, + 0xa2, 0x89, 0x5b, 0x82, 0xdf, 0x0f, 0xcd, 0x33, 0xff, 0xfd, 0xe6, 0x19, 0x8d, 0x72, 0x61, 0x22, + 0xca, 0x21, 0xea, 0x24, 0x85, 0xa9, 0x13, 0x1d, 0x9b, 0x65, 0xeb, 0xa6, 0xad, 0xbb, 0xa7, 0x6c, + 0x69, 0xd2, 0xd8, 0xef, 0xcb, 0xbf, 0x49, 0x05, 0x47, 0x2b, 0x60, 0xbf, 0xff, 0x73, 0xb1, 0x93, + 0x7f, 0xcb, 0xee, 0xc4, 0xd1, 0x04, 0x8d, 0x0e, 0x61, 0xd9, 0x3f, 0xd9, 0xca, 0x98, 0x9d, 0x78, + 0x6f, 0xaf, 0x2e, 0x0a, 0x0d, 0xd5, 0xe3, 0xa8, 0xd8, 0x41, 0x9f, 0xc2, 0xeb, 0x13, 0xb0, 0xe5, + 0xbb, 0x4e, 0x2d, 0x8a, 0x5e, 0xaf, 0x45, 0xd1, 0xcb, 0x73, 0x1d, 0x04, 0x2b, 0xfd, 0x3d, 0x0f, + 0xd4, 0x0e, 0xbd, 0x66, 0x85, 0xf9, 0xc6, 0xcc, 0xe5, 0xbf, 0x02, 0x25, 0x9b, 0xb8, 0xf4, 0xea, + 0x1f, 0xb9, 0xc8, 0x2e, 0x71, 0xa1, 0xb8, 0x1e, 0x1f, 0xc0, 0x6b, 0x33, 0x79, 0x07, 0xfa, 0x7f, + 0x90, 0x02, 0xca, 0x92, 0x8c, 0xb9, 0x13, 0xfa, 0xf7, 0x9c, 0x40, 0x57, 0xfe, 0x73, 0x32, 0x70, + 0x19, 0xbd, 0x39, 0xb5, 0x20, 0x67, 0x13, 0x67, 0x3c, 0xe4, 0x77, 0x99, 0xf2, 0xd6, 0x7b, 0x8b, + 0x31, 0x16, 0x2a, 0x1d, 0x0f, 0x5d, 0x2c, 0x8c, 0xe5, 0xc7, 0x90, 0xe3, 0x12, 0x54, 0x84, 0xfc, + 0xc3, 0xbd, 0x07, 0x7b, 0xfb, 0x9f, 0xec, 0x55, 0x13, 0x08, 0x20, 0xb7, 0xdd, 0x6c, 0xb6, 0x0e, + 0x3a, 0xd5, 0x24, 0x92, 0x20, 0xbb, 0xdd, 0xd8, 0xc7, 0x9d, 0x6a, 0x8a, 0x8a, 0x71, 0xeb, 0xe3, + 0x56, 0xb3, 0x53, 0x4d, 0xa3, 0x65, 0x28, 0xf1, 0xb6, 0x72, 0x7f, 0x1f, 0xff, 0x74, 0xbb, 0x53, + 0xcd, 0x84, 0x44, 0x87, 0xad, 0xbd, 0x7b, 0x2d, 0x5c, 0xcd, 0xca, 0xef, 0xd3, 0xcb, 0x52, 0x0c, + 0xc7, 0x09, 0xae, 0x45, 0xc9, 0xd0, 0xb5, 0x48, 0xfe, 0x7d, 0x0a, 0xea, 0xf1, 0xc4, 0x05, 0x7d, + 0x3c, 0x31, 0xf1, 0xad, 0x73, 0xb0, 0x9e, 0x89, 0xd9, 0xa3, 0xab, 0x50, 0xb6, 0xc9, 0x11, 0x71, + 0x7b, 0x03, 0x4e, 0xa4, 0x78, 0x36, 0x2c, 0xe1, 0x92, 0x90, 0x32, 0x23, 0x87, 0xab, 0x7d, 0x41, + 0x7a, 0xae, 0xc2, 0x61, 0x86, 0x6f, 0x3a, 0x89, 0xaa, 0x51, 0xe9, 0x21, 0x17, 0xca, 0x9f, 0x9f, + 0x2b, 0x96, 0x12, 0x64, 0x71, 0xab, 0x83, 0x3f, 0xad, 0xa6, 0x11, 0x82, 0x32, 0x6b, 0x2a, 0x87, + 0x7b, 0xdb, 0x07, 0x87, 0xed, 0x7d, 0x1a, 0xcb, 0x0b, 0x50, 0xf1, 0x62, 0xe9, 0x09, 0xb3, 0xf2, + 0x5d, 0x78, 0x3d, 0x86, 0x75, 0xcd, 0xb9, 0x1a, 0xca, 0x9f, 0x41, 0x39, 0x5a, 0xc8, 0xa0, 0xc1, + 0xb7, 0xcd, 0xb1, 0xa1, 0xb1, 0x30, 0x66, 0x31, 0xef, 0xa0, 0xdb, 0x90, 0x3d, 0x36, 0xf9, 0x01, + 0x9d, 0xbd, 0x4b, 0x1f, 0x99, 0x2e, 0x09, 0x15, 0x42, 0xb8, 0xb6, 0xfc, 0x0c, 0xb2, 0xec, 0xbc, + 0xd1, 0xb3, 0xc3, 0x4a, 0x12, 0x82, 0x69, 0xd1, 0x36, 0xfa, 0x0c, 0x40, 0x75, 0x5d, 0x5b, 0xef, + 0x8e, 0x03, 0xc7, 0xeb, 0xb3, 0xcf, 0xeb, 0xb6, 0xa7, 0xd7, 0xb8, 0x28, 0x0e, 0xee, 0x4a, 0x60, + 0x1a, 0x3a, 0xbc, 0x21, 0x87, 0xf2, 0x1e, 0x94, 0xa3, 0xb6, 0x1e, 0x37, 0xe0, 0x63, 0x88, 0x72, + 0x03, 0x4e, 0xf5, 0x04, 0x37, 0xf0, 0x99, 0x45, 0x9a, 0x97, 0x9f, 0x58, 0x47, 0x7e, 0x9e, 0x84, + 0x42, 0xe7, 0x44, 0xac, 0x64, 0x4c, 0xe5, 0x23, 0x30, 0x4d, 0x85, 0xef, 0xf9, 0xbc, 0x94, 0x92, + 0xf6, 0x0b, 0x34, 0x1f, 0xf9, 0x7b, 0x35, 0xb3, 0xe8, 0x6d, 0xcb, 0xab, 0x54, 0x89, 0xf3, 0xf9, + 0x21, 0x48, 0x3e, 0xda, 0x52, 0xca, 0xaa, 0x6a, 0x9a, 0x4d, 0x1c, 0x47, 0x9c, 0x18, 0xaf, 0xcb, + 0x0a, 0x69, 0xe6, 0x53, 0x51, 0x49, 0x48, 0x63, 0xde, 0x91, 0x35, 0xa8, 0x4c, 0x40, 0x35, 0xfa, + 0x10, 0xf2, 0xd6, 0xb8, 0xab, 0x78, 0xe1, 0x99, 0x78, 0x8e, 0xf1, 0xc8, 0xd0, 0xb8, 0x3b, 0xd4, + 0x7b, 0x0f, 0xc8, 0xa9, 0x37, 0x18, 0x6b, 0xdc, 0x7d, 0xc0, 0xa3, 0xc8, 0x7f, 0x25, 0x15, 0xfe, + 0x95, 0x63, 0x28, 0x78, 0x9b, 0x02, 0xfd, 0x08, 0x24, 0x3f, 0x0b, 0xf8, 0xf5, 0xd5, 0xd8, 0xf4, + 0x21, 0xdc, 0x07, 0x26, 0x94, 0x59, 0x3b, 0x7a, 0xdf, 0x20, 0x9a, 0x12, 0x90, 0x66, 0xf6, 0x6b, + 0x05, 0x5c, 0xe1, 0x1f, 0x76, 0x3d, 0xc6, 0x2c, 0xff, 0x2b, 0x09, 0x05, 0xaf, 0x8e, 0x86, 0xde, + 0x0f, 0xed, 0xbb, 0xf2, 0x8c, 0xa2, 0x80, 0xa7, 0x18, 0xd4, 0xc2, 0xa2, 0x63, 0x4d, 0x9d, 0x7f, + 0xac, 0x71, 0x45, 0x4d, 0xaf, 0xbc, 0x9c, 0x39, 0x77, 0x79, 0xf9, 0x5d, 0x40, 0xae, 0xe9, 0xaa, + 0x43, 0xe5, 0xd8, 0x74, 0x75, 0xa3, 0xaf, 0xf0, 0x60, 0x73, 0x16, 0x51, 0x65, 0x5f, 0x1e, 0xb1, + 0x0f, 0x07, 0x2c, 0xee, 0xbf, 0x4a, 0x42, 0xc1, 0x4f, 0x07, 0xe7, 0x2d, 0x6d, 0xad, 0x42, 0x4e, + 0x20, 0x1e, 0xaf, 0x6d, 0x89, 0x9e, 0x5f, 0x65, 0xcd, 0x84, 0xaa, 0xac, 0x75, 0x28, 0x8c, 0x88, + 0xab, 0x32, 0x60, 0xe1, 0xf7, 0x16, 0xbf, 0x7f, 0xf3, 0x03, 0x28, 0x86, 0xaa, 0x8c, 0xf4, 0xe4, + 0xed, 0xb5, 0x3e, 0xa9, 0x26, 0xea, 0xf9, 0xe7, 0x5f, 0x5d, 0x4e, 0xef, 0x91, 0xa7, 0x74, 0xcf, + 0xe2, 0x56, 0xb3, 0xdd, 0x6a, 0x3e, 0xa8, 0x26, 0xeb, 0xc5, 0xe7, 0x5f, 0x5d, 0xce, 0x63, 0xc2, + 0x0a, 0x12, 0x37, 0xdb, 0xb0, 0x14, 0x5e, 0x95, 0x28, 0x68, 0x22, 0x28, 0xdf, 0x7b, 0x78, 0xb0, + 0xbb, 0xd3, 0xdc, 0xee, 0xb4, 0x94, 0x47, 0xfb, 0x9d, 0x56, 0x35, 0x89, 0x5e, 0x87, 0x0b, 0xbb, + 0x3b, 0x3f, 0x69, 0x77, 0x94, 0xe6, 0xee, 0x4e, 0x6b, 0xaf, 0xa3, 0x6c, 0x77, 0x3a, 0xdb, 0xcd, + 0x07, 0xd5, 0xd4, 0xd6, 0xef, 0x00, 0x2a, 0xdb, 0x8d, 0xe6, 0x0e, 0x05, 0x7c, 0xbd, 0xa7, 0xb2, + 0x4b, 0x65, 0x13, 0x32, 0xec, 0xda, 0x78, 0xe6, 0xcb, 0x66, 0xfd, 0xec, 0x52, 0x15, 0xba, 0x0f, + 0x59, 0x76, 0xa3, 0x44, 0x67, 0x3f, 0x75, 0xd6, 0xe7, 0xd4, 0xae, 0xe8, 0x60, 0xd8, 0xf1, 0x38, + 0xf3, 0xed, 0xb3, 0x7e, 0x76, 0x29, 0x0b, 0x61, 0x90, 0x02, 0xda, 0x3a, 0xff, 0x2d, 0xb0, 0xbe, + 0x00, 0xd8, 0xa0, 0x5d, 0xc8, 0x7b, 0x97, 0x88, 0x79, 0xaf, 0x93, 0xf5, 0xb9, 0xb5, 0x26, 0x1a, + 0x2e, 0x7e, 0xd9, 0x3b, 0xfb, 0xa9, 0xb5, 0x3e, 0xa7, 0x70, 0x86, 0x76, 0x20, 0x27, 0xa8, 0xd8, + 0x9c, 0x17, 0xc7, 0xfa, 0xbc, 0xda, 0x11, 0x0d, 0x5a, 0x70, 0x8d, 0x9e, 0xff, 0x80, 0x5c, 0x5f, + 0xa0, 0x26, 0x88, 0x1e, 0x02, 0x84, 0xae, 0x76, 0x0b, 0xbc, 0x0c, 0xd7, 0x17, 0xa9, 0xf5, 0xa1, + 0x7d, 0x28, 0xf8, 0x74, 0x7c, 0xee, 0x3b, 0x6d, 0x7d, 0x7e, 0xd1, 0x0d, 0x3d, 0x86, 0x52, 0x94, + 0x86, 0x2e, 0xf6, 0xfa, 0x5a, 0x5f, 0xb0, 0x9a, 0x46, 0xfd, 0x47, 0x39, 0xe9, 0x62, 0xaf, 0xb1, + 0xf5, 0x05, 0x8b, 0x6b, 0xe8, 0x0b, 0x58, 0x9e, 0xe6, 0x8c, 0x8b, 0x3f, 0xce, 0xd6, 0xcf, 0x51, + 0x6e, 0x43, 0x23, 0x40, 0x33, 0xb8, 0xe6, 0x39, 0xde, 0x6a, 0xeb, 0xe7, 0xa9, 0xbe, 0x21, 0x0d, + 0x2a, 0x93, 0x04, 0x6e, 0xd1, 0xb7, 0xdb, 0xfa, 0xc2, 0x95, 0xb8, 0x46, 0xeb, 0xeb, 0x97, 0x6b, + 0xc9, 0x6f, 0x5e, 0xae, 0x25, 0xff, 0xf1, 0x72, 0x2d, 0xf9, 0xe2, 0xd5, 0x5a, 0xe2, 0x9b, 0x57, + 0x6b, 0x89, 0xbf, 0xbd, 0x5a, 0x4b, 0xfc, 0xfc, 0x9d, 0xbe, 0xee, 0x0e, 0xc6, 0xdd, 0x8d, 0x9e, + 0x39, 0xda, 0x0c, 0xff, 0xd5, 0x64, 0xd6, 0xdf, 0x5f, 0xba, 0x39, 0x96, 0xba, 0x6e, 0xfd, 0x3b, + 0x00, 0x00, 0xff, 0xff, 0xeb, 0x38, 0xd3, 0x92, 0x1e, 0x23, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -3540,7 +3590,7 @@ type ABCIApplicationClient interface { OfferSnapshot(ctx context.Context, in *RequestOfferSnapshot, opts ...grpc.CallOption) (*ResponseOfferSnapshot, error) LoadSnapshotChunk(ctx context.Context, in *RequestLoadSnapshotChunk, opts ...grpc.CallOption) (*ResponseLoadSnapshotChunk, error) ApplySnapshotChunk(ctx context.Context, in *RequestApplySnapshotChunk, opts ...grpc.CallOption) (*ResponseApplySnapshotChunk, error) - PreprocessTxs(ctx context.Context, in *RequestPreprocessTxs, opts ...grpc.CallOption) (*ResponsePreprocessTxs, error) + PrepareProposal(ctx context.Context, in *RequestPrepareProposal, opts ...grpc.CallOption) (*ResponsePrepareProposal, error) } type aBCIApplicationClient struct { @@ -3686,9 +3736,9 @@ func (c *aBCIApplicationClient) ApplySnapshotChunk(ctx context.Context, in *Requ return out, nil } -func (c *aBCIApplicationClient) PreprocessTxs(ctx context.Context, in *RequestPreprocessTxs, opts ...grpc.CallOption) (*ResponsePreprocessTxs, error) { - out := new(ResponsePreprocessTxs) - err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/PreprocessTxs", in, out, opts...) +func (c *aBCIApplicationClient) PrepareProposal(ctx context.Context, in *RequestPrepareProposal, opts ...grpc.CallOption) (*ResponsePrepareProposal, error) { + out := new(ResponsePrepareProposal) + err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/PrepareProposal", in, out, opts...) if err != nil { return nil, err } @@ -3712,7 +3762,7 @@ type ABCIApplicationServer interface { OfferSnapshot(context.Context, *RequestOfferSnapshot) (*ResponseOfferSnapshot, error) LoadSnapshotChunk(context.Context, *RequestLoadSnapshotChunk) (*ResponseLoadSnapshotChunk, error) ApplySnapshotChunk(context.Context, *RequestApplySnapshotChunk) (*ResponseApplySnapshotChunk, error) - PreprocessTxs(context.Context, *RequestPreprocessTxs) (*ResponsePreprocessTxs, error) + PrepareProposal(context.Context, *RequestPrepareProposal) (*ResponsePrepareProposal, error) } // UnimplementedABCIApplicationServer can be embedded to have forward compatible implementations. @@ -3764,8 +3814,8 @@ func (*UnimplementedABCIApplicationServer) LoadSnapshotChunk(ctx context.Context func (*UnimplementedABCIApplicationServer) ApplySnapshotChunk(ctx context.Context, req *RequestApplySnapshotChunk) (*ResponseApplySnapshotChunk, error) { return nil, status.Errorf(codes.Unimplemented, "method ApplySnapshotChunk not implemented") } -func (*UnimplementedABCIApplicationServer) PreprocessTxs(ctx context.Context, req *RequestPreprocessTxs) (*ResponsePreprocessTxs, error) { - return nil, status.Errorf(codes.Unimplemented, "method PreprocessTxs not implemented") +func (*UnimplementedABCIApplicationServer) PrepareProposal(ctx context.Context, req *RequestPrepareProposal) (*ResponsePrepareProposal, error) { + return nil, status.Errorf(codes.Unimplemented, "method PrepareProposal not implemented") } func RegisterABCIApplicationServer(s *grpc.Server, srv ABCIApplicationServer) { @@ -4042,20 +4092,20 @@ func _ABCIApplication_ApplySnapshotChunk_Handler(srv interface{}, ctx context.Co return interceptor(ctx, in, info, handler) } -func _ABCIApplication_PreprocessTxs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(RequestPreprocessTxs) +func _ABCIApplication_PrepareProposal_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RequestPrepareProposal) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(ABCIApplicationServer).PreprocessTxs(ctx, in) + return srv.(ABCIApplicationServer).PrepareProposal(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/tendermint.abci.ABCIApplication/PreprocessTxs", + FullMethod: "/tendermint.abci.ABCIApplication/PrepareProposal", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ABCIApplicationServer).PreprocessTxs(ctx, req.(*RequestPreprocessTxs)) + return srv.(ABCIApplicationServer).PrepareProposal(ctx, req.(*RequestPrepareProposal)) } return interceptor(ctx, in, info, handler) } @@ -4125,8 +4175,8 @@ var _ABCIApplication_serviceDesc = grpc.ServiceDesc{ Handler: _ABCIApplication_ApplySnapshotChunk_Handler, }, { - MethodName: "PreprocessTxs", - Handler: _ABCIApplication_PreprocessTxs_Handler, + MethodName: "PrepareProposal", + Handler: _ABCIApplication_PrepareProposal_Handler, }, }, Streams: []grpc.StreamDesc{}, @@ -4480,16 +4530,16 @@ func (m *Request_ApplySnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, err } return len(dAtA) - i, nil } -func (m *Request_PreprocessTxs) MarshalTo(dAtA []byte) (int, error) { +func (m *Request_PrepareProposal) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *Request_PreprocessTxs) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *Request_PrepareProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) - if m.PreprocessTxs != nil { + if m.PrepareProposal != nil { { - size, err := m.PreprocessTxs.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.PrepareProposal.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -4497,9 +4547,7 @@ func (m *Request_PreprocessTxs) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintTypes(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0x82 + dAtA[i] = 0x7a } return len(dAtA) - i, nil } @@ -4698,12 +4746,12 @@ func (m *RequestInitChain) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x12 } - n18, err18 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) - if err18 != nil { - return 0, err18 + n17, err17 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) + if err17 != nil { + return 0, err17 } - i -= n18 - i = encodeVarintTypes(dAtA, i, uint64(n18)) + i -= n17 + i = encodeVarintTypes(dAtA, i, uint64(n17)) i-- dAtA[i] = 0xa return len(dAtA) - i, nil @@ -5086,7 +5134,7 @@ func (m *RequestApplySnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, erro return len(dAtA) - i, nil } -func (m *RequestPreprocessTxs) Marshal() (dAtA []byte, err error) { +func (m *RequestPrepareProposal) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5096,21 +5144,26 @@ func (m *RequestPreprocessTxs) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *RequestPreprocessTxs) MarshalTo(dAtA []byte) (int, error) { +func (m *RequestPrepareProposal) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *RequestPreprocessTxs) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *RequestPrepareProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Txs) > 0 { - for iNdEx := len(m.Txs) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Txs[iNdEx]) - copy(dAtA[i:], m.Txs[iNdEx]) - i = encodeVarintTypes(dAtA, i, uint64(len(m.Txs[iNdEx]))) + if m.BlockDataSize != 0 { + i = encodeVarintTypes(dAtA, i, uint64(m.BlockDataSize)) + i-- + dAtA[i] = 0x10 + } + if len(m.BlockData) > 0 { + for iNdEx := len(m.BlockData) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.BlockData[iNdEx]) + copy(dAtA[i:], m.BlockData[iNdEx]) + i = encodeVarintTypes(dAtA, i, uint64(len(m.BlockData[iNdEx]))) i-- dAtA[i] = 0xa } @@ -5511,6 +5564,29 @@ func (m *Response_PreprocessTxs) MarshalToSizedBuffer(dAtA []byte) (int, error) } return len(dAtA) - i, nil } +func (m *Response_PrepareProposal) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Response_PrepareProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + if m.PrepareProposal != nil { + { + size, err := m.PrepareProposal.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTypes(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x82 + } + return len(dAtA) - i, nil +} func (m *ResponseException) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -6251,20 +6327,20 @@ func (m *ResponseApplySnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, err } } if len(m.RefetchChunks) > 0 { - dAtA43 := make([]byte, len(m.RefetchChunks)*10) - var j42 int + dAtA41 := make([]byte, len(m.RefetchChunks)*10) + var j40 int for _, num := range m.RefetchChunks { for num >= 1<<7 { - dAtA43[j42] = uint8(uint64(num)&0x7f | 0x80) + dAtA41[j40] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j42++ + j40++ } - dAtA43[j42] = uint8(num) - j42++ + dAtA41[j40] = uint8(num) + j40++ } - i -= j42 - copy(dAtA[i:], dAtA43[:j42]) - i = encodeVarintTypes(dAtA, i, uint64(j42)) + i -= j40 + copy(dAtA[i:], dAtA41[:j40]) + i = encodeVarintTypes(dAtA, i, uint64(j40)) i-- dAtA[i] = 0x12 } @@ -6276,7 +6352,39 @@ func (m *ResponseApplySnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, err return len(dAtA) - i, nil } -func (m *ResponsePreprocessTxs) Marshal() (dAtA []byte, err error) { +func (m *ResponsePrepareProposal) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ResponsePrepareProposal) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ResponsePrepareProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.BlockData) > 0 { + for iNdEx := len(m.BlockData) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.BlockData[iNdEx]) + copy(dAtA[i:], m.BlockData[iNdEx]) + i = encodeVarintTypes(dAtA, i, uint64(len(m.BlockData[iNdEx]))) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *LastCommitInfo) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6755,12 +6863,12 @@ func (m *Evidence) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x28 } - n52, err52 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) - if err52 != nil { - return 0, err52 + n45, err45 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) + if err45 != nil { + return 0, err45 } - i -= n52 - i = encodeVarintTypes(dAtA, i, uint64(n52)) + i -= n45 + i = encodeVarintTypes(dAtA, i, uint64(n45)) i-- dAtA[i] = 0x22 if m.Height != 0 { @@ -7041,15 +7149,15 @@ func (m *Request_ApplySnapshotChunk) Size() (n int) { } return n } -func (m *Request_PreprocessTxs) Size() (n int) { +func (m *Request_PrepareProposal) Size() (n int) { if m == nil { return 0 } var l int _ = l - if m.PreprocessTxs != nil { - l = m.PreprocessTxs.Size() - n += 2 + l + sovTypes(uint64(l)) + if m.PrepareProposal != nil { + l = m.PrepareProposal.Size() + n += 1 + l + sovTypes(uint64(l)) } return n } @@ -7303,18 +7411,21 @@ func (m *RequestApplySnapshotChunk) Size() (n int) { return n } -func (m *RequestPreprocessTxs) Size() (n int) { +func (m *RequestPrepareProposal) Size() (n int) { if m == nil { return 0 } var l int _ = l - if len(m.Txs) > 0 { - for _, b := range m.Txs { + if len(m.BlockData) > 0 { + for _, b := range m.BlockData { l = len(b) n += 1 + l + sovTypes(uint64(l)) } } + if m.BlockDataSize != 0 { + n += 1 + sovTypes(uint64(m.BlockDataSize)) + } return n } @@ -7534,6 +7645,18 @@ func (m *Response_PreprocessTxs) Size() (n int) { } return n } +func (m *Response_PrepareProposal) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.PrepareProposal != nil { + l = m.PrepareProposal.Size() + n += 2 + l + sovTypes(uint64(l)) + } + return n +} func (m *ResponseException) Size() (n int) { if m == nil { return 0 @@ -7882,7 +8005,22 @@ func (m *ResponseApplySnapshotChunk) Size() (n int) { return n } -func (m *ResponsePreprocessTxs) Size() (n int) { +func (m *ResponsePrepareProposal) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.BlockData) > 0 { + for _, b := range m.BlockData { + l = len(b) + n += 1 + l + sovTypes(uint64(l)) + } + } + return n +} + +func (m *LastCommitInfo) Size() (n int) { if m == nil { return 0 } @@ -8675,9 +8813,9 @@ func (m *Request) Unmarshal(dAtA []byte) error { } m.Value = &Request_ApplySnapshotChunk{v} iNdEx = postIndex - case 16: + case 15: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PreprocessTxs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PrepareProposal", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -8704,11 +8842,11 @@ func (m *Request) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &RequestPreprocessTxs{} + v := &RequestPrepareProposal{} if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.Value = &Request_PreprocessTxs{v} + m.Value = &Request_PrepareProposal{v} iNdEx = postIndex default: iNdEx = preIndex @@ -10392,7 +10530,108 @@ func (m *RequestApplySnapshotChunk) Unmarshal(dAtA []byte) error { } return nil } -func (m *RequestPreprocessTxs) Unmarshal(dAtA []byte) error { +func (m *RequestPrepareProposal) 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: RequestPrepareProposal: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RequestPrepareProposal: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockData", 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.BlockData = append(m.BlockData, make([]byte, postIndex-iNdEx)) + copy(m.BlockData[len(m.BlockData)-1], dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockDataSize", wireType) + } + m.BlockDataSize = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.BlockDataSize |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + 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 *Response) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11063,9 +11302,9 @@ func (m *Response) Unmarshal(dAtA []byte) error { } m.Value = &Response_ApplySnapshotChunk{v} iNdEx = postIndex - case 17: + case 16: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PreprocessTxs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PrepareProposal", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -11092,11 +11331,11 @@ func (m *Response) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &ResponsePreprocessTxs{} + v := &ResponsePrepareProposal{} if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.Value = &Response_PreprocessTxs{v} + m.Value = &Response_PrepareProposal{v} iNdEx = postIndex default: iNdEx = preIndex @@ -13410,7 +13649,89 @@ func (m *ResponseApplySnapshotChunk) Unmarshal(dAtA []byte) error { } return nil } -func (m *ResponsePreprocessTxs) Unmarshal(dAtA []byte) error { +func (m *ResponsePrepareProposal) 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: ResponsePrepareProposal: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ResponsePrepareProposal: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockData", 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.BlockData = append(m.BlockData, make([]byte, postIndex-iNdEx)) + copy(m.BlockData[len(m.BlockData)-1], dAtA[iNdEx:postIndex]) + 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 *LastCommitInfo) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { diff --git a/consensus/mempool_test.go b/consensus/mempool_test.go index 2a9930bc2e..87b71870ab 100644 --- a/consensus/mempool_test.go +++ b/consensus/mempool_test.go @@ -257,7 +257,7 @@ func (app *CounterApplication) Commit() abci.ResponseCommit { return abci.ResponseCommit{Data: hash} } -func (app *CounterApplication) PreprocessTxs( - req abci.RequestPreprocessTxs) abci.ResponsePreprocessTxs { - return abci.ResponsePreprocessTxs{Txs: req.Txs} +func (app *CounterApplication) PrepareProposal( + req abci.RequestPrepareProposal) abci.ResponsePrepareProposal { + return abci.ResponsePrepareProposal{BlockData: req.BlockData} //nolint:gosimple } diff --git a/evidence/mocks/block_store.go b/evidence/mocks/block_store.go index e6205939ab..bdf95188fc 100644 --- a/evidence/mocks/block_store.go +++ b/evidence/mocks/block_store.go @@ -1,4 +1,4 @@ -// Code generated by mockery v0.0.0-dev. DO NOT EDIT. +// Code generated by mockery 2.7.5. DO NOT EDIT. package mocks diff --git a/libs/pubsub/query/query.peg.go b/libs/pubsub/query/query.peg.go index a8e14c8698..98f8f4ed1e 100644 --- a/libs/pubsub/query/query.peg.go +++ b/libs/pubsub/query/query.peg.go @@ -1,4 +1,4 @@ -// nolint +//nolint package query import ( diff --git a/light/rpc/mocks/light_client.go b/light/rpc/mocks/light_client.go index 7bd0175c5e..644a18a20c 100644 --- a/light/rpc/mocks/light_client.go +++ b/light/rpc/mocks/light_client.go @@ -1,4 +1,4 @@ -// Code generated by mockery v0.0.0-dev. DO NOT EDIT. +// Code generated by mockery 2.7.5. DO NOT EDIT. package mocks diff --git a/proto/tendermint/abci/types.proto b/proto/tendermint/abci/types.proto index c902922e36..1c633fe4b6 100644 --- a/proto/tendermint/abci/types.proto +++ b/proto/tendermint/abci/types.proto @@ -36,7 +36,7 @@ message Request { RequestOfferSnapshot offer_snapshot = 13; RequestLoadSnapshotChunk load_snapshot_chunk = 14; RequestApplySnapshotChunk apply_snapshot_chunk = 15; - RequestPreprocessTxs preprocess_txs = 16; + RequestPrepareProposal prepare_proposal = 16; } } @@ -126,8 +126,13 @@ message RequestApplySnapshotChunk { string sender = 3; } -message RequestPreprocessTxs { - repeated bytes txs = 1; +message RequestPrepareProposal { + // block_data is an array of transactions that will be included in a block, + // sent to the app for possible modifications. + // applications can not exceed the size of the data passed to it. + repeated bytes block_data = 1; + // If an application decides to populate block_data with extra information, they can not exceed this value. + int64 block_data_size = 2; } //---------------------------------------- @@ -151,7 +156,7 @@ message Response { ResponseOfferSnapshot offer_snapshot = 14; ResponseLoadSnapshotChunk load_snapshot_chunk = 15; ResponseApplySnapshotChunk apply_snapshot_chunk = 16; - ResponsePreprocessTxs preprocess_txs = 17; + ResponsePrepareProposal prepare_proposal = 17; } } @@ -282,9 +287,8 @@ message ResponseApplySnapshotChunk { } } -message ResponsePreprocessTxs { - repeated bytes txs = 1; - tendermint.types.Messages messages = 2; +message ResponsePrepareProposal { + repeated bytes block_data = 1; } //---------------------------------------- @@ -416,5 +420,5 @@ service ABCIApplication { rpc OfferSnapshot(RequestOfferSnapshot) returns (ResponseOfferSnapshot); rpc LoadSnapshotChunk(RequestLoadSnapshotChunk) returns (ResponseLoadSnapshotChunk); rpc ApplySnapshotChunk(RequestApplySnapshotChunk) returns (ResponseApplySnapshotChunk); - rpc PreprocessTxs(RequestPreprocessTxs) returns (ResponsePreprocessTxs); + rpc PrepareProposal(RequestPrepareProposal) returns (ResponsePrepareProposal); } diff --git a/proxy/app_conn.go b/proxy/app_conn.go index d14932487a..70024b5992 100644 --- a/proxy/app_conn.go +++ b/proxy/app_conn.go @@ -21,7 +21,7 @@ type AppConnConsensus interface { EndBlockSync(types.RequestEndBlock) (*types.ResponseEndBlock, error) CommitSync() (*types.ResponseCommit, error) - PreprocessTxsSync(types.RequestPreprocessTxs) (*types.ResponsePreprocessTxs, error) + PrepareProposalSync(types.RequestPrepareProposal) (*types.ResponsePrepareProposal, error) } type AppConnMempool interface { @@ -95,10 +95,10 @@ func (app *appConnConsensus) CommitSync() (*types.ResponseCommit, error) { return app.appConn.CommitSync() } -func (app *appConnConsensus) PreprocessTxsSync( - req types.RequestPreprocessTxs, -) (*types.ResponsePreprocessTxs, error) { - return app.appConn.PreprocessTxsSync(req) +func (app *appConnConsensus) PrepareProposalSync( + req types.RequestPrepareProposal, +) (*types.ResponsePrepareProposal, error) { + return app.appConn.PrepareProposalSync(req) } //------------------------------------------------ diff --git a/proxy/mocks/app_conn_consensus.go b/proxy/mocks/app_conn_consensus.go index ddc34122ff..16314e306c 100644 --- a/proxy/mocks/app_conn_consensus.go +++ b/proxy/mocks/app_conn_consensus.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.1.0. DO NOT EDIT. +// Code generated by mockery 2.7.5. DO NOT EDIT. package mocks @@ -159,6 +159,29 @@ func (_m *AppConnConsensus) PreprocessTxsSync(_a0 types.RequestPreprocessTxs) (* return r0, r1 } +// PrepareProposalSync provides a mock function with given fields: _a0, _a1 +func (_m *AppConnConsensus) PrepareProposalSync(_a0 context.Context, _a1 types.RequestPrepareProposal) (*types.ResponsePrepareProposal, error) { + ret := _m.Called(_a0, _a1) + + var r0 *types.ResponsePrepareProposal + if rf, ok := ret.Get(0).(func(context.Context, types.RequestPrepareProposal) *types.ResponsePrepareProposal); ok { + r0 = rf(_a0, _a1) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*types.ResponsePrepareProposal) + } + } + + var r1 error + if rf, ok := ret.Get(1).(func(context.Context, types.RequestPrepareProposal) error); ok { + r1 = rf(_a0, _a1) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + // SetResponseCallback provides a mock function with given fields: _a0 func (_m *AppConnConsensus) SetResponseCallback(_a0 abcicli.Callback) { _m.Called(_a0) diff --git a/proxy/mocks/app_conn_mempool.go b/proxy/mocks/app_conn_mempool.go index a7d3ca3077..50e937ea6e 100644 --- a/proxy/mocks/app_conn_mempool.go +++ b/proxy/mocks/app_conn_mempool.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.1.0. DO NOT EDIT. +// Code generated by mockery 2.7.5. DO NOT EDIT. package mocks diff --git a/proxy/mocks/app_conn_query.go b/proxy/mocks/app_conn_query.go index 4de683cdb0..646661c95f 100644 --- a/proxy/mocks/app_conn_query.go +++ b/proxy/mocks/app_conn_query.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.1.0. DO NOT EDIT. +// Code generated by mockery 2.7.5. DO NOT EDIT. package mocks diff --git a/proxy/mocks/app_conn_snapshot.go b/proxy/mocks/app_conn_snapshot.go index 9f31ea9b9f..146fbd3304 100644 --- a/proxy/mocks/app_conn_snapshot.go +++ b/proxy/mocks/app_conn_snapshot.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.1.0. DO NOT EDIT. +// Code generated by mockery 2.7.5. DO NOT EDIT. package mocks diff --git a/state/execution.go b/state/execution.go index f93065b034..b8dfb2dbcf 100644 --- a/state/execution.go +++ b/state/execution.go @@ -91,6 +91,8 @@ func (blockExec *BlockExecutor) SetEventBus(eventBus types.BlockEventPublisher) // and txs from the mempool. The max bytes must be big enough to fit the commit. // Up to 1/10th of the block space is allcoated for maximum sized evidence. // The rest is given to txs, up to the max gas. +// +// Contract: application will not return more bytes than are sent over the wire. func (blockExec *BlockExecutor) CreateProposalBlock( height int64, state State, commit *types.Commit, @@ -118,40 +120,35 @@ func (blockExec *BlockExecutor) CreateProposalBlock( bzs[i] = txs[i] } - // TODO(ismail): - // 1. get those intermediate state roots & messages either from the - // mempool or from the abci-app - // 1.1 at this point we should now the square / block size: - // https://github.com/celestiaorg/celestia-specs/blob/53e5f350838f1e0785ad670704bf91dac2f4f5a3/specs/block_proposer.md#deciding-on-a-block-size - // Here, we instead assume a fixed (max) square size instead. - // 2. feed them into MakeBlock below: - processedBlockTxs, err := blockExec.proxyApp.PreprocessTxsSync(abci.RequestPreprocessTxs{Txs: bzs}) + preparedProposal, err := blockExec.proxyApp.PrepareProposalSync( + abci.RequestPrepareProposal{BlockData: txs.ToSliceOfBytes(), BlockDataSize: maxDataBytes}, + ) if err != nil { - // The App MUST ensure that only valid (and hence 'processable') - // Tx enter the mempool. Hence, at this point, we can't have any non-processable - // transaction causing an error. Also, the App can simply skip any Tx that could cause any - // kind of trouble. + // The App MUST ensure that only valid (and hence 'processable') transactions + // enter the mempool. Hence, at this point, we can't have any non-processable + // transaction causing an error. + // + // Also, the App can simply skip any transaction that could cause any kind of trouble. // Either way, we can not recover in a meaningful way, unless we skip proposing - // this block, repair what caused the error and try again. - // Hence we panic on purpose for now. + // this block, repair what caused the error and try again. Hence, we panic on + // purpose for now. panic(err) } + newTxs := preparedProposal.GetBlockData() + var txSize int + for _, tx := range newTxs { + txSize += len(tx) - ppt := processedBlockTxs.GetTxs() - - pbmessages := processedBlockTxs.GetMessages() - - lp := len(ppt) - processedTxs := make(types.Txs, lp) - if lp > 0 { - for i := 0; i < l; i++ { - processedTxs[i] = ppt[i] + if maxDataBytes < int64(txSize) { + panic("block data exceeds max amount of allowed bytes") } } - messages := types.MessagesFromProto(pbmessages) + // todo(evan) unmarshal block data and return transactions or simply change prepareprop to pass block data + + modifiedTxs := types.ToTxs(preparedProposal.GetBlockData()) - return state.MakeBlock(height, processedTxs, evidence, nil, messages.MessagesList, commit, proposerAddr) + return state.MakeBlock(height, modifiedTxs, evidence, nil, nil, commit, proposerAddr) } // ValidateBlock validates the given block against the given state. diff --git a/state/mocks/evidence_pool.go b/state/mocks/evidence_pool.go index 9d6091cde6..8dd6a68d43 100644 --- a/state/mocks/evidence_pool.go +++ b/state/mocks/evidence_pool.go @@ -1,4 +1,4 @@ -// Code generated by mockery 2.9.0. DO NOT EDIT. +// Code generated by mockery 2.7.5. DO NOT EDIT. package mocks diff --git a/state/mocks/store.go b/state/mocks/store.go index 91525b223a..5f4f849f65 100644 --- a/state/mocks/store.go +++ b/state/mocks/store.go @@ -1,4 +1,4 @@ -// Code generated by mockery 2.9.0. DO NOT EDIT. +// Code generated by mockery 2.7.5. DO NOT EDIT. package mocks diff --git a/statesync/mocks/state_provider.go b/statesync/mocks/state_provider.go index 47dbb86d2e..af66fb24b7 100644 --- a/statesync/mocks/state_provider.go +++ b/statesync/mocks/state_provider.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.1.0. DO NOT EDIT. +// Code generated by mockery 2.7.5. DO NOT EDIT. package mocks diff --git a/test/e2e/app/app.go b/test/e2e/app/app.go index f0ee6cc087..8caf9aea9e 100644 --- a/test/e2e/app/app.go +++ b/test/e2e/app/app.go @@ -254,10 +254,9 @@ func (app *Application) ApplySnapshotChunk(req abci.RequestApplySnapshotChunk) a return abci.ResponseApplySnapshotChunk{Result: abci.ResponseApplySnapshotChunk_ACCEPT} } -// PreprocessTxs implements ABCI -func (app *Application) PreprocessTxs( - req abci.RequestPreprocessTxs) abci.ResponsePreprocessTxs { - return abci.ResponsePreprocessTxs{Txs: req.Txs} +func (app *Application) PrepareProposal( + req abci.RequestPrepareProposal) abci.ResponsePrepareProposal { + return abci.ResponsePrepareProposal{BlockData: req.BlockData} //nolint:gosimple } // validatorUpdates generates a validator set update. diff --git a/types/tx.go b/types/tx.go index 1254b2eafe..cab9c036f2 100644 --- a/types/tx.go +++ b/types/tx.go @@ -77,6 +77,27 @@ func (txs Txs) SplitIntoShares() NamespacedShares { return shares } +// ToSliceOfBytes converts a Txs to slice of byte slices. +// +// NOTE: This method should become obsolete once Txs is switched to [][]byte. +// ref: #2603 +func (txs Txs) ToSliceOfBytes() [][]byte { + txBzs := make([][]byte, len(txs)) + for i := 0; i < len(txs); i++ { + txBzs[i] = txs[i] + } + return txBzs +} + +// ToTxs converts a raw slice of byte slices into a Txs type. +func ToTxs(txs [][]byte) Txs { + txBzs := make(Txs, len(txs)) + for i := 0; i < len(txs); i++ { + txBzs[i] = txs[i] + } + return txBzs +} + // TxProof represents a Merkle proof of the presence of a transaction in the Merkle tree. type TxProof struct { RowRoots []tmbytes.HexBytes `json:"root_hash"` From 364a56b6c8ce63290a49097a68cd34d8f7adae7e Mon Sep 17 00:00:00 2001 From: evan-forbes Date: Tue, 15 Feb 2022 19:51:05 -0600 Subject: [PATCH 02/19] regenerate mocks, proto, mod/sum, and clean up remaining preprocesstxs --- abci/client/grpc_client.go | 22 +- abci/client/local_client.go | 17 +- abci/client/mocks/client.go | 58 +-- abci/client/socket_client.go | 19 +- abci/server/socket_server.go | 3 - abci/types/types.pb.go | 6 - go.mod | 20 +- go.sum | 553 ++++++++++++++++++++--- proto/tendermint/abci/types.pb.go | 708 +++++++++++++++--------------- 9 files changed, 865 insertions(+), 541 deletions(-) diff --git a/abci/client/grpc_client.go b/abci/client/grpc_client.go index 254d641a6e..1d9265d2fb 100644 --- a/abci/client/grpc_client.go +++ b/abci/client/grpc_client.go @@ -302,27 +302,16 @@ func (cli *grpcClient) ApplySnapshotChunkAsync(params types.RequestApplySnapshot return cli.finishAsyncCall(req, &types.Response{Value: &types.Response_ApplySnapshotChunk{ApplySnapshotChunk: res}}) } -func (cli *grpcClient) PreprocessTxsAsync(params types.RequestPreprocessTxs) *ReqRes { - req := types.ToRequestPreprocessTxs(params) - res, err := cli.client.PreprocessTxs(context.Background(), req.GetPreprocessTxs(), grpc.WaitForReady(true)) - if err != nil { - cli.StopForError(err) - } - return cli.finishAsyncCall(req, &types.Response{Value: &types.Response_PreprocessTxs{PreprocessTxs: res}}) -} - func (cli *grpcClient) PrepareProposalAsync( - ctx context.Context, params types.RequestPrepareProposal, -) (*ReqRes, error) { +) *ReqRes { req := types.ToRequestPrepareProposal(params) - res, err := cli.client.PrepareProposal(ctx, req.GetPrepareProposal(), grpc.WaitForReady(true)) + res, err := cli.client.PrepareProposal(context.Background(), req.GetPrepareProposal(), grpc.WaitForReady(true)) if err != nil { - return nil, err + return nil } return cli.finishAsyncCall( - ctx, req, &types.Response{ Value: &types.Response_PrepareProposal{ @@ -452,9 +441,6 @@ func (cli *grpcClient) PrepareProposalSync( params types.RequestPrepareProposal, ) (*types.ResponsePrepareProposal, error) { - reqres, err := cli.PrepareProposalAsync(ctx, params) - if err != nil { - return nil, err - } + reqres := cli.PrepareProposalAsync(params) return cli.finishSyncCall(reqres).GetPrepareProposal(), cli.Error() } diff --git a/abci/client/local_client.go b/abci/client/local_client.go index 06f606f0bb..abd67d97d0 100644 --- a/abci/client/local_client.go +++ b/abci/client/local_client.go @@ -4,7 +4,6 @@ import ( types "github.com/tendermint/tendermint/abci/types" "github.com/tendermint/tendermint/libs/service" tmsync "github.com/tendermint/tendermint/libs/sync" - "golang.org/x/net/context" ) var _ Client = (*localClient)(nil) @@ -208,21 +207,9 @@ func (app *localClient) ApplySnapshotChunkAsync(req types.RequestApplySnapshotCh ) } -func (app *localClient) PreprocessTxsAsync(req types.RequestPreprocessTxs) (*ReqRes, error) { - app.mtx.Lock() - defer app.mtx.Unlock() - - res := app.Application.PreprocessTxs(req) - return app.callback( - types.ToRequestPreprocessTxs(req), - types.ToResponsePreprocessTx(res), - ), nil -} - func (app *localClient) PrepareProposalAsync( - ctx context.Context, req types.RequestPrepareProposal, -) (*ReqRes, error) { +) *ReqRes { app.mtx.Lock() defer app.mtx.Unlock() @@ -230,7 +217,7 @@ func (app *localClient) PrepareProposalAsync( return app.callback( types.ToRequestPrepareProposal(req), types.ToResponsePrepareProposal(res), - ), nil + ) } //------------------------------------------------------- diff --git a/abci/client/mocks/client.go b/abci/client/mocks/client.go index 5e736843e9..88f5c56574 100644 --- a/abci/client/mocks/client.go +++ b/abci/client/mocks/client.go @@ -575,67 +575,21 @@ func (_m *Client) OnStop() { _m.Called() } -// PrepareProposalAsync provides a mock function with given fields: _a0, _a1 -func (_m *Client) PrepareProposalAsync(_a1 types.RequestPrepareProposal) (*abcicli.ReqRes, error) { - ret := _m.Called(_a0, _a1) - - var r0 *abcicli.ReqRes - if rf, ok := ret.Get(0).(func(context.Context, types.RequestPrepareProposal) *abcicli.ReqRes); ok { - r0 = rf(_a0, _a1) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*abcicli.ReqRes) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, types.RequestPrepareProposal) error); ok { - r1 = rf(_a0, _a1) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// PrepareProposalSync provides a mock function with given fields: _a0, _a1 -func (_m *Client) PrepareProposalSync(_a1 types.RequestPrepareProposal) (*types.ResponsePrepareProposal) { - ret := _m.Called(_a0, _a1) +// PrepareProposalSync provides a mock function with given fields: _a0 +func (_m *Client) PrepareProposalSync(_a0 types.RequestPrepareProposal) (*types.ResponsePrepareProposal, error) { + ret := _m.Called(_a0) var r0 *types.ResponsePrepareProposal - if rf, ok := ret.Get(0).(func(context.Context, types.RequestPrepareProposal) *types.ResponsePrepareProposal); ok { - r0 = rf(_a0, _a1) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*types.ResponsePrepareProposal) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, types.RequestPrepareProposal) error); ok { - r1 = rf(_a0, _a1) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// QueryAsync provides a mock function with given fields: _a0, _a1 -func (_m *Client) QueryAsync(_a1 types.RequestQuery) (*abcicli.ReqRes) { - ret := _m.Called(_a0, _a1) - - var r0 *types.ResponsePreprocessTxs - if rf, ok := ret.Get(0).(func(types.RequestPreprocessTxs) *types.ResponsePreprocessTxs); ok { + if rf, ok := ret.Get(0).(func(types.RequestPrepareProposal) *types.ResponsePrepareProposal); ok { r0 = rf(_a0) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(*types.ResponsePreprocessTxs) + r0 = ret.Get(0).(*types.ResponsePrepareProposal) } } var r1 error - if rf, ok := ret.Get(1).(func(types.RequestPreprocessTxs) error); ok { + if rf, ok := ret.Get(1).(func(types.RequestPrepareProposal) error); ok { r1 = rf(_a0) } else { r1 = ret.Error(1) diff --git a/abci/client/socket_client.go b/abci/client/socket_client.go index 8d4111057e..7ec7978839 100644 --- a/abci/client/socket_client.go +++ b/abci/client/socket_client.go @@ -15,7 +15,6 @@ import ( "github.com/tendermint/tendermint/libs/service" tmsync "github.com/tendermint/tendermint/libs/sync" "github.com/tendermint/tendermint/libs/timer" - "golang.org/x/net/context" ) const ( @@ -282,7 +281,7 @@ func (cli *socketClient) ApplySnapshotChunkAsync(req types.RequestApplySnapshotC func (cli *socketClient) PrepareProposalAsync( req types.RequestPrepareProposal, -) (*ReqRes, error) { +) *ReqRes { return cli.queueRequest(types.ToRequestPrepareProposal(req)) } @@ -422,25 +421,11 @@ func (cli *socketClient) ApplySnapshotChunkSync( return reqres.Response.GetApplySnapshotChunk(), cli.Error() } -func (cli *socketClient) PreprocessTxsSync( - req types.RequestPreprocessTxs, -) (*types.ResponsePreprocessTxs, error) { - reqres := cli.queueRequest(types.ToRequestPreprocessTxs(req)) - if err := cli.FlushSync(); err != nil { - return nil, err - } - return reqres.Response.GetPreprocessTxs(), nil -} - func (cli *socketClient) PrepareProposalSync( - ctx context.Context, req types.RequestPrepareProposal, ) (*types.ResponsePrepareProposal, error) { - reqres, err := cli.queueRequestAndFlushSync(ctx, types.ToRequestPrepareProposal(req)) - if err != nil { - return nil, err - } + reqres := cli.queueRequest(types.ToRequestPrepareProposal(req)) return reqres.Response.GetPrepareProposal(), nil } diff --git a/abci/server/socket_server.go b/abci/server/socket_server.go index 120071eeaf..d816aa40cf 100644 --- a/abci/server/socket_server.go +++ b/abci/server/socket_server.go @@ -239,9 +239,6 @@ func (s *SocketServer) handleRequest(req *types.Request, responses chan<- *types case *types.Request_ApplySnapshotChunk: res := s.app.ApplySnapshotChunk(*r.ApplySnapshotChunk) responses <- types.ToResponseApplySnapshotChunk(res) - case *types.Request_PreprocessTxs: - res := s.app.PreprocessTxs(*r.PreprocessTxs) - responses <- types.ToResponsePreprocessTx(res) default: responses <- types.ToResponseException("Unknown request") } diff --git a/abci/types/types.pb.go b/abci/types/types.pb.go index 8176140d58..644acb57fd 100644 --- a/abci/types/types.pb.go +++ b/abci/types/types.pb.go @@ -265,9 +265,6 @@ type Request_LoadSnapshotChunk struct { type Request_ApplySnapshotChunk struct { ApplySnapshotChunk *RequestApplySnapshotChunk `protobuf:"bytes,15,opt,name=apply_snapshot_chunk,json=applySnapshotChunk,proto3,oneof" json:"apply_snapshot_chunk,omitempty"` } -type Request_PreprocessTxs struct { - PreprocessTxs *RequestPreprocessTxs `protobuf:"bytes,16,opt,name=preprocess_txs,json=preprocessTxs,proto3,oneof" json:"preprocess_txs,omitempty"` -} type Request_PrepareProposal struct { PrepareProposal *RequestPrepareProposal `protobuf:"bytes,15,opt,name=prepare_proposal,json=prepareProposal,proto3,oneof" json:"prepare_proposal,omitempty"` } @@ -1395,9 +1392,6 @@ type Response_LoadSnapshotChunk struct { type Response_ApplySnapshotChunk struct { ApplySnapshotChunk *ResponseApplySnapshotChunk `protobuf:"bytes,16,opt,name=apply_snapshot_chunk,json=applySnapshotChunk,proto3,oneof" json:"apply_snapshot_chunk,omitempty"` } -type Response_PreprocessTxs struct { - PreprocessTxs *ResponsePreprocessTxs `protobuf:"bytes,17,opt,name=preprocess_txs,json=preprocessTxs,proto3,oneof" json:"preprocess_txs,omitempty"` -} type Response_PrepareProposal struct { PrepareProposal *ResponsePrepareProposal `protobuf:"bytes,16,opt,name=prepare_proposal,json=prepareProposal,proto3,oneof" json:"prepare_proposal,omitempty"` } diff --git a/go.mod b/go.mod index 8898eb128c..46cf2c1bca 100644 --- a/go.mod +++ b/go.mod @@ -17,7 +17,7 @@ require ( github.com/go-kit/kit v0.10.0 github.com/go-logfmt/logfmt v0.5.0 github.com/gogo/protobuf v1.3.2 - github.com/golang/protobuf v1.5.0 + github.com/golang/protobuf v1.5.2 github.com/google/orderedcode v0.0.1 github.com/gorilla/websocket v1.4.2 github.com/gtank/merlin v0.1.1 @@ -32,14 +32,16 @@ require ( github.com/rs/cors v1.7.0 github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa github.com/snikch/goodman v0.0.0-20171125024755-10e37e294daa - github.com/spf13/cobra v1.1.1 - github.com/spf13/viper v1.7.1 + github.com/spf13/afero v1.8.0 // indirect + github.com/spf13/cobra v1.3.0 + github.com/spf13/viper v1.10.1 github.com/stretchr/testify v1.7.0 github.com/tendermint/tm-db v0.6.4 - golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2 - golang.org/x/net v0.0.0-20210903162142-ad29c8ab022f - golang.org/x/sys v0.0.0-20210903071746-97244b99971b // indirect - google.golang.org/genproto v0.0.0-20201119123407-9b1e624d6bc4 // indirect - google.golang.org/grpc v1.37.0 - google.golang.org/protobuf v1.26.0 + github.com/vektra/mockery/v2 v2.10.0 // indirect + golang.org/x/crypto v0.0.0-20220112180741-5e0467b6c7ce + golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2 + golang.org/x/sys v0.0.0-20220114195835-da31bd327af9 // indirect + google.golang.org/grpc v1.43.0 + google.golang.org/protobuf v1.27.1 + gopkg.in/ini.v1 v1.66.3 // indirect ) diff --git a/go.sum b/go.sum index d0e4d62735..3b54e5a44b 100644 --- a/go.sum +++ b/go.sum @@ -3,13 +3,51 @@ cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= +cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= +cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= +cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= +cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= +cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= +cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= +cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= +cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= +cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= +cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= +cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= +cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= +cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= +cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= +cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= +cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= +cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= +cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= +cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= +cloud.google.com/go v0.98.0/go.mod h1:ua6Ush4NALrHk5QXDWnjvZHN93OuF0HfuEPq9I1X0cM= +cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= +cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= +cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= +cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= +cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= +cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/firestore v1.6.1/go.mod h1:asNXNOzBdyVQmEU+ggO8UPodTkEVFW5Qx+rwHnAz+EY= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= +cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= +cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= +cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= +cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= +cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= +cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= +cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= @@ -19,6 +57,7 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d h1:nalkkPQcITbvhmL4+C4cKA87NW0tfm3Kl9VXRoPywFg= github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d/go.mod h1:URdX5+vg25ts3aCh8H5IFZybJYKWhJHYMTnf+ULtoC4= +github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/DataDog/zstd v1.4.1 h1:3oxKN3wbHibqx897utPC2LTQU4J+IHWWJO+glkAkpFM= github.com/DataDog/zstd v1.4.1/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= @@ -44,12 +83,15 @@ github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuy github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= +github.com/armon/go-metrics v0.3.10/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= @@ -60,7 +102,6 @@ github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= -github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= github.com/btcsuite/btcd v0.21.0-beta h1:At9hIZdJW0s9E/fAz28nrz6AmcNlSVucCH796ZteX1M= github.com/btcsuite/btcd v0.21.0-beta/go.mod h1:ZSWyehm27aAuS9bvkATT+Xte3hjHZ+MRgMY/8NJ7K94= @@ -87,36 +128,48 @@ github.com/celestiaorg/rsmt2d v0.3.0/go.mod h1:2Frw4GEYUnVu6Mvlo+CUzuC2/8wn+zLwV github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= +github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/checkpoint-restore/go-criu/v5 v5.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d89JlCLQIfgVcNsNN0t6T2M= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/cilium/ebpf v0.6.2/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= +github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= +github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211130200136-a8f946100490/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/containerd/console v1.0.2/go.mod h1:ytZPjGgY2oeTkAONYafi2kSj0aYggsf8acV1PGKCbzQ= github.com/containerd/continuity v0.0.0-20190827140505-75bee3e2ccb6 h1:NmTXa/uVnDyp0TY5MKi197+3HWcnYWfnHGyaFthlnGw= github.com/containerd/continuity v0.0.0-20190827140505-75bee3e2ccb6/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= -github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d h1:49RLWk1j44Xu4fjHb6JFYmeUnDORVwHNkDxaQ0ctCVU= github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= @@ -132,7 +185,6 @@ github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de/go.mod h1:KP github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2 h1:tdlZCpZ/P9DhczCTSixgIKmwPv6+wP5DGjqLYw5SUiA= github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= -github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= @@ -147,9 +199,15 @@ github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaB github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= +github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= +github.com/envoyproxy/go-control-plane v0.10.1/go.mod h1:AY7fTTXNdv/aJ2O5jwpxAPOWUZ7hQAEvzN5Pf27BkQQ= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/envoyproxy/protoc-gen-validate v0.6.2/go.mod h1:2t7qjJNvHPx8IjnBOzl9E9/baC+qXE/TeeyBRzgJDws= github.com/facebookgo/ensure v0.0.0-20160127193407-b4ab57deab51 h1:0JZ+dUmQeA8IIVUMzysrX4/AKuQwWhV2dYQuPZdvdSQ= github.com/facebookgo/ensure v0.0.0-20160127193407-b4ab57deab51/go.mod h1:Yg+htXGokKKdzcwhuNDwVvN+uBxDGXJ7G/VN1d8fa64= github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 h1:JWuenKqqX8nojtoVVWjGfOF9635RETekkoH6Cc9SX0A= @@ -157,16 +215,21 @@ github.com/facebookgo/stack v0.0.0-20160209184415-751773369052/go.mod h1:UbMTZqL github.com/facebookgo/subset v0.0.0-20150612182917-8dac2c3c4870 h1:E2s37DuLxFhQDg5gKsWoLBOB0n+ZW8s599zru8FJ2/Y= github.com/facebookgo/subset v0.0.0-20150612182917-8dac2c3c4870/go.mod h1:5tD+neXqOorC30/tWg0LCSkrqj/AR6gu8yY8/fpw1q0= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= +github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= +github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.10.0 h1:dXFJfIHVvUcpSgDOV+Ne6t7jXri8Tfv2uOLHUZ2XNuo= @@ -187,14 +250,25 @@ github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= +github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= +github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= @@ -203,11 +277,14 @@ github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvq github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0 h1:LUVKkCeviFUMKqHa4tXIIij/lbhnMbP7Fn5wKdKkRh4= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= +github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.3 h1:fHPg5GQYlCeLIPB9BZqMVR5nR9A+IM5zcgeTdjMYmLA= +github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= @@ -215,24 +292,47 @@ github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5a github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/orderedcode v0.0.1 h1:UzfcAexk9Vhv8+9pNOgRu41f16lHq725vPwnSeiG/Us= github.com/google/orderedcode v0.0.1/go.mod h1:iVyU4/qPKHY5h/wSd6rZZCDcLJNxiWO6dvsYES2Sb20= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= +github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= +github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= +github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= @@ -242,26 +342,34 @@ github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0U github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gotestyourself/gotestyourself v2.2.0+incompatible h1:AQwinXlbQR2HvPjQZOmDhRqsv5mZf+Jb1RnSLxcqZcI= github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/gtank/merlin v0.1.1-0.20191105220539-8318aed1a79f/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= github.com/gtank/merlin v0.1.1 h1:eQ90iG7K9pOhtereWsmyRJ6RAwcP4tHTDBHXNg+u5is= github.com/gtank/merlin v0.1.1/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= github.com/gtank/ristretto255 v0.1.2 h1:JEqUCPA1NvLq5DwYtuzigd7ss8fwbYay9fi4/5uMzcc= github.com/gtank/ristretto255 v0.1.2/go.mod h1:Ph5OpO6c7xKUGROZfWVLiJf9icMDwUeIvY4OmlYW69o= -github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= -github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/consul/api v1.11.0/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M= +github.com/hashicorp/consul/api v1.12.0/go.mod h1:6pVBMo0ebnYdt2S3H87XhekM/HHrUoTD2XXb/VrZVy0= github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= +github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v1.0.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= +github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= +github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= @@ -270,14 +378,24 @@ github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09 github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= +github.com/hashicorp/mdns v1.0.1/go.mod h1:4gW7WsVCke5TE7EPeYliwHlRUyBtfCwuFwuMg2DmyNY= +github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= +github.com/hashicorp/memberlist v0.2.2/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= +github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= +github.com/hashicorp/serf v0.9.5/go.mod h1:UWDWwZeL5cuWDJdl0C6wrvrUwEqtQ4ZKBKKENpqIUyk= +github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= +github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= @@ -292,9 +410,12 @@ github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlT github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= +github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= @@ -304,8 +425,10 @@ github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+o github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= @@ -318,35 +441,51 @@ github.com/libp2p/go-buffer-pool v0.0.2 h1:QNK2iAFa8gjAe1SPz6mHSMuCcjs+X1wlHzeOS github.com/libp2p/go-buffer-pool v0.0.2/go.mod h1:MvaB6xw5vOrDl8rYZGLFdKAuk/hRoRZd1Vi32+RXyFM= github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= +github.com/lyft/protoc-gen-star v0.5.3/go.mod h1:V0xaHgaf5oCCqmcxYcWiDfTiKsZsRc87/1qhoTACD8w= github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzRKO2BQ4= -github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls= +github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= +github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= +github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= +github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643 h1:hLDRPB66XQT/8+wG9WsDpiCvZf1yKO7sz7scAjSlBa0= github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= github.com/minio/highwayhash v1.0.1 h1:dZ6IIu8Z14VlC0VpfKofAhCy74wu/Qb5gcn52yWoz/0= github.com/minio/highwayhash v1.0.1/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= +github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs= +github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= @@ -361,7 +500,6 @@ github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= -github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= @@ -395,9 +533,11 @@ github.com/ory/dockertest v3.3.5+incompatible h1:iLLK6SQwIhcbrG783Dghaaa3WPzGc+4 github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnhNrne+V0E6LAcBILJdPs= github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= -github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhECwM= +github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 h1:q2e307iGHPdTGp0hoxKjt1H5pDo6utceo3dQVK3I5XQ= github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o= @@ -408,14 +548,17 @@ github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= +github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= +github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= +github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= -github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og= +github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.8.0 h1:zvJNkoCFAnYFNC24FV8nW4JdRJ3GIFcLbg65lL/JDcw= github.com/prometheus/client_golang v1.8.0/go.mod h1:O9VU6huf47PktckDQfMTX0Y8tY0/7TSWwj+ITvv0TnM= @@ -426,33 +569,37 @@ github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1: github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= +github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.14.0 h1:RHRyE8UocrbjU+6UvRzwi6HjiDfxrrBU91TtbKzkGp4= github.com/prometheus/common v0.14.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.2.0 h1:wH4vA7pcjKuZzjF7lM8awk4fnuJO6idemZXoKnULUx4= github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 h1:MkV+77GLUNo5oJ0jf870itWm3D0Sjh7+Za9gazKc5LQ= github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rs/cors v1.7.0 h1:+88SsELBHx5r+hZ8TCkggzSstaWNbDvThkVK8H6f9ik= github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= +github.com/rs/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= +github.com/rs/zerolog v1.26.1 h1:/ihwxqH+4z8UxyI70wM1z9yCvkWcfz/a3mj48k/Zngc= +github.com/rs/zerolog v1.26.1/go.mod h1:/wSSJWX7lVrsOwlbyTRSOJvqRlc+WjWlfes+CiJ+tmc= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/sagikazarmark/crypt v0.3.0/go.mod h1:uD/D+6UF4SrIR1uGEv7bBNkNqLGqUr43MRiaGWX1Nig= +github.com/sagikazarmark/crypt v0.4.0/go.mod h1:ALv2SRj7GxYV4HO9elxH9nS6M9gW+xDNxqmyJ6RfDFM= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa h1:0U2s5loxrTy6/VgfVoLuVLFJcURKLH49ie0zSch7gh4= github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM= @@ -466,9 +613,7 @@ github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrf github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/snikch/goodman v0.0.0-20171125024755-10e37e294daa h1:YJfZp12Z3AFhSBeXOlv4BO55RMwPn2NoQeDsrdWnBtY= github.com/snikch/goodman v0.0.0-20171125024755-10e37e294daa/go.mod h1:oJyF+mSPHbB5mVY2iO9KV3pTt/QbIkGaO8gQ2WrDbP4= @@ -477,24 +622,29 @@ github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJ github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.1.2 h1:m8/z1t7/fwjysjQRYbP0RD+bUIF/8tJwPdEZsI83ACI= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/cast v1.3.0 h1:oget//CVOEoFewqQxwr0Ej5yjygnqGkvggSE/gB35Q8= +github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= +github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= +github.com/spf13/afero v1.8.0 h1:5MmtuhAgYeU6qpa7w7bP0dv6MBYuup0vekhSpSkoq60= +github.com/spf13/afero v1.8.0/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA= +github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= -github.com/spf13/cobra v1.1.1 h1:KfztREH0tPxJJ+geloSLaAkaPkr4ki2Er5quFV1TDo4= -github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI= -github.com/spf13/jwalterweatherman v1.0.0 h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBEu9Gc1vn7yk= +github.com/spf13/cobra v1.3.0 h1:R7cSvGu+Vv+qX0gW5R/85dx2kmmJT5z5NM8ifdYjdn0= +github.com/spf13/cobra v1.3.0/go.mod h1:BrRVncBjOJa/eUcVVm9CE+oC6as8k+VYr4NY7WCi9V4= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= +github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= -github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= -github.com/spf13/viper v1.7.1 h1:pM5oEahlgWv/WnHXpgbKz7iLIxRf65tye2Ci+XFK5sk= -github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= +github.com/spf13/viper v1.10.0/go.mod h1:SoyBPwAtKDzypXNDFKN5kzH7ppppbGZtls1UpIy5AsM= +github.com/spf13/viper v1.10.1 h1:nuJZuYpG7gTj/XqiUwg8bA0cp1+M2mC3J4g5luUYBKk= +github.com/spf13/viper v1.10.1/go.mod h1:IGlFPqhNAPKRxohIzWpI5QEy4kuI7tcl5WvR+8qy1rU= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= @@ -505,6 +655,7 @@ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXf github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= @@ -517,41 +668,57 @@ github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c/go.mod h1:ahpPrc7 github.com/tendermint/tm-db v0.6.4 h1:3N2jlnYQkXNQclQwd/eKV/NzlqPlfK21cpRRIx80XXQ= github.com/tendermint/tm-db v0.6.4/go.mod h1:dptYhIpJ2M5kUuenLr+Yyf3zQOv1SgBZcl8/BmWlMBw= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/vektra/mockery/v2 v2.10.0 h1:MiiQWxwdq7/ET6dCXLaJzSGEN17k758H7JHS9kOdiks= +github.com/vektra/mockery/v2 v2.10.0/go.mod h1:m/WO2UzWzqgVX3nvqpRQq70I4Z7jbSCRhdmkgtp+Ab4= github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= github.com/vivint/infectious v0.0.0-20200605153912-25a574ae18a3 h1:zMsHhfK9+Wdl1F7sIKLyx3wrOFofpb3rWFbA4HgcK5k= github.com/vivint/infectious v0.0.0-20200605153912-25a574ae18a3/go.mod h1:R0Gbuw7ElaGSLOZUSwBm/GgVwMd30jWxBDdAyMOeTuc= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= gitlab.com/NebulousLabs/errors v0.0.0-20171229012116-7ead97ef90b8/go.mod h1:ZkMZ0dpQyWwlENaeZVBiQRjhMEZvk6VTXquzl3FOFP8= gitlab.com/NebulousLabs/errors v0.0.0-20200929122200-06c536cf6975 h1:L/ENs/Ar1bFzUeKx6m3XjlmBgIUlykX9dzvp5k9NGxc= gitlab.com/NebulousLabs/errors v0.0.0-20200929122200-06c536cf6975/go.mod h1:ZkMZ0dpQyWwlENaeZVBiQRjhMEZvk6VTXquzl3FOFP8= gitlab.com/NebulousLabs/fastrand v0.0.0-20181126182046-603482d69e40 h1:dizWJqTWjwyD8KGcMOwgrkqu1JIkofYgKkmDeNE7oAs= gitlab.com/NebulousLabs/fastrand v0.0.0-20181126182046-603482d69e40/go.mod h1:rOnSnoRyxMI3fe/7KIbVcsHRGxe30OONv8dEgo+vCfA= -go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.5 h1:XAzx9gjCb0Rxj7EoqcClPD1d5ZBxZJk0jbuoPHenBt0= go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= +go.etcd.io/etcd/api/v3 v3.5.1/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= +go.etcd.io/etcd/client/pkg/v3 v3.5.1/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= +go.etcd.io/etcd/client/v2 v2.305.1/go.mod h1:pMEacxZW7o8pg4CrFE7pquyCJJzZvkvdD2RibOCCCGs= go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= +go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= +go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= +go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= +go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -560,19 +727,31 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200109152110-61a87790db17/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2 h1:It14KIkyBFYkHkwZ7k45minvA9aorojkyjGk9KJ5B/w= golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20211215165025-cf75a172585e/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= +golang.org/x/crypto v0.0.0-20220112180741-5e0467b6c7ce h1:Roh6XWxHFKrPgC/EQhVubSAGQ6Ozk6IdxHSzt1mR0EI= +golang.org/x/crypto v0.0.0-20220112180741-5e0467b6c7ce/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= +golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -582,13 +761,25 @@ golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHl golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= +golang.org/x/mod v0.5.1 h1:OJxoQ/rynoF0dcCdI7cLPktw/hR2cueqYfjm43oqK38= +golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -607,27 +798,70 @@ golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210903162142-ad29c8ab022f h1:w6wWR0H+nyVpbSAQbzVEIACVyr/h8l/BEkY6Sokc7Eg= -golang.org/x/net v0.0.0-20210903162142-ad29c8ab022f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= +golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2 h1:CIJ76btIcR3eFI5EgSo6k1qKw9KJexJuRLI9G7Hp5wE= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211005180243-6b3c2da341f1/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -639,6 +873,7 @@ golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190130150945-aca44879d564/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -651,37 +886,89 @@ golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201015000850-e3ed0017c211/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210903071746-97244b99971b h1:3Dq0eVHn0uaQJmPO+/aYPI/fRMqdrVDbu7MQcku54gg= -golang.org/x/sys v0.0.0-20210903071746-97244b99971b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211205182925-97ca703d548d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220114195835-da31bd327af9 h1:XfKQ4OlFl8okEOr5UvAqFRVj8pY/4yfcXrddB8qAbU0= +golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M= +golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -702,15 +989,54 @@ golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgw golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= +golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo= +golang.org/x/tools v0.1.8 h1:P1HhGGuLW4aAclzjtmJdf0mJOjVUZUzOTqkAkWL+l6w= +golang.org/x/tools v0.1.8/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -722,11 +1048,42 @@ google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= +google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= +google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= +google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= +google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= +google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= +google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= +google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= +google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= +google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= +google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= +google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= +google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= +google.golang.org/api v0.59.0/go.mod h1:sT2boj7M9YJxZzgeZqXogmhfmRWDtPzT31xkieUbuZU= +google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= +google.golang.org/api v0.62.0/go.mod h1:dKmwPCydfsad4qCH08MSdgWjfHOyfpd4VtDGgRFdavw= +google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= @@ -737,9 +1094,63 @@ google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98 google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= +google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20201119123407-9b1e624d6bc4 h1:Rt0FRalMgdSlXAVJvX4pr65KfqaxHXSLkSJRD9pw6g0= -google.golang.org/genproto v0.0.0-20201119123407-9b1e624d6bc4/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= +google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= +google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211008145708-270636b82663/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211028162531-8db9c33dc351/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211129164237-f09f9a12af12/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211203200212-54befc351ae9/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa h1:I0YcKz0I7OAhddo7ya8kMnvprhcWM045PmkBdMO9zN0= +google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= @@ -752,9 +1163,29 @@ google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyac google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= +google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= +google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.37.0 h1:uSZWeQJX5j11bIQ4AJoj+McDBo29cY1MCoC1wO3ts+c= +google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.43.0 h1:Eeu7bZtDZ2DpRCsLhUlcrLnvYaMK1Gz86a+hMVvELmM= +google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -766,8 +1197,9 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0 h1:bxAC2xTBsZGibn2RTntX0oH50xLsqy1OxA9tTL3p/lk= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= +google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -778,8 +1210,9 @@ gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qS gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= -gopkg.in/ini.v1 v1.51.0 h1:AQvPpx3LzTDM0AjnIRlVFwFFGC+npRopjZxLJj6gdno= -gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.66.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.66.3 h1:jRskFVxYaMGAMUbN0UZ7niA9gzL9B49DOqE78vg0k3w= +gopkg.in/ini.v1 v1.66.3/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= @@ -787,11 +1220,13 @@ gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRN gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= @@ -803,6 +1238,10 @@ honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= +rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= diff --git a/proto/tendermint/abci/types.pb.go b/proto/tendermint/abci/types.pb.go index 7215e34d94..7313c47145 100644 --- a/proto/tendermint/abci/types.pb.go +++ b/proto/tendermint/abci/types.pb.go @@ -177,7 +177,7 @@ type Request struct { // *Request_OfferSnapshot // *Request_LoadSnapshotChunk // *Request_ApplySnapshotChunk - // *Request_PreprocessTxs + // *Request_PrepareProposal Value isRequest_Value `protobuf_oneof:"value"` } @@ -265,8 +265,8 @@ type Request_LoadSnapshotChunk struct { type Request_ApplySnapshotChunk struct { ApplySnapshotChunk *RequestApplySnapshotChunk `protobuf:"bytes,15,opt,name=apply_snapshot_chunk,json=applySnapshotChunk,proto3,oneof" json:"apply_snapshot_chunk,omitempty"` } -type Request_PreprocessTxs struct { - PreprocessTxs *RequestPreprocessTxs `protobuf:"bytes,16,opt,name=preprocess_txs,json=preprocessTxs,proto3,oneof" json:"preprocess_txs,omitempty"` +type Request_PrepareProposal struct { + PrepareProposal *RequestPrepareProposal `protobuf:"bytes,16,opt,name=prepare_proposal,json=prepareProposal,proto3,oneof" json:"prepare_proposal,omitempty"` } func (*Request_Echo) isRequest_Value() {} @@ -284,7 +284,7 @@ func (*Request_ListSnapshots) isRequest_Value() {} func (*Request_OfferSnapshot) isRequest_Value() {} func (*Request_LoadSnapshotChunk) isRequest_Value() {} func (*Request_ApplySnapshotChunk) isRequest_Value() {} -func (*Request_PreprocessTxs) isRequest_Value() {} +func (*Request_PrepareProposal) isRequest_Value() {} func (m *Request) GetValue() isRequest_Value { if m != nil { @@ -398,9 +398,9 @@ func (m *Request) GetApplySnapshotChunk() *RequestApplySnapshotChunk { return nil } -func (m *Request) GetPreprocessTxs() *RequestPreprocessTxs { - if x, ok := m.GetValue().(*Request_PreprocessTxs); ok { - return x.PreprocessTxs +func (m *Request) GetPrepareProposal() *RequestPrepareProposal { + if x, ok := m.GetValue().(*Request_PrepareProposal); ok { + return x.PrepareProposal } return nil } @@ -423,7 +423,7 @@ func (*Request) XXX_OneofWrappers() []interface{} { (*Request_OfferSnapshot)(nil), (*Request_LoadSnapshotChunk)(nil), (*Request_ApplySnapshotChunk)(nil), - (*Request_PreprocessTxs)(nil), + (*Request_PrepareProposal)(nil), } } @@ -1228,22 +1228,27 @@ func (m *RequestApplySnapshotChunk) GetSender() string { return "" } -type RequestPreprocessTxs struct { - Txs [][]byte `protobuf:"bytes,1,rep,name=txs,proto3" json:"txs,omitempty"` +type RequestPrepareProposal struct { + // block_data is an array of transactions that will be included in a block, + // sent to the app for possible modifications. + // applications can not exceed the size of the data passed to it. + BlockData [][]byte `protobuf:"bytes,1,rep,name=block_data,json=blockData,proto3" json:"block_data,omitempty"` + // If an application decides to populate block_data with extra information, they can not exceed this value. + BlockDataSize int64 `protobuf:"varint,2,opt,name=block_data_size,json=blockDataSize,proto3" json:"block_data_size,omitempty"` } -func (m *RequestPreprocessTxs) Reset() { *m = RequestPreprocessTxs{} } -func (m *RequestPreprocessTxs) String() string { return proto.CompactTextString(m) } -func (*RequestPreprocessTxs) ProtoMessage() {} -func (*RequestPreprocessTxs) Descriptor() ([]byte, []int) { +func (m *RequestPrepareProposal) Reset() { *m = RequestPrepareProposal{} } +func (m *RequestPrepareProposal) String() string { return proto.CompactTextString(m) } +func (*RequestPrepareProposal) ProtoMessage() {} +func (*RequestPrepareProposal) Descriptor() ([]byte, []int) { return fileDescriptor_252557cfdd89a31a, []int{16} } -func (m *RequestPreprocessTxs) XXX_Unmarshal(b []byte) error { +func (m *RequestPrepareProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *RequestPreprocessTxs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *RequestPrepareProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_RequestPreprocessTxs.Marshal(b, m, deterministic) + return xxx_messageInfo_RequestPrepareProposal.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1253,25 +1258,32 @@ func (m *RequestPreprocessTxs) XXX_Marshal(b []byte, deterministic bool) ([]byte return b[:n], nil } } -func (m *RequestPreprocessTxs) XXX_Merge(src proto.Message) { - xxx_messageInfo_RequestPreprocessTxs.Merge(m, src) +func (m *RequestPrepareProposal) XXX_Merge(src proto.Message) { + xxx_messageInfo_RequestPrepareProposal.Merge(m, src) } -func (m *RequestPreprocessTxs) XXX_Size() int { +func (m *RequestPrepareProposal) XXX_Size() int { return m.Size() } -func (m *RequestPreprocessTxs) XXX_DiscardUnknown() { - xxx_messageInfo_RequestPreprocessTxs.DiscardUnknown(m) +func (m *RequestPrepareProposal) XXX_DiscardUnknown() { + xxx_messageInfo_RequestPrepareProposal.DiscardUnknown(m) } -var xxx_messageInfo_RequestPreprocessTxs proto.InternalMessageInfo +var xxx_messageInfo_RequestPrepareProposal proto.InternalMessageInfo -func (m *RequestPreprocessTxs) GetTxs() [][]byte { +func (m *RequestPrepareProposal) GetBlockData() [][]byte { if m != nil { - return m.Txs + return m.BlockData } return nil } +func (m *RequestPrepareProposal) GetBlockDataSize() int64 { + if m != nil { + return m.BlockDataSize + } + return 0 +} + type Response struct { // Types that are valid to be assigned to Value: // *Response_Exception @@ -1290,7 +1302,7 @@ type Response struct { // *Response_OfferSnapshot // *Response_LoadSnapshotChunk // *Response_ApplySnapshotChunk - // *Response_PreprocessTxs + // *Response_PrepareProposal Value isResponse_Value `protobuf_oneof:"value"` } @@ -1381,8 +1393,8 @@ type Response_LoadSnapshotChunk struct { type Response_ApplySnapshotChunk struct { ApplySnapshotChunk *ResponseApplySnapshotChunk `protobuf:"bytes,16,opt,name=apply_snapshot_chunk,json=applySnapshotChunk,proto3,oneof" json:"apply_snapshot_chunk,omitempty"` } -type Response_PreprocessTxs struct { - PreprocessTxs *ResponsePreprocessTxs `protobuf:"bytes,17,opt,name=preprocess_txs,json=preprocessTxs,proto3,oneof" json:"preprocess_txs,omitempty"` +type Response_PrepareProposal struct { + PrepareProposal *ResponsePrepareProposal `protobuf:"bytes,17,opt,name=prepare_proposal,json=prepareProposal,proto3,oneof" json:"prepare_proposal,omitempty"` } func (*Response_Exception) isResponse_Value() {} @@ -1401,7 +1413,7 @@ func (*Response_ListSnapshots) isResponse_Value() {} func (*Response_OfferSnapshot) isResponse_Value() {} func (*Response_LoadSnapshotChunk) isResponse_Value() {} func (*Response_ApplySnapshotChunk) isResponse_Value() {} -func (*Response_PreprocessTxs) isResponse_Value() {} +func (*Response_PrepareProposal) isResponse_Value() {} func (m *Response) GetValue() isResponse_Value { if m != nil { @@ -1522,9 +1534,9 @@ func (m *Response) GetApplySnapshotChunk() *ResponseApplySnapshotChunk { return nil } -func (m *Response) GetPreprocessTxs() *ResponsePreprocessTxs { - if x, ok := m.GetValue().(*Response_PreprocessTxs); ok { - return x.PreprocessTxs +func (m *Response) GetPrepareProposal() *ResponsePrepareProposal { + if x, ok := m.GetValue().(*Response_PrepareProposal); ok { + return x.PrepareProposal } return nil } @@ -1548,7 +1560,7 @@ func (*Response) XXX_OneofWrappers() []interface{} { (*Response_OfferSnapshot)(nil), (*Response_LoadSnapshotChunk)(nil), (*Response_ApplySnapshotChunk)(nil), - (*Response_PreprocessTxs)(nil), + (*Response_PrepareProposal)(nil), } } @@ -2533,23 +2545,22 @@ func (m *ResponseApplySnapshotChunk) GetRejectSenders() []string { return nil } -type ResponsePreprocessTxs struct { - Txs [][]byte `protobuf:"bytes,1,rep,name=txs,proto3" json:"txs,omitempty"` - Messages *types1.Messages `protobuf:"bytes,2,opt,name=messages,proto3" json:"messages,omitempty"` +type ResponsePrepareProposal struct { + BlockData [][]byte `protobuf:"bytes,1,rep,name=block_data,json=blockData,proto3" json:"block_data,omitempty"` } -func (m *ResponsePreprocessTxs) Reset() { *m = ResponsePreprocessTxs{} } -func (m *ResponsePreprocessTxs) String() string { return proto.CompactTextString(m) } -func (*ResponsePreprocessTxs) ProtoMessage() {} -func (*ResponsePreprocessTxs) Descriptor() ([]byte, []int) { +func (m *ResponsePrepareProposal) Reset() { *m = ResponsePrepareProposal{} } +func (m *ResponsePrepareProposal) String() string { return proto.CompactTextString(m) } +func (*ResponsePrepareProposal) ProtoMessage() {} +func (*ResponsePrepareProposal) Descriptor() ([]byte, []int) { return fileDescriptor_252557cfdd89a31a, []int{34} } -func (m *ResponsePreprocessTxs) XXX_Unmarshal(b []byte) error { +func (m *ResponsePrepareProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *ResponsePreprocessTxs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *ResponsePrepareProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_ResponsePreprocessTxs.Marshal(b, m, deterministic) + return xxx_messageInfo_ResponsePrepareProposal.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -2559,28 +2570,21 @@ func (m *ResponsePreprocessTxs) XXX_Marshal(b []byte, deterministic bool) ([]byt return b[:n], nil } } -func (m *ResponsePreprocessTxs) XXX_Merge(src proto.Message) { - xxx_messageInfo_ResponsePreprocessTxs.Merge(m, src) +func (m *ResponsePrepareProposal) XXX_Merge(src proto.Message) { + xxx_messageInfo_ResponsePrepareProposal.Merge(m, src) } -func (m *ResponsePreprocessTxs) XXX_Size() int { +func (m *ResponsePrepareProposal) XXX_Size() int { return m.Size() } -func (m *ResponsePreprocessTxs) XXX_DiscardUnknown() { - xxx_messageInfo_ResponsePreprocessTxs.DiscardUnknown(m) +func (m *ResponsePrepareProposal) XXX_DiscardUnknown() { + xxx_messageInfo_ResponsePrepareProposal.DiscardUnknown(m) } -var xxx_messageInfo_ResponsePreprocessTxs proto.InternalMessageInfo - -func (m *ResponsePreprocessTxs) GetTxs() [][]byte { - if m != nil { - return m.Txs - } - return nil -} +var xxx_messageInfo_ResponsePrepareProposal proto.InternalMessageInfo -func (m *ResponsePreprocessTxs) GetMessages() *types1.Messages { +func (m *ResponsePrepareProposal) GetBlockData() [][]byte { if m != nil { - return m.Messages + return m.BlockData } return nil } @@ -3296,7 +3300,7 @@ func init() { proto.RegisterType((*RequestOfferSnapshot)(nil), "tendermint.abci.RequestOfferSnapshot") proto.RegisterType((*RequestLoadSnapshotChunk)(nil), "tendermint.abci.RequestLoadSnapshotChunk") proto.RegisterType((*RequestApplySnapshotChunk)(nil), "tendermint.abci.RequestApplySnapshotChunk") - proto.RegisterType((*RequestPreprocessTxs)(nil), "tendermint.abci.RequestPreprocessTxs") + proto.RegisterType((*RequestPrepareProposal)(nil), "tendermint.abci.RequestPrepareProposal") proto.RegisterType((*Response)(nil), "tendermint.abci.Response") proto.RegisterType((*ResponseException)(nil), "tendermint.abci.ResponseException") proto.RegisterType((*ResponseEcho)(nil), "tendermint.abci.ResponseEcho") @@ -3314,7 +3318,7 @@ func init() { proto.RegisterType((*ResponseOfferSnapshot)(nil), "tendermint.abci.ResponseOfferSnapshot") proto.RegisterType((*ResponseLoadSnapshotChunk)(nil), "tendermint.abci.ResponseLoadSnapshotChunk") proto.RegisterType((*ResponseApplySnapshotChunk)(nil), "tendermint.abci.ResponseApplySnapshotChunk") - proto.RegisterType((*ResponsePreprocessTxs)(nil), "tendermint.abci.ResponsePreprocessTxs") + proto.RegisterType((*ResponsePrepareProposal)(nil), "tendermint.abci.ResponsePrepareProposal") proto.RegisterType((*ConsensusParams)(nil), "tendermint.abci.ConsensusParams") proto.RegisterType((*BlockParams)(nil), "tendermint.abci.BlockParams") proto.RegisterType((*LastCommitInfo)(nil), "tendermint.abci.LastCommitInfo") @@ -3331,186 +3335,187 @@ func init() { func init() { proto.RegisterFile("tendermint/abci/types.proto", fileDescriptor_252557cfdd89a31a) } var fileDescriptor_252557cfdd89a31a = []byte{ - // 2850 bytes of a gzipped FileDescriptorProto + // 2872 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x5a, 0x4b, 0x77, 0x23, 0xc5, - 0xf5, 0xd7, 0xfb, 0x71, 0x6d, 0x3d, 0x5c, 0x33, 0x0c, 0xa2, 0x19, 0xec, 0xa1, 0xe7, 0xc0, 0x7f, - 0x18, 0xc0, 0xfe, 0x63, 0x0e, 0x13, 0x08, 0x24, 0x60, 0x09, 0x0d, 0x32, 0x36, 0x96, 0xd3, 0xd6, - 0x0c, 0x79, 0x31, 0x4d, 0x49, 0x2a, 0x4b, 0xcd, 0x48, 0xdd, 0x4d, 0x77, 0xc9, 0xd8, 0x2c, 0xf3, - 0xd8, 0x90, 0x0d, 0xcb, 0x6c, 0xf8, 0x0c, 0xd9, 0xe5, 0x64, 0x95, 0x4d, 0x36, 0x9c, 0x93, 0x0d, - 0xcb, 0xac, 0x48, 0xc2, 0xec, 0xf2, 0x05, 0xb2, 0xca, 0x49, 0x4e, 0x3d, 0xfa, 0x25, 0xa9, 0x25, - 0x19, 0xb2, 0xcb, 0xae, 0xea, 0xf6, 0xbd, 0xb7, 0x55, 0xb7, 0xab, 0x7e, 0xf7, 0x77, 0x6f, 0x09, - 0x9e, 0xa4, 0xc4, 0xec, 0x13, 0x67, 0x6c, 0x98, 0x74, 0x07, 0x77, 0x7b, 0xc6, 0x0e, 0xbd, 0xb0, - 0x89, 0xbb, 0x6d, 0x3b, 0x16, 0xb5, 0x50, 0x25, 0x78, 0xb8, 0xcd, 0x1e, 0x2a, 0x4f, 0x85, 0xb4, - 0x7b, 0xce, 0x85, 0x4d, 0xad, 0x1d, 0xdb, 0xb1, 0xac, 0x53, 0xa1, 0xaf, 0x5c, 0x0f, 0x3d, 0xe6, - 0x7e, 0xc2, 0xde, 0x22, 0x4f, 0xa5, 0xf1, 0x43, 0x72, 0xe1, 0x3d, 0x7d, 0x6a, 0xc6, 0xd6, 0xc6, - 0x0e, 0x1e, 0x7b, 0x8f, 0xb7, 0x06, 0x96, 0x35, 0x18, 0x91, 0x1d, 0x3e, 0xeb, 0x4e, 0x4e, 0x77, - 0xa8, 0x31, 0x26, 0x2e, 0xc5, 0x63, 0x5b, 0x2a, 0x5c, 0x1d, 0x58, 0x03, 0x8b, 0x0f, 0x77, 0xd8, - 0x48, 0x48, 0xd5, 0xbf, 0x17, 0x20, 0xaf, 0x91, 0x8f, 0x27, 0xc4, 0xa5, 0x68, 0x17, 0x32, 0xa4, - 0x37, 0xb4, 0x6a, 0xc9, 0x1b, 0xc9, 0x5b, 0x6b, 0xbb, 0xd7, 0xb7, 0xa7, 0x16, 0xb7, 0x2d, 0xf5, - 0x9a, 0xbd, 0xa1, 0xd5, 0x4a, 0x68, 0x5c, 0x17, 0xbd, 0x02, 0xd9, 0xd3, 0xd1, 0xc4, 0x1d, 0xd6, - 0x52, 0xdc, 0xe8, 0xa9, 0x38, 0xa3, 0xbb, 0x4c, 0xa9, 0x95, 0xd0, 0x84, 0x36, 0x7b, 0x95, 0x61, - 0x9e, 0x5a, 0xb5, 0xf4, 0xe2, 0x57, 0xed, 0x9b, 0xa7, 0xfc, 0x55, 0x4c, 0x17, 0xd5, 0x01, 0x5c, - 0x42, 0x75, 0xcb, 0xa6, 0x86, 0x65, 0xd6, 0x32, 0xdc, 0xf2, 0xe9, 0x38, 0xcb, 0x13, 0x42, 0xdb, - 0x5c, 0xb1, 0x95, 0xd0, 0x8a, 0xae, 0x37, 0x61, 0x3e, 0x0c, 0xd3, 0xa0, 0x7a, 0x6f, 0x88, 0x0d, - 0xb3, 0x96, 0x5d, 0xec, 0x63, 0xdf, 0x34, 0x68, 0x83, 0x29, 0x32, 0x1f, 0x86, 0x37, 0x61, 0x4b, - 0xfe, 0x78, 0x42, 0x9c, 0x8b, 0x5a, 0x6e, 0xf1, 0x92, 0x7f, 0xc4, 0x94, 0xd8, 0x92, 0xb9, 0x36, - 0x6a, 0xc2, 0x5a, 0x97, 0x0c, 0x0c, 0x53, 0xef, 0x8e, 0xac, 0xde, 0xc3, 0x5a, 0x9e, 0x1b, 0xab, - 0x71, 0xc6, 0x75, 0xa6, 0x5a, 0x67, 0x9a, 0xad, 0x84, 0x06, 0x5d, 0x7f, 0x86, 0xde, 0x80, 0x42, - 0x6f, 0x48, 0x7a, 0x0f, 0x75, 0x7a, 0x5e, 0x2b, 0x70, 0x1f, 0x5b, 0x71, 0x3e, 0x1a, 0x4c, 0xaf, - 0x73, 0xde, 0x4a, 0x68, 0xf9, 0x9e, 0x18, 0xb2, 0xf5, 0xf7, 0xc9, 0xc8, 0x38, 0x23, 0x0e, 0xb3, - 0x2f, 0x2e, 0x5e, 0xff, 0xdb, 0x42, 0x93, 0x7b, 0x28, 0xf6, 0xbd, 0x09, 0x7a, 0x13, 0x8a, 0xc4, - 0xec, 0xcb, 0x65, 0x00, 0x77, 0x71, 0x23, 0x76, 0xaf, 0x98, 0x7d, 0x6f, 0x11, 0x05, 0x22, 0xc7, - 0xe8, 0x55, 0xc8, 0xf5, 0xac, 0xf1, 0xd8, 0xa0, 0xb5, 0x35, 0x6e, 0xbd, 0x19, 0xbb, 0x00, 0xae, - 0xd5, 0x4a, 0x68, 0x52, 0x1f, 0x1d, 0x41, 0x79, 0x64, 0xb8, 0x54, 0x77, 0x4d, 0x6c, 0xbb, 0x43, - 0x8b, 0xba, 0xb5, 0x75, 0xee, 0xe1, 0x99, 0x38, 0x0f, 0x87, 0x86, 0x4b, 0x4f, 0x3c, 0xe5, 0x56, - 0x42, 0x2b, 0x8d, 0xc2, 0x02, 0xe6, 0xcf, 0x3a, 0x3d, 0x25, 0x8e, 0xef, 0xb0, 0x56, 0x5a, 0xec, - 0xaf, 0xcd, 0xb4, 0x3d, 0x7b, 0xe6, 0xcf, 0x0a, 0x0b, 0xd0, 0xcf, 0xe0, 0xca, 0xc8, 0xc2, 0x7d, - 0xdf, 0x9d, 0xde, 0x1b, 0x4e, 0xcc, 0x87, 0xb5, 0x32, 0x77, 0xfa, 0x5c, 0xec, 0x8f, 0xb4, 0x70, - 0xdf, 0x73, 0xd1, 0x60, 0x06, 0xad, 0x84, 0xb6, 0x31, 0x9a, 0x16, 0xa2, 0x07, 0x70, 0x15, 0xdb, - 0xf6, 0xe8, 0x62, 0xda, 0x7b, 0x85, 0x7b, 0xbf, 0x1d, 0xe7, 0x7d, 0x8f, 0xd9, 0x4c, 0xbb, 0x47, - 0x78, 0x46, 0xca, 0x82, 0x61, 0x3b, 0xc4, 0x76, 0xac, 0x1e, 0x71, 0x5d, 0x9d, 0x9e, 0xbb, 0xb5, - 0xea, 0xe2, 0x60, 0x1c, 0xfb, 0xda, 0x9d, 0x73, 0x1e, 0x5c, 0x3b, 0x2c, 0xa8, 0xe7, 0x21, 0x7b, - 0x86, 0x47, 0x13, 0xa2, 0xfe, 0x1f, 0xac, 0x85, 0xa0, 0x03, 0xd5, 0x20, 0x3f, 0x26, 0xae, 0x8b, - 0x07, 0x84, 0x23, 0x4d, 0x51, 0xf3, 0xa6, 0x6a, 0x19, 0xd6, 0xc3, 0x70, 0xa1, 0x8e, 0x7d, 0x43, - 0x06, 0x04, 0xcc, 0xf0, 0x8c, 0x38, 0x2e, 0x3b, 0xfd, 0xd2, 0x50, 0x4e, 0xd1, 0x4d, 0x28, 0xf1, - 0xed, 0xa8, 0x7b, 0xcf, 0x19, 0x1a, 0x65, 0xb4, 0x75, 0x2e, 0xbc, 0x2f, 0x95, 0xb6, 0x60, 0xcd, - 0xde, 0xb5, 0x7d, 0x95, 0x34, 0x57, 0x01, 0x7b, 0xd7, 0x96, 0x0a, 0xea, 0xf7, 0xa1, 0x3a, 0x8d, - 0x1e, 0xa8, 0x0a, 0xe9, 0x87, 0xe4, 0x42, 0xbe, 0x8f, 0x0d, 0xd1, 0x55, 0xb9, 0x2c, 0xfe, 0x8e, - 0xa2, 0x26, 0xd7, 0xf8, 0xe7, 0x94, 0x6f, 0xec, 0xc3, 0x06, 0x7a, 0x15, 0x32, 0x0c, 0x85, 0x25, - 0xa0, 0x2a, 0xdb, 0x02, 0xa2, 0xb7, 0x3d, 0x88, 0xde, 0xee, 0x78, 0x10, 0x5d, 0x2f, 0x7c, 0xf9, - 0xf5, 0x56, 0xe2, 0xf3, 0xbf, 0x6e, 0x25, 0x35, 0x6e, 0x81, 0x9e, 0x60, 0xa7, 0x1c, 0x1b, 0xa6, - 0x6e, 0xf4, 0xe5, 0x7b, 0xf2, 0x7c, 0xbe, 0xdf, 0x47, 0x07, 0x50, 0xed, 0x59, 0xa6, 0x4b, 0x4c, - 0x77, 0xe2, 0xea, 0x22, 0x05, 0x48, 0x18, 0x9d, 0x3d, 0x85, 0x0d, 0x4f, 0xf1, 0x98, 0xeb, 0x69, - 0x95, 0x5e, 0x54, 0x80, 0xee, 0x02, 0x9c, 0xe1, 0x91, 0xd1, 0xc7, 0xd4, 0x72, 0xdc, 0x5a, 0xe6, - 0x46, 0x7a, 0xae, 0x9b, 0xfb, 0x9e, 0xca, 0x3d, 0xbb, 0x8f, 0x29, 0xa9, 0x67, 0xd8, 0xaf, 0xd5, - 0x42, 0x96, 0xe8, 0x59, 0xa8, 0x60, 0xdb, 0xd6, 0x5d, 0x8a, 0x29, 0xd1, 0xbb, 0x17, 0x94, 0xb8, - 0x1c, 0x5c, 0xd7, 0xb5, 0x12, 0xb6, 0xed, 0x13, 0x26, 0xad, 0x33, 0x21, 0x7a, 0x06, 0xca, 0x0c, - 0x48, 0x0d, 0x3c, 0xd2, 0x87, 0xc4, 0x18, 0x0c, 0x29, 0x07, 0xd1, 0xb4, 0x56, 0x92, 0xd2, 0x16, - 0x17, 0xaa, 0x7d, 0x7f, 0x23, 0x70, 0x10, 0x45, 0x08, 0x32, 0x7d, 0x4c, 0x31, 0x0f, 0xe4, 0xba, - 0xc6, 0xc7, 0x4c, 0x66, 0x63, 0x3a, 0x94, 0xe1, 0xe1, 0x63, 0x74, 0x0d, 0x72, 0xd2, 0x6d, 0x9a, - 0xbb, 0x95, 0x33, 0xf6, 0xcd, 0x6c, 0xc7, 0x3a, 0x23, 0x3c, 0x6b, 0x14, 0x34, 0x31, 0x51, 0x7f, - 0x95, 0x82, 0x8d, 0x19, 0xb8, 0x65, 0x7e, 0x87, 0xd8, 0x1d, 0x7a, 0xef, 0x62, 0x63, 0x74, 0x87, - 0xf9, 0xc5, 0x7d, 0xe2, 0xc8, 0x34, 0x57, 0x0b, 0x87, 0x48, 0xa4, 0xf0, 0x16, 0x7f, 0x2e, 0x43, - 0x23, 0xb5, 0x51, 0x1b, 0xaa, 0x23, 0xec, 0x52, 0x5d, 0xc0, 0x97, 0x1e, 0x4a, 0x79, 0xb3, 0xa0, - 0x7d, 0x88, 0x3d, 0xc0, 0x63, 0x9b, 0x5d, 0x3a, 0x2a, 0x8f, 0x22, 0x52, 0xa4, 0xc1, 0xd5, 0xee, - 0xc5, 0xa7, 0xd8, 0xa4, 0x86, 0x49, 0xf4, 0x99, 0x2f, 0xf7, 0xc4, 0x8c, 0xd3, 0xe6, 0x99, 0xd1, - 0x27, 0x66, 0xcf, 0xfb, 0x64, 0x57, 0x7c, 0x63, 0xff, 0x93, 0xba, 0xaa, 0x06, 0xe5, 0x68, 0xc2, - 0x40, 0x65, 0x48, 0xd1, 0x73, 0x19, 0x80, 0x14, 0x3d, 0x47, 0xff, 0x0f, 0x19, 0xb6, 0x48, 0xbe, - 0xf8, 0xf2, 0x9c, 0x6c, 0x2d, 0xed, 0x3a, 0x17, 0x36, 0xd1, 0xb8, 0xa6, 0xaa, 0xfa, 0xa7, 0xc1, - 0x4f, 0x22, 0xd3, 0x5e, 0xd5, 0xe7, 0xa0, 0x32, 0x95, 0x25, 0x42, 0xdf, 0x2f, 0x19, 0xfe, 0x7e, - 0x6a, 0x05, 0x4a, 0x91, 0x94, 0xa0, 0x5e, 0x83, 0xab, 0xf3, 0x10, 0x5e, 0x1d, 0xfa, 0xf2, 0x08, - 0x52, 0xa3, 0x57, 0xa0, 0xe0, 0x43, 0xbc, 0x38, 0x8d, 0xb3, 0xb1, 0xf2, 0x94, 0x35, 0x5f, 0x95, - 0x1d, 0x43, 0xb6, 0xad, 0xf9, 0x7e, 0x48, 0xf1, 0x1f, 0x9e, 0xc7, 0xb6, 0xdd, 0xc2, 0xee, 0x50, - 0xfd, 0x10, 0x6a, 0x71, 0xf0, 0x3d, 0xb5, 0x8c, 0x8c, 0xbf, 0x0d, 0xaf, 0x41, 0xee, 0xd4, 0x72, - 0xc6, 0x98, 0x72, 0x67, 0x25, 0x4d, 0xce, 0xd8, 0xf6, 0x14, 0x50, 0x9e, 0xe6, 0x62, 0x31, 0x51, - 0x75, 0x78, 0x22, 0x16, 0xc2, 0x99, 0x89, 0x61, 0xf6, 0x89, 0x88, 0x67, 0x49, 0x13, 0x93, 0xc0, - 0x91, 0xf8, 0xb1, 0x62, 0xc2, 0x5e, 0xeb, 0xf2, 0xb5, 0x72, 0xff, 0x45, 0x4d, 0xce, 0xd4, 0x5b, - 0x7e, 0xb0, 0x22, 0x48, 0xce, 0x30, 0x8f, 0xa1, 0x7f, 0xf2, 0x46, 0xfa, 0xd6, 0xba, 0xc6, 0x86, - 0xea, 0xef, 0x8b, 0x50, 0xd0, 0x88, 0x6b, 0x33, 0xf4, 0x40, 0x75, 0x28, 0x92, 0xf3, 0x1e, 0x11, - 0x34, 0x2c, 0x19, 0x4b, 0x63, 0x84, 0x76, 0xd3, 0xd3, 0x64, 0x1c, 0xc2, 0x37, 0x43, 0x2f, 0x4b, - 0xaa, 0x19, 0xcf, 0x1a, 0xa5, 0x79, 0x98, 0x6b, 0xde, 0xf1, 0xb8, 0x66, 0x3a, 0x96, 0x36, 0x08, - 0xab, 0x29, 0xb2, 0xf9, 0xb2, 0x24, 0x9b, 0x99, 0x25, 0x2f, 0x8b, 0xb0, 0xcd, 0x46, 0x84, 0x6d, - 0x66, 0x97, 0x2c, 0x33, 0x86, 0x6e, 0x36, 0x22, 0x74, 0x33, 0xb7, 0xc4, 0x49, 0x0c, 0xdf, 0xbc, - 0xe3, 0xf1, 0xcd, 0xfc, 0x92, 0x65, 0x4f, 0x11, 0xce, 0xbb, 0x51, 0xc2, 0x29, 0xc8, 0xe2, 0xcd, - 0x58, 0xeb, 0x58, 0xc6, 0xf9, 0x83, 0x10, 0xe3, 0x2c, 0xc6, 0xd2, 0x3d, 0xe1, 0x64, 0x0e, 0xe5, - 0x6c, 0x44, 0x28, 0x27, 0x2c, 0x89, 0x41, 0x0c, 0xe7, 0x7c, 0x2b, 0xcc, 0x39, 0xd7, 0x62, 0x69, - 0xab, 0xdc, 0x34, 0xf3, 0x48, 0xe7, 0x6b, 0x3e, 0xe9, 0x5c, 0x8f, 0x65, 0xcd, 0x72, 0x0d, 0xd3, - 0xac, 0xb3, 0x3d, 0xc3, 0x3a, 0x05, 0x4b, 0x7c, 0x36, 0xd6, 0xc5, 0x12, 0xda, 0xd9, 0x9e, 0xa1, - 0x9d, 0xe5, 0x25, 0x0e, 0x97, 0xf0, 0xce, 0x9f, 0xcf, 0xe7, 0x9d, 0xf1, 0xcc, 0x50, 0xfe, 0xcc, - 0xd5, 0x88, 0xa7, 0x1e, 0x43, 0x3c, 0x05, 0x3d, 0x7c, 0x3e, 0xd6, 0xfd, 0xca, 0xcc, 0xb3, 0x3d, - 0xc3, 0x3c, 0x37, 0x96, 0xc4, 0x63, 0x55, 0xea, 0xf9, 0x1c, 0xcb, 0xf0, 0x53, 0x48, 0xc4, 0x50, - 0x92, 0x38, 0x8e, 0xe5, 0x48, 0x56, 0x27, 0x26, 0xea, 0x2d, 0xc6, 0x39, 0x02, 0xd4, 0x59, 0x40, - 0x53, 0x79, 0x36, 0x0a, 0x21, 0x8d, 0xfa, 0x87, 0x64, 0x60, 0xcb, 0xd3, 0x74, 0x98, 0xaf, 0x14, - 0x25, 0x5f, 0x09, 0xb1, 0xd7, 0x54, 0x94, 0xbd, 0x6e, 0xc1, 0x1a, 0xcb, 0x32, 0x53, 0xc4, 0x14, - 0xdb, 0x1e, 0x31, 0x45, 0xb7, 0x61, 0x83, 0xd3, 0x08, 0xc1, 0x71, 0x65, 0x6a, 0xc9, 0xf0, 0x0c, - 0x59, 0x61, 0x0f, 0xc4, 0x6e, 0x17, 0x39, 0xe6, 0x45, 0xb8, 0x12, 0xd2, 0xf5, 0xb3, 0x97, 0x60, - 0x63, 0x55, 0x5f, 0x7b, 0x4f, 0xa6, 0xb1, 0xf7, 0x82, 0x00, 0x05, 0xa4, 0x17, 0x41, 0xa6, 0x67, - 0xf5, 0x89, 0xcc, 0x2d, 0x7c, 0xcc, 0x92, 0xc2, 0xc8, 0x1a, 0xc8, 0x0c, 0xc2, 0x86, 0x4c, 0xcb, - 0x87, 0xd5, 0xa2, 0x40, 0x4d, 0xf5, 0x4f, 0xc9, 0xc0, 0x5f, 0xc0, 0x83, 0xe7, 0x51, 0xd6, 0xe4, - 0x7f, 0x87, 0xb2, 0xa6, 0xbe, 0x35, 0x65, 0x0d, 0xe7, 0xf6, 0x74, 0x34, 0xb7, 0xff, 0x33, 0x19, - 0x7c, 0x61, 0x9f, 0x80, 0x7e, 0xbb, 0x88, 0x04, 0x89, 0x3a, 0xcb, 0xbf, 0x97, 0x4c, 0xd4, 0xb2, - 0xac, 0xc8, 0xf1, 0xf7, 0x46, 0xcb, 0x8a, 0xbc, 0x48, 0xdd, 0x7c, 0x82, 0x5e, 0x85, 0x22, 0xef, - 0x1f, 0xe9, 0x96, 0xed, 0x4a, 0x04, 0x7f, 0x32, 0xbc, 0x56, 0xd1, 0x26, 0xda, 0x3e, 0x66, 0x3a, - 0x6d, 0xdb, 0xd5, 0x0a, 0xb6, 0x1c, 0x85, 0x38, 0x48, 0x31, 0x42, 0x85, 0xaf, 0x43, 0x91, 0xfd, - 0x7a, 0xd7, 0xc6, 0x3d, 0xc2, 0xd1, 0xb8, 0xa8, 0x05, 0x02, 0xf5, 0x01, 0xa0, 0xd9, 0x7c, 0x80, - 0x5a, 0x90, 0x23, 0x67, 0xc4, 0xa4, 0x82, 0x13, 0xac, 0xed, 0x5e, 0x9b, 0xc3, 0x33, 0x89, 0x49, - 0xeb, 0x35, 0x16, 0xe4, 0x7f, 0x7c, 0xbd, 0x55, 0x15, 0xda, 0x2f, 0x58, 0x63, 0x83, 0x92, 0xb1, - 0x4d, 0x2f, 0x34, 0x69, 0xaf, 0xfe, 0x32, 0xc5, 0x48, 0x5f, 0x24, 0x57, 0xcc, 0x8d, 0xad, 0x77, - 0x80, 0x52, 0x21, 0xc2, 0xbf, 0x5a, 0xbc, 0x37, 0x01, 0x06, 0xd8, 0xd5, 0x3f, 0xc1, 0x26, 0x25, - 0x7d, 0x19, 0xf4, 0x90, 0x04, 0x29, 0x50, 0x60, 0xb3, 0x89, 0x4b, 0xfa, 0xb2, 0xf6, 0xf0, 0xe7, - 0xa1, 0x75, 0xe6, 0xbf, 0xdb, 0x3a, 0xa3, 0x51, 0x2e, 0x4c, 0x47, 0xf9, 0xd7, 0xa9, 0xe0, 0x94, - 0x04, 0xfc, 0xf8, 0x7f, 0x2f, 0x0e, 0xbf, 0xe1, 0x45, 0x73, 0x34, 0x69, 0xa3, 0x13, 0xd8, 0xf0, - 0x4f, 0xa9, 0x3e, 0xe1, 0xa7, 0xd7, 0xdb, 0x77, 0xab, 0x1e, 0xf3, 0xea, 0x59, 0x54, 0xec, 0xa2, - 0x1f, 0xc3, 0xe3, 0x53, 0x08, 0xe4, 0xbb, 0x4e, 0xad, 0x08, 0x44, 0x8f, 0x45, 0x81, 0xc8, 0xf3, - 0x1c, 0xc4, 0x2a, 0xfd, 0x1d, 0xcf, 0xc6, 0x3e, 0xab, 0xc3, 0xc2, 0x14, 0x64, 0xee, 0xd7, 0xbf, - 0x09, 0x25, 0x87, 0x50, 0x6c, 0x98, 0x7a, 0xa4, 0xd2, 0x5d, 0x17, 0x42, 0x59, 0x3f, 0x1f, 0xc3, - 0x63, 0x73, 0xa9, 0x08, 0xfa, 0x1e, 0x14, 0x03, 0x16, 0x93, 0x8c, 0x29, 0x1a, 0xfd, 0x42, 0x28, - 0xd0, 0x55, 0xff, 0x98, 0x0c, 0x5c, 0x46, 0x4b, 0xab, 0x26, 0xe4, 0x1c, 0xe2, 0x4e, 0x46, 0xa2, - 0xd8, 0x29, 0xef, 0xbe, 0xb8, 0x1a, 0x89, 0x61, 0xd2, 0xc9, 0x88, 0x6a, 0xd2, 0x58, 0x7d, 0x00, - 0x39, 0x21, 0x41, 0x6b, 0x90, 0xbf, 0x77, 0x74, 0x70, 0xd4, 0x7e, 0xff, 0xa8, 0x9a, 0x40, 0x00, - 0xb9, 0xbd, 0x46, 0xa3, 0x79, 0xdc, 0xa9, 0x26, 0x51, 0x11, 0xb2, 0x7b, 0xf5, 0xb6, 0xd6, 0xa9, - 0xa6, 0x98, 0x58, 0x6b, 0xbe, 0xdb, 0x6c, 0x74, 0xaa, 0x69, 0xb4, 0x01, 0x25, 0x31, 0xd6, 0xef, - 0xb6, 0xb5, 0xf7, 0xf6, 0x3a, 0xd5, 0x4c, 0x48, 0x74, 0xd2, 0x3c, 0x7a, 0xbb, 0xa9, 0x55, 0xb3, - 0xea, 0x4b, 0xac, 0x9a, 0x8a, 0xa1, 0x3d, 0x41, 0xdd, 0x94, 0x0c, 0xd5, 0x4d, 0xea, 0x6f, 0x53, - 0xa0, 0xc4, 0x73, 0x19, 0xf4, 0xee, 0xd4, 0xc2, 0x77, 0x2f, 0x41, 0x84, 0xa6, 0x56, 0x8f, 0x9e, - 0x81, 0xb2, 0x43, 0x4e, 0x09, 0xed, 0x0d, 0x05, 0xb7, 0x12, 0x89, 0xad, 0xa4, 0x95, 0xa4, 0x94, - 0x1b, 0xb9, 0x42, 0xed, 0x23, 0xd2, 0xa3, 0xba, 0x28, 0xe1, 0xc4, 0xa6, 0x2b, 0x32, 0x35, 0x26, - 0x3d, 0x11, 0x42, 0xf5, 0xc3, 0x4b, 0xc5, 0xb2, 0x08, 0x59, 0xad, 0xd9, 0xd1, 0x7e, 0x52, 0x4d, - 0x23, 0x04, 0x65, 0x3e, 0xd4, 0x4f, 0x8e, 0xf6, 0x8e, 0x4f, 0x5a, 0x6d, 0x16, 0xcb, 0x2b, 0x50, - 0xf1, 0x62, 0xe9, 0x09, 0xb3, 0x2a, 0x0e, 0x76, 0xc3, 0x92, 0xda, 0x11, 0xdd, 0x81, 0x82, 0x24, - 0x4e, 0xde, 0x59, 0x53, 0x66, 0xbb, 0x27, 0xef, 0x49, 0x0d, 0xcd, 0xd7, 0x55, 0xff, 0x9d, 0x84, - 0xca, 0xd4, 0x19, 0x44, 0xbb, 0x90, 0x15, 0x25, 0x40, 0xdc, 0x15, 0x05, 0x87, 0x10, 0x79, 0x60, - 0x85, 0x2a, 0x7a, 0x03, 0x0a, 0x44, 0x76, 0x41, 0xe6, 0x9d, 0x75, 0xf1, 0x7e, 0xaf, 0x4f, 0x22, - 0x4d, 0x7d, 0x0b, 0xf4, 0x26, 0x14, 0x7d, 0x30, 0x91, 0x75, 0xe7, 0xd3, 0xb3, 0xe6, 0x3e, 0x0c, - 0x49, 0xfb, 0xc0, 0x06, 0xbd, 0x16, 0xd0, 0xbe, 0xcc, 0x6c, 0xe1, 0x21, 0xcd, 0x85, 0x82, 0x34, - 0xf6, 0xf4, 0xd5, 0x06, 0xac, 0x85, 0xd6, 0x83, 0x9e, 0x84, 0xe2, 0x18, 0x9f, 0xcb, 0xee, 0x9a, - 0xe8, 0x8f, 0x14, 0xc6, 0xf8, 0x5c, 0x34, 0xd6, 0x1e, 0x87, 0x3c, 0x7b, 0x38, 0xc0, 0x22, 0xc8, - 0x69, 0x2d, 0x37, 0xc6, 0xe7, 0xef, 0x60, 0x57, 0xfd, 0x00, 0xca, 0xd1, 0xce, 0x12, 0xdb, 0xec, - 0x8e, 0x35, 0x31, 0xfb, 0xdc, 0x47, 0x56, 0x13, 0x13, 0xf4, 0x0a, 0x64, 0xcf, 0x2c, 0x81, 0x87, - 0xf3, 0x51, 0xe1, 0xbe, 0x45, 0x49, 0xa8, 0x33, 0x25, 0xb4, 0xd5, 0x4f, 0x21, 0xcb, 0xf1, 0x8d, - 0x61, 0x15, 0xef, 0x11, 0x49, 0xca, 0xcb, 0xc6, 0xe8, 0x03, 0x00, 0x4c, 0xa9, 0x63, 0x74, 0x27, - 0x81, 0xe3, 0xad, 0xf9, 0xf8, 0xb8, 0xe7, 0xe9, 0xd5, 0xaf, 0x4b, 0xa0, 0xbc, 0x1a, 0x98, 0x86, - 0xc0, 0x32, 0xe4, 0x50, 0x3d, 0x82, 0x72, 0xd4, 0x36, 0xdc, 0xad, 0x5d, 0x9f, 0xd3, 0xad, 0xf5, - 0x69, 0x95, 0x4f, 0xca, 0xd2, 0xa2, 0x1f, 0xc8, 0x27, 0xea, 0xef, 0x92, 0x50, 0xe8, 0x9c, 0xcb, - 0x93, 0x13, 0xd3, 0x8a, 0x0a, 0x4c, 0x53, 0xe1, 0xc6, 0x8b, 0xe8, 0x6d, 0xa5, 0xfd, 0x8e, 0xd9, - 0x5b, 0x3e, 0x36, 0x64, 0x56, 0x2d, 0x78, 0xbd, 0xd6, 0xa1, 0x44, 0x84, 0x9b, 0x50, 0xb2, 0x1c, - 0x63, 0x60, 0x98, 0x78, 0x14, 0x66, 0xf0, 0xeb, 0x9e, 0x90, 0x13, 0xd5, 0xd7, 0xa1, 0xe8, 0x6f, - 0x3d, 0x56, 0x60, 0xe0, 0x7e, 0xdf, 0x21, 0xae, 0x2b, 0x03, 0xe0, 0x4d, 0x79, 0xfb, 0xd3, 0xfa, - 0x44, 0xf6, 0x7f, 0xd2, 0x9a, 0x98, 0xa8, 0x7d, 0xa8, 0x4c, 0xa5, 0x4f, 0xf4, 0x3a, 0xe4, 0xed, - 0x49, 0x57, 0xf7, 0x62, 0x38, 0x75, 0xc2, 0x3c, 0xb2, 0x39, 0xe9, 0x8e, 0x8c, 0xde, 0x01, 0xb9, - 0xf0, 0x7e, 0xb1, 0x3d, 0xe9, 0x1e, 0x88, 0x50, 0x8b, 0xb7, 0xa4, 0xc2, 0x6f, 0x39, 0x83, 0x82, - 0xb7, 0x73, 0xd0, 0x0f, 0xc3, 0x87, 0x29, 0x39, 0x8b, 0x05, 0xd1, 0x94, 0x2e, 0xdd, 0x87, 0xce, - 0xd2, 0x6d, 0xd8, 0x70, 0x8d, 0x81, 0x49, 0xfa, 0x7a, 0x50, 0xe2, 0xf0, 0xb7, 0x15, 0xb4, 0x8a, - 0x78, 0x70, 0xe8, 0xd5, 0x37, 0xea, 0xbf, 0x92, 0x50, 0xf0, 0x4e, 0x35, 0x7a, 0x29, 0xb4, 0x39, - 0xcb, 0x73, 0x3a, 0x40, 0x9e, 0x62, 0xd0, 0xc1, 0x8c, 0xfe, 0xd6, 0xd4, 0xe5, 0x7f, 0x6b, 0x5c, - 0x2b, 0xda, 0xbb, 0x13, 0xc8, 0x5c, 0xfa, 0x4e, 0xe0, 0x05, 0x40, 0xd4, 0xa2, 0x78, 0xa4, 0x9f, - 0x59, 0xd4, 0x30, 0x07, 0xba, 0x08, 0xb6, 0x60, 0x76, 0x55, 0xfe, 0xe4, 0x3e, 0x7f, 0x70, 0xcc, - 0xe3, 0xfe, 0x8b, 0x24, 0x14, 0xfc, 0x1c, 0x7d, 0xd9, 0x86, 0xe4, 0x35, 0xc8, 0xc9, 0x34, 0x24, - 0x3a, 0x92, 0x72, 0xe6, 0xf7, 0xc6, 0x33, 0xa1, 0xde, 0xb8, 0xc2, 0xf0, 0x9d, 0x62, 0x4e, 0x54, - 0xc4, 0x1e, 0xf5, 0xe7, 0xb7, 0x5f, 0x83, 0xb5, 0x50, 0x6f, 0x98, 0x1d, 0xcf, 0xa3, 0xe6, 0xfb, - 0xd5, 0x84, 0x92, 0xff, 0xec, 0x8b, 0x1b, 0xe9, 0x23, 0xf2, 0x09, 0xdb, 0xb3, 0x5a, 0xb3, 0xd1, - 0x6a, 0x36, 0x0e, 0xaa, 0x49, 0x65, 0xed, 0xb3, 0x2f, 0x6e, 0xe4, 0x35, 0xc2, 0x1b, 0x47, 0xb7, - 0x5b, 0xb0, 0x1e, 0xfe, 0x2a, 0xd1, 0x4c, 0x86, 0xa0, 0xfc, 0xf6, 0xbd, 0xe3, 0xc3, 0xfd, 0xc6, - 0x5e, 0xa7, 0xa9, 0xdf, 0x6f, 0x77, 0x9a, 0xd5, 0x24, 0x7a, 0x1c, 0xae, 0x1c, 0xee, 0xbf, 0xd3, - 0xea, 0xe8, 0x8d, 0xc3, 0xfd, 0xe6, 0x51, 0x47, 0xdf, 0xeb, 0x74, 0xf6, 0x1a, 0x07, 0xd5, 0xd4, - 0xee, 0x23, 0x80, 0xca, 0x5e, 0xbd, 0xb1, 0xcf, 0xb2, 0xb0, 0xd1, 0xc3, 0xb2, 0x31, 0x97, 0xe1, - 0x45, 0xfe, 0xc2, 0x4b, 0x6e, 0x65, 0x71, 0x5f, 0x12, 0xdd, 0x85, 0x2c, 0xaf, 0xff, 0xd1, 0xe2, - 0x5b, 0x6f, 0x65, 0x49, 0xa3, 0x92, 0xfd, 0x18, 0x7e, 0x3c, 0x16, 0x5e, 0x83, 0x2b, 0x8b, 0xfb, - 0x96, 0x48, 0x83, 0x62, 0x50, 0xc0, 0x2f, 0xbf, 0x16, 0x57, 0x56, 0xe8, 0x65, 0x32, 0x9f, 0x41, - 0x79, 0xb2, 0xfc, 0x9a, 0x58, 0x59, 0x01, 0xe5, 0xd0, 0x21, 0xe4, 0xbd, 0xc2, 0x6f, 0xd9, 0xc5, - 0xb5, 0xb2, 0xb4, 0xcf, 0xc8, 0x3e, 0x81, 0x28, 0xd0, 0x17, 0xdf, 0xc2, 0x2b, 0x4b, 0x9a, 0xa6, - 0x68, 0x1f, 0x72, 0x92, 0x73, 0x2f, 0xb9, 0x8c, 0x56, 0x96, 0xf5, 0x0d, 0x59, 0xd0, 0x82, 0xce, - 0xc7, 0xf2, 0xff, 0x16, 0x28, 0x2b, 0xf4, 0x83, 0xd1, 0x3d, 0x80, 0x50, 0x39, 0xbe, 0xc2, 0x9f, - 0x06, 0x94, 0x55, 0xfa, 0xbc, 0xa8, 0x0d, 0x05, 0xbf, 0xec, 0x5a, 0x7a, 0x85, 0xaf, 0x2c, 0x6f, - 0xb8, 0xa2, 0x07, 0x50, 0x8a, 0xd6, 0x1b, 0xab, 0x5d, 0xcc, 0x2b, 0x2b, 0x76, 0x52, 0x99, 0xff, - 0x68, 0xf1, 0xb1, 0xda, 0x45, 0xbd, 0xb2, 0x62, 0x63, 0x15, 0x7d, 0x04, 0x1b, 0xb3, 0xc5, 0xc1, - 0xea, 0xf7, 0xf6, 0xca, 0x25, 0x5a, 0xad, 0x68, 0x0c, 0x68, 0x4e, 0x51, 0x71, 0x89, 0x6b, 0x7c, - 0xe5, 0x32, 0x9d, 0x57, 0x16, 0xba, 0x28, 0x53, 0x5f, 0xed, 0x5a, 0x5f, 0x59, 0xb1, 0x07, 0x5b, - 0x6f, 0x7e, 0xf9, 0xcd, 0x66, 0xf2, 0xab, 0x6f, 0x36, 0x93, 0x7f, 0xfb, 0x66, 0x33, 0xf9, 0xf9, - 0xa3, 0xcd, 0xc4, 0x57, 0x8f, 0x36, 0x13, 0x7f, 0x79, 0xb4, 0x99, 0xf8, 0xe9, 0xf3, 0x03, 0x83, - 0x0e, 0x27, 0xdd, 0xed, 0x9e, 0x35, 0xde, 0x09, 0xff, 0x87, 0x69, 0xde, 0xff, 0xaa, 0xba, 0x39, - 0x9e, 0x08, 0x5f, 0xfe, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x4e, 0x89, 0x25, 0x0e, 0x77, 0x25, - 0x00, 0x00, + 0xf5, 0xd7, 0x5b, 0xea, 0x6b, 0xeb, 0xe1, 0x9a, 0x61, 0x46, 0x34, 0x33, 0xf6, 0xd0, 0x73, 0x80, + 0x61, 0x00, 0xfb, 0x8f, 0x39, 0xf0, 0x1f, 0x02, 0x09, 0x58, 0x1a, 0x0d, 0x32, 0x36, 0xb6, 0xd3, + 0xd6, 0x0c, 0x79, 0x31, 0x4d, 0x49, 0x5d, 0x96, 0x9a, 0x91, 0xba, 0x9b, 0xee, 0x96, 0xb1, 0x67, + 0x99, 0xc7, 0x86, 0x6c, 0x58, 0x66, 0xc3, 0x67, 0xc8, 0x36, 0x8b, 0x9c, 0x6c, 0xb2, 0xe1, 0x9c, + 0x6c, 0x58, 0x66, 0x45, 0x72, 0x60, 0x91, 0x93, 0x7c, 0x81, 0xac, 0x72, 0x92, 0x53, 0x8f, 0x7e, + 0x49, 0x6a, 0x49, 0x86, 0xec, 0xb2, 0xab, 0xba, 0x75, 0xef, 0xed, 0xae, 0xea, 0xaa, 0xdf, 0xfd, + 0xdd, 0x5b, 0x0d, 0x4f, 0x79, 0xc4, 0xd4, 0x89, 0x33, 0x32, 0x4c, 0x6f, 0x0b, 0x77, 0x7b, 0xc6, + 0x96, 0x77, 0x6e, 0x13, 0x77, 0xd3, 0x76, 0x2c, 0xcf, 0x42, 0xd5, 0x70, 0x70, 0x93, 0x0e, 0xca, + 0xd7, 0x23, 0xda, 0x3d, 0xe7, 0xdc, 0xf6, 0xac, 0x2d, 0xdb, 0xb1, 0xac, 0x13, 0xae, 0x2f, 0x5f, + 0x8b, 0x0c, 0x33, 0x3f, 0x51, 0x6f, 0xb1, 0x51, 0x61, 0xfc, 0x88, 0x9c, 0xfb, 0xa3, 0xd7, 0xa7, + 0x6c, 0x6d, 0xec, 0xe0, 0x91, 0x3f, 0xbc, 0xd1, 0xb7, 0xac, 0xfe, 0x90, 0x6c, 0xb1, 0x5e, 0x77, + 0x7c, 0xb2, 0xe5, 0x19, 0x23, 0xe2, 0x7a, 0x78, 0x64, 0x0b, 0x85, 0xcb, 0x7d, 0xab, 0x6f, 0xb1, + 0xe6, 0x16, 0x6d, 0x71, 0xa9, 0xf2, 0xb7, 0x12, 0x14, 0x55, 0xf2, 0xf1, 0x98, 0xb8, 0x1e, 0xda, + 0x86, 0x1c, 0xe9, 0x0d, 0xac, 0x7a, 0xfa, 0x46, 0xfa, 0xd6, 0xca, 0xf6, 0xb5, 0xcd, 0x89, 0xc9, + 0x6d, 0x0a, 0xbd, 0x56, 0x6f, 0x60, 0xb5, 0x53, 0x2a, 0xd3, 0x45, 0xaf, 0x42, 0xfe, 0x64, 0x38, + 0x76, 0x07, 0xf5, 0x0c, 0x33, 0xba, 0x9e, 0x64, 0x74, 0x8f, 0x2a, 0xb5, 0x53, 0x2a, 0xd7, 0xa6, + 0x8f, 0x32, 0xcc, 0x13, 0xab, 0x9e, 0x9d, 0xff, 0xa8, 0x5d, 0xf3, 0x84, 0x3d, 0x8a, 0xea, 0xa2, + 0x06, 0x80, 0x4b, 0x3c, 0xcd, 0xb2, 0x3d, 0xc3, 0x32, 0xeb, 0x39, 0x66, 0xf9, 0x74, 0x92, 0xe5, + 0x31, 0xf1, 0x0e, 0x99, 0x62, 0x3b, 0xa5, 0x4a, 0xae, 0xdf, 0xa1, 0x3e, 0x0c, 0xd3, 0xf0, 0xb4, + 0xde, 0x00, 0x1b, 0x66, 0x3d, 0x3f, 0xdf, 0xc7, 0xae, 0x69, 0x78, 0x4d, 0xaa, 0x48, 0x7d, 0x18, + 0x7e, 0x87, 0x4e, 0xf9, 0xe3, 0x31, 0x71, 0xce, 0xeb, 0x85, 0xf9, 0x53, 0xfe, 0x21, 0x55, 0xa2, + 0x53, 0x66, 0xda, 0xa8, 0x05, 0x2b, 0x5d, 0xd2, 0x37, 0x4c, 0xad, 0x3b, 0xb4, 0x7a, 0x8f, 0xea, + 0x45, 0x66, 0xac, 0x24, 0x19, 0x37, 0xa8, 0x6a, 0x83, 0x6a, 0xb6, 0x53, 0x2a, 0x74, 0x83, 0x1e, + 0x7a, 0x13, 0x4a, 0xbd, 0x01, 0xe9, 0x3d, 0xd2, 0xbc, 0xb3, 0x7a, 0x89, 0xf9, 0xd8, 0x48, 0xf2, + 0xd1, 0xa4, 0x7a, 0x9d, 0xb3, 0x76, 0x4a, 0x2d, 0xf6, 0x78, 0x93, 0xce, 0x5f, 0x27, 0x43, 0xe3, + 0x94, 0x38, 0xd4, 0x5e, 0x9a, 0x3f, 0xff, 0xbb, 0x5c, 0x93, 0x79, 0x90, 0x74, 0xbf, 0x83, 0xde, + 0x02, 0x89, 0x98, 0xba, 0x98, 0x06, 0x30, 0x17, 0x37, 0x12, 0xf7, 0x8a, 0xa9, 0xfb, 0x93, 0x28, + 0x11, 0xd1, 0x46, 0x77, 0xa0, 0xd0, 0xb3, 0x46, 0x23, 0xc3, 0xab, 0xaf, 0x30, 0xeb, 0xf5, 0xc4, + 0x09, 0x30, 0xad, 0x76, 0x4a, 0x15, 0xfa, 0xe8, 0x00, 0x2a, 0x43, 0xc3, 0xf5, 0x34, 0xd7, 0xc4, + 0xb6, 0x3b, 0xb0, 0x3c, 0xb7, 0xbe, 0xca, 0x3c, 0x3c, 0x93, 0xe4, 0x61, 0xdf, 0x70, 0xbd, 0x63, + 0x5f, 0xb9, 0x9d, 0x52, 0xcb, 0xc3, 0xa8, 0x80, 0xfa, 0xb3, 0x4e, 0x4e, 0x88, 0x13, 0x38, 0xac, + 0x97, 0xe7, 0xfb, 0x3b, 0xa4, 0xda, 0xbe, 0x3d, 0xf5, 0x67, 0x45, 0x05, 0xe8, 0xa7, 0x70, 0x69, + 0x68, 0x61, 0x3d, 0x70, 0xa7, 0xf5, 0x06, 0x63, 0xf3, 0x51, 0xbd, 0xc2, 0x9c, 0x3e, 0x9f, 0xf8, + 0x92, 0x16, 0xd6, 0x7d, 0x17, 0x4d, 0x6a, 0xd0, 0x4e, 0xa9, 0x6b, 0xc3, 0x49, 0x21, 0x7a, 0x08, + 0x97, 0xb1, 0x6d, 0x0f, 0xcf, 0x27, 0xbd, 0x57, 0x99, 0xf7, 0xdb, 0x49, 0xde, 0x77, 0xa8, 0xcd, + 0xa4, 0x7b, 0x84, 0xa7, 0xa4, 0xa8, 0x03, 0x35, 0xdb, 0x21, 0x36, 0x76, 0x88, 0x66, 0x3b, 0x96, + 0x6d, 0xb9, 0x78, 0x58, 0xaf, 0x31, 0xdf, 0xcf, 0x25, 0xf9, 0x3e, 0xe2, 0xfa, 0x47, 0x42, 0xbd, + 0x9d, 0x52, 0xab, 0x76, 0x5c, 0xd4, 0x28, 0x42, 0xfe, 0x14, 0x0f, 0xc7, 0x44, 0x79, 0x0e, 0x56, + 0x22, 0x00, 0x82, 0xea, 0x50, 0x1c, 0x11, 0xd7, 0xc5, 0x7d, 0xc2, 0xf0, 0x46, 0x52, 0xfd, 0xae, + 0x52, 0x81, 0xd5, 0x28, 0x68, 0x28, 0xa3, 0xc0, 0x90, 0xc2, 0x01, 0x35, 0x3c, 0x25, 0x8e, 0x4b, + 0x31, 0x40, 0x18, 0x8a, 0x2e, 0xba, 0x09, 0x65, 0xb6, 0x29, 0x35, 0x7f, 0x9c, 0x62, 0x52, 0x4e, + 0x5d, 0x65, 0xc2, 0x07, 0x42, 0x69, 0x03, 0x56, 0xec, 0x6d, 0x3b, 0x50, 0xc9, 0x32, 0x15, 0xb0, + 0xb7, 0x6d, 0xa1, 0xa0, 0x7c, 0x0f, 0x6a, 0x93, 0x18, 0x82, 0x6a, 0x90, 0x7d, 0x44, 0xce, 0xc5, + 0xf3, 0x68, 0x13, 0x5d, 0x16, 0xd3, 0x62, 0xcf, 0x90, 0x54, 0x31, 0xc7, 0x3f, 0x65, 0x02, 0xe3, + 0x00, 0x3c, 0xd0, 0x1d, 0xc8, 0x51, 0x2c, 0x16, 0xb0, 0x2a, 0x6f, 0x72, 0xa0, 0xde, 0xf4, 0x81, + 0x7a, 0xb3, 0xe3, 0x03, 0x75, 0xa3, 0xf4, 0xc5, 0x57, 0x1b, 0xa9, 0xcf, 0xfe, 0xb2, 0x91, 0x56, + 0x99, 0x05, 0x7a, 0x92, 0x9e, 0x75, 0x6c, 0x98, 0x9a, 0xa1, 0x8b, 0xe7, 0x14, 0x59, 0x7f, 0x57, + 0x47, 0x7b, 0x50, 0xeb, 0x59, 0xa6, 0x4b, 0x4c, 0x77, 0xec, 0x6a, 0x3c, 0x10, 0x08, 0x30, 0x9d, + 0x3e, 0x8b, 0x4d, 0x5f, 0xf1, 0x88, 0xe9, 0xa9, 0xd5, 0x5e, 0x5c, 0x80, 0xee, 0x01, 0x9c, 0xe2, + 0xa1, 0xa1, 0x63, 0xcf, 0x72, 0xdc, 0x7a, 0xee, 0x46, 0x76, 0xa6, 0x9b, 0x07, 0xbe, 0xca, 0x7d, + 0x5b, 0xc7, 0x1e, 0x69, 0xe4, 0xe8, 0xdb, 0xaa, 0x11, 0x4b, 0xf4, 0x2c, 0x54, 0xb1, 0x6d, 0x6b, + 0xae, 0x87, 0x3d, 0xa2, 0x75, 0xcf, 0x3d, 0xe2, 0x32, 0x88, 0x5d, 0x55, 0xcb, 0xd8, 0xb6, 0x8f, + 0xa9, 0xb4, 0x41, 0x85, 0xe8, 0x19, 0xa8, 0x50, 0x38, 0x35, 0xf0, 0x50, 0x1b, 0x10, 0xa3, 0x3f, + 0xf0, 0x18, 0x94, 0x66, 0xd5, 0xb2, 0x90, 0xb6, 0x99, 0x50, 0xd1, 0x83, 0x8d, 0xc0, 0xa0, 0x14, + 0x21, 0xc8, 0xe9, 0xd8, 0xc3, 0x6c, 0x21, 0x57, 0x55, 0xd6, 0xa6, 0x32, 0x1b, 0x7b, 0x03, 0xb1, + 0x3c, 0xac, 0x8d, 0xae, 0x40, 0x41, 0xb8, 0xcd, 0x32, 0xb7, 0xa2, 0x47, 0xbf, 0x99, 0xed, 0x58, + 0xa7, 0x84, 0xc5, 0x8e, 0x92, 0xca, 0x3b, 0xca, 0x2f, 0x33, 0xb0, 0x36, 0x05, 0xba, 0xd4, 0xef, + 0x00, 0xbb, 0x03, 0xff, 0x59, 0xb4, 0x8d, 0x5e, 0xa3, 0x7e, 0xb1, 0x4e, 0x1c, 0x11, 0xec, 0xea, + 0xd1, 0x25, 0xe2, 0x81, 0xbc, 0xcd, 0xc6, 0xc5, 0xd2, 0x08, 0x6d, 0x74, 0x08, 0xb5, 0x21, 0x76, + 0x3d, 0x8d, 0x83, 0x98, 0x16, 0x09, 0x7c, 0xd3, 0xd0, 0xbd, 0x8f, 0x7d, 0xd8, 0xa3, 0x9b, 0x5d, + 0x38, 0xaa, 0x0c, 0x63, 0x52, 0xa4, 0xc2, 0xe5, 0xee, 0xf9, 0x63, 0x6c, 0x7a, 0x86, 0x49, 0xb4, + 0xa9, 0x2f, 0xf7, 0xe4, 0x94, 0xd3, 0xd6, 0xa9, 0xa1, 0x13, 0xb3, 0xe7, 0x7f, 0xb2, 0x4b, 0x81, + 0x71, 0xf0, 0x49, 0x5d, 0x45, 0x85, 0x4a, 0x3c, 0x6c, 0xa0, 0x0a, 0x64, 0xbc, 0x33, 0xb1, 0x00, + 0x19, 0xef, 0x0c, 0xfd, 0x1f, 0xe4, 0xe8, 0x24, 0xd9, 0xe4, 0x2b, 0x33, 0x62, 0xb6, 0xb0, 0xeb, + 0x9c, 0xdb, 0x44, 0x65, 0x9a, 0x8a, 0x12, 0x9c, 0x86, 0x20, 0x94, 0x4c, 0x7a, 0x55, 0x9e, 0x87, + 0xea, 0x44, 0xac, 0x88, 0x7c, 0xbf, 0x74, 0xf4, 0xfb, 0x29, 0x55, 0x28, 0xc7, 0x02, 0x83, 0x72, + 0x05, 0x2e, 0xcf, 0xc2, 0x79, 0x65, 0x10, 0xc8, 0x63, 0x78, 0x8d, 0x5e, 0x85, 0x52, 0x00, 0xf4, + 0xfc, 0x34, 0x4e, 0xaf, 0x95, 0xaf, 0xac, 0x06, 0xaa, 0xf4, 0x18, 0xd2, 0x6d, 0xcd, 0xf6, 0x43, + 0x86, 0xbd, 0x78, 0x11, 0xdb, 0x76, 0x1b, 0xbb, 0x03, 0xe5, 0x43, 0xa8, 0x27, 0x81, 0xf8, 0xc4, + 0x34, 0x72, 0xc1, 0x36, 0xbc, 0x02, 0x85, 0x13, 0xcb, 0x19, 0x61, 0x8f, 0x39, 0x2b, 0xab, 0xa2, + 0x47, 0xb7, 0x27, 0x07, 0xf4, 0x2c, 0x13, 0xf3, 0x8e, 0xa2, 0xc1, 0x93, 0x89, 0x40, 0x4e, 0x4d, + 0x0c, 0x53, 0x27, 0x7c, 0x3d, 0xcb, 0x2a, 0xef, 0x84, 0x8e, 0xf8, 0xcb, 0xf2, 0x0e, 0x7d, 0xac, + 0xcb, 0xe6, 0xca, 0xfc, 0x4b, 0xaa, 0xe8, 0x29, 0x1a, 0x5c, 0x99, 0x8d, 0xe6, 0xe8, 0x3a, 0x00, + 0xc7, 0x53, 0x71, 0xea, 0xb2, 0xb7, 0x56, 0x55, 0x89, 0x49, 0xee, 0xd2, 0xa3, 0xf7, 0x2c, 0x54, + 0xc3, 0x61, 0xcd, 0x35, 0x1e, 0xf3, 0xad, 0x91, 0x55, 0xcb, 0x81, 0xce, 0xb1, 0xf1, 0x98, 0x28, + 0xbf, 0x97, 0xa0, 0xa4, 0x12, 0xd7, 0xa6, 0xa0, 0x83, 0x1a, 0x20, 0x91, 0xb3, 0x1e, 0xe1, 0x1c, + 0x2e, 0x9d, 0xc8, 0x81, 0xb8, 0x76, 0xcb, 0xd7, 0xa4, 0x04, 0x24, 0x30, 0x43, 0xaf, 0x08, 0x9e, + 0x9a, 0x4c, 0x39, 0x85, 0x79, 0x94, 0xa8, 0xbe, 0xe6, 0x13, 0xd5, 0x6c, 0x22, 0xe7, 0xe0, 0x56, + 0x13, 0x4c, 0xf5, 0x15, 0xc1, 0x54, 0x73, 0x0b, 0x1e, 0x16, 0xa3, 0xaa, 0xcd, 0x18, 0x55, 0xcd, + 0x2f, 0x98, 0x66, 0x02, 0x57, 0x6d, 0xc6, 0xb8, 0x6a, 0x61, 0x81, 0x93, 0x04, 0xb2, 0xfa, 0x9a, + 0x4f, 0x56, 0x8b, 0x0b, 0xa6, 0x3d, 0xc1, 0x56, 0xef, 0xc5, 0xd9, 0x2a, 0x67, 0x9a, 0x37, 0x13, + 0xad, 0x13, 0xe9, 0xea, 0xf7, 0x23, 0x74, 0x55, 0x4a, 0xe4, 0x8a, 0xdc, 0xc9, 0x0c, 0xbe, 0xda, + 0x8c, 0xf1, 0x55, 0x58, 0xb0, 0x06, 0x09, 0x84, 0xf5, 0xed, 0x28, 0x61, 0x5d, 0x49, 0xe4, 0xbc, + 0x62, 0xd3, 0xcc, 0x62, 0xac, 0xaf, 0x07, 0x8c, 0x75, 0x35, 0x91, 0x72, 0x8b, 0x39, 0x4c, 0x52, + 0xd6, 0xc3, 0x29, 0xca, 0xca, 0x29, 0xe6, 0xb3, 0x89, 0x2e, 0x16, 0x70, 0xd6, 0xc3, 0x29, 0xce, + 0x5a, 0x59, 0xe0, 0x70, 0x01, 0x69, 0xfd, 0xd9, 0x6c, 0xd2, 0x9a, 0x4c, 0x2b, 0xc5, 0x6b, 0x2e, + 0xc7, 0x5a, 0xb5, 0x04, 0xd6, 0xca, 0x99, 0xe5, 0x0b, 0x89, 0xee, 0x97, 0xa6, 0xad, 0xf7, 0x67, + 0xd0, 0xd6, 0x35, 0xe6, 0xfc, 0x56, 0xa2, 0xf3, 0x8b, 0xf0, 0xd6, 0xe7, 0x29, 0x3d, 0x98, 0xc0, + 0x23, 0x0a, 0xb1, 0xc4, 0x71, 0x2c, 0x47, 0x50, 0x42, 0xde, 0x51, 0x6e, 0x51, 0xc2, 0x12, 0x62, + 0xcf, 0x1c, 0x8e, 0xcb, 0x42, 0x59, 0x04, 0x6f, 0x94, 0xdf, 0xa5, 0x43, 0x5b, 0x16, 0xe3, 0xa3, + 0x64, 0x47, 0x12, 0x64, 0x27, 0x42, 0x7d, 0x33, 0x71, 0xea, 0xbb, 0x01, 0x2b, 0x34, 0x44, 0x4d, + 0xb0, 0x5a, 0x6c, 0xfb, 0xac, 0x16, 0xdd, 0x86, 0x35, 0xc6, 0x41, 0x38, 0x62, 0x8b, 0xb8, 0x94, + 0x63, 0x70, 0x5d, 0xa5, 0x03, 0x7c, 0xcf, 0xf3, 0x00, 0xf5, 0x12, 0x5c, 0x8a, 0xe8, 0x06, 0xa1, + 0x8f, 0x53, 0xb9, 0x5a, 0xa0, 0xbd, 0x23, 0x62, 0xe0, 0x7b, 0xe1, 0x02, 0x85, 0x8c, 0x19, 0x41, + 0xae, 0x67, 0xe9, 0x44, 0x04, 0x26, 0xd6, 0xa6, 0x2c, 0x7a, 0x68, 0xf5, 0x45, 0xf8, 0xa1, 0x4d, + 0xaa, 0x15, 0x80, 0xab, 0xc4, 0xb1, 0x53, 0xf9, 0x63, 0x3a, 0xf4, 0x17, 0x92, 0xe8, 0x59, 0x7c, + 0x37, 0xfd, 0xdf, 0xe1, 0xbb, 0x99, 0x6f, 0xcd, 0x77, 0xa3, 0xc4, 0x20, 0x1b, 0x27, 0x06, 0xff, + 0x4c, 0x87, 0x5f, 0x38, 0x60, 0xaf, 0xdf, 0x6e, 0x45, 0xc2, 0x28, 0x9f, 0x67, 0xdf, 0x4b, 0x44, + 0x79, 0x91, 0x93, 0x14, 0xd8, 0x73, 0xe3, 0x39, 0x49, 0x91, 0xc7, 0x7d, 0xd6, 0x41, 0x77, 0x40, + 0x62, 0x25, 0x28, 0xcd, 0xb2, 0x5d, 0x81, 0xe3, 0x4f, 0x45, 0xe7, 0xca, 0x2b, 0x4d, 0x9b, 0x47, + 0x54, 0xe7, 0xd0, 0x76, 0xd5, 0x92, 0x2d, 0x5a, 0x11, 0x02, 0x23, 0xc5, 0x78, 0xf4, 0x35, 0x90, + 0xe8, 0xdb, 0xbb, 0x36, 0xee, 0x11, 0x86, 0xc9, 0x92, 0x1a, 0x0a, 0x94, 0x87, 0x80, 0xa6, 0xa3, + 0x02, 0x6a, 0x43, 0x81, 0x9c, 0x12, 0xd3, 0x73, 0x19, 0x8f, 0x58, 0xd9, 0xbe, 0x32, 0x83, 0xa4, + 0x12, 0xd3, 0x6b, 0xd4, 0xe9, 0x22, 0xff, 0xe3, 0xab, 0x8d, 0x1a, 0xd7, 0x7e, 0xd1, 0x1a, 0x19, + 0x1e, 0x19, 0xd9, 0xde, 0xb9, 0x2a, 0xec, 0x95, 0x5f, 0x64, 0x28, 0x63, 0x8c, 0x45, 0x8c, 0x99, + 0x6b, 0xeb, 0x1f, 0xa0, 0x4c, 0x24, 0x5b, 0x58, 0x6e, 0xbd, 0xd7, 0x01, 0xfa, 0xd8, 0xd5, 0x3e, + 0xc1, 0xa6, 0x47, 0x74, 0xb1, 0xe8, 0x11, 0x09, 0x92, 0xa1, 0x44, 0x7b, 0x63, 0x97, 0xe8, 0x22, + 0x71, 0x09, 0xfa, 0x91, 0x79, 0x16, 0xbf, 0xdb, 0x3c, 0xe3, 0xab, 0x5c, 0x9a, 0x5c, 0xe5, 0x5f, + 0x65, 0xc2, 0x53, 0x12, 0x92, 0xeb, 0xff, 0xbd, 0x75, 0xf8, 0x35, 0xcb, 0xb8, 0xe3, 0xa1, 0x1b, + 0x1d, 0xc3, 0x5a, 0x70, 0x4a, 0xb5, 0x31, 0x3b, 0xbd, 0xfe, 0xbe, 0x5b, 0xf6, 0x98, 0xd7, 0x4e, + 0xe3, 0x62, 0x17, 0xfd, 0x08, 0xae, 0x4e, 0x20, 0x50, 0xe0, 0x3a, 0xb3, 0x24, 0x10, 0x3d, 0x11, + 0x07, 0x22, 0xdf, 0x73, 0xb8, 0x56, 0xd9, 0xef, 0x78, 0x36, 0x76, 0x69, 0x12, 0x17, 0x25, 0x22, + 0x33, 0xbf, 0xfe, 0x4d, 0x28, 0x3b, 0xc4, 0xc3, 0x86, 0xa9, 0xc5, 0xd2, 0xe4, 0x55, 0x2e, 0x14, + 0xc9, 0xf7, 0x11, 0x3c, 0x31, 0x93, 0x90, 0xa0, 0xff, 0x07, 0x29, 0xe4, 0x32, 0xe9, 0x84, 0x8c, + 0x33, 0xc8, 0xa2, 0x42, 0x5d, 0xe5, 0x0f, 0xe9, 0xd0, 0x65, 0x3c, 0x2f, 0x6b, 0x41, 0xc1, 0x21, + 0xee, 0x78, 0xc8, 0x33, 0xa5, 0xca, 0xf6, 0x4b, 0xcb, 0x51, 0x19, 0x2a, 0x1d, 0x0f, 0x3d, 0x55, + 0x18, 0x2b, 0x0f, 0xa1, 0xc0, 0x25, 0x68, 0x05, 0x8a, 0xf7, 0x0f, 0xf6, 0x0e, 0x0e, 0xdf, 0x3f, + 0xa8, 0xa5, 0x10, 0x40, 0x61, 0xa7, 0xd9, 0x6c, 0x1d, 0x75, 0x6a, 0x69, 0x24, 0x41, 0x7e, 0xa7, + 0x71, 0xa8, 0x76, 0x6a, 0x19, 0x2a, 0x56, 0x5b, 0xef, 0xb6, 0x9a, 0x9d, 0x5a, 0x16, 0xad, 0x41, + 0x99, 0xb7, 0xb5, 0x7b, 0x87, 0xea, 0x7b, 0x3b, 0x9d, 0x5a, 0x2e, 0x22, 0x3a, 0x6e, 0x1d, 0xdc, + 0x6d, 0xa9, 0xb5, 0xbc, 0xf2, 0x32, 0x4d, 0xc5, 0x12, 0xc8, 0x4f, 0x98, 0x74, 0xa5, 0x23, 0x49, + 0x97, 0xf2, 0x9b, 0x0c, 0xc8, 0xc9, 0x8c, 0x06, 0xbd, 0x3b, 0x31, 0xf1, 0xed, 0x0b, 0xd0, 0xa1, + 0x89, 0xd9, 0xa3, 0x67, 0xa0, 0xe2, 0x90, 0x13, 0xe2, 0xf5, 0x06, 0x9c, 0x61, 0xf1, 0xc0, 0x56, + 0x56, 0xcb, 0x42, 0xca, 0x8c, 0x5c, 0xae, 0xf6, 0x11, 0xe9, 0x79, 0x1a, 0xcf, 0xff, 0xf8, 0xa6, + 0x93, 0xa8, 0x1a, 0x95, 0x1e, 0x73, 0xa1, 0xf2, 0xe1, 0x85, 0xd6, 0x52, 0x82, 0xbc, 0xda, 0xea, + 0xa8, 0x3f, 0xae, 0x65, 0x11, 0x82, 0x0a, 0x6b, 0x6a, 0xc7, 0x07, 0x3b, 0x47, 0xc7, 0xed, 0x43, + 0xba, 0x96, 0x97, 0xa0, 0xea, 0xaf, 0xa5, 0x2f, 0xcc, 0x2b, 0x77, 0xe0, 0x6a, 0x02, 0x1d, 0x5b, + 0x90, 0x78, 0x2a, 0xff, 0x4e, 0x43, 0x75, 0xe2, 0x68, 0xa1, 0x6d, 0xc8, 0x73, 0x7e, 0x9f, 0x74, + 0x79, 0xc1, 0x90, 0x41, 0x9c, 0x43, 0xae, 0x8a, 0xde, 0x84, 0x12, 0x11, 0x95, 0x91, 0x59, 0x47, + 0x98, 0x57, 0x74, 0xfc, 0xda, 0x89, 0x30, 0x0d, 0x2c, 0xd0, 0x5b, 0x20, 0x05, 0x18, 0x21, 0x92, + 0xca, 0xa7, 0xa7, 0xcd, 0x03, 0x74, 0x11, 0xf6, 0xa1, 0x0d, 0x7a, 0x3d, 0x64, 0x73, 0xb9, 0xe9, + 0xac, 0x42, 0x98, 0x73, 0x05, 0x61, 0xec, 0xeb, 0x2b, 0x4d, 0x58, 0x89, 0xcc, 0x07, 0x3d, 0x05, + 0xd2, 0x08, 0x9f, 0x89, 0x8a, 0x1b, 0xaf, 0x99, 0x94, 0x46, 0xf8, 0x8c, 0x17, 0xdb, 0xae, 0x42, + 0x91, 0x0e, 0xf6, 0xb1, 0x2b, 0xd2, 0xf3, 0xc2, 0x08, 0x9f, 0xbd, 0x83, 0x5d, 0xe5, 0x03, 0xa8, + 0xc4, 0xab, 0x4d, 0x74, 0x0f, 0x3b, 0xd6, 0xd8, 0xd4, 0x99, 0x8f, 0xbc, 0xca, 0x3b, 0xe8, 0x55, + 0xc8, 0x9f, 0x5a, 0x1c, 0xe6, 0x66, 0x1f, 0xf6, 0x07, 0x96, 0x47, 0x22, 0xd5, 0x2a, 0xae, 0xad, + 0x3c, 0x86, 0x3c, 0x83, 0x2d, 0x0a, 0x41, 0xac, 0x6e, 0x24, 0x98, 0x2c, 0x6d, 0xa3, 0x0f, 0x00, + 0xb0, 0xe7, 0x39, 0x46, 0x77, 0x1c, 0x3a, 0xde, 0x98, 0x0d, 0x7b, 0x3b, 0xbe, 0x5e, 0xe3, 0x9a, + 0xc0, 0xbf, 0xcb, 0xa1, 0x69, 0x04, 0x03, 0x23, 0x0e, 0x95, 0x03, 0xa8, 0xc4, 0x6d, 0xa3, 0x15, + 0xdc, 0xd5, 0x19, 0x15, 0xdc, 0x80, 0x2d, 0x05, 0x5c, 0x2b, 0xcb, 0x6b, 0x84, 0xac, 0xa3, 0xfc, + 0x36, 0x0d, 0xa5, 0xce, 0x99, 0x38, 0x10, 0x09, 0xe5, 0xa9, 0xd0, 0x34, 0x13, 0x2d, 0xc6, 0xf0, + 0x7a, 0x57, 0x36, 0xa8, 0xa2, 0xbd, 0x1d, 0x1c, 0xf9, 0xdc, 0xb2, 0xd9, 0xac, 0x5f, 0x4e, 0x14, + 0x07, 0xfd, 0x26, 0x94, 0x2d, 0xc7, 0xe8, 0x1b, 0x26, 0x1e, 0x46, 0x89, 0xf9, 0xaa, 0x2f, 0x64, + 0xfc, 0xf3, 0x0d, 0x90, 0x82, 0xad, 0x47, 0xf3, 0x06, 0xac, 0xeb, 0x0e, 0x71, 0x5d, 0xb1, 0x00, + 0x7e, 0x97, 0x95, 0x44, 0xad, 0x4f, 0x44, 0x4d, 0x28, 0xab, 0xf2, 0x8e, 0xa2, 0x43, 0x75, 0x22, + 0x2a, 0xa2, 0x37, 0xa0, 0x68, 0x8f, 0xbb, 0x9a, 0xbf, 0x86, 0x13, 0x27, 0xcc, 0xe7, 0x90, 0xe3, + 0xee, 0xd0, 0xe8, 0xed, 0x91, 0x73, 0xff, 0x8d, 0xed, 0x71, 0x77, 0x8f, 0x2f, 0x35, 0x7f, 0x4a, + 0x26, 0xfa, 0x94, 0x53, 0x28, 0xf9, 0x3b, 0x07, 0xfd, 0x20, 0x7a, 0x98, 0xfc, 0x42, 0x79, 0x62, + 0xa4, 0x16, 0xee, 0x23, 0x67, 0xe9, 0x36, 0xac, 0xb9, 0x46, 0xdf, 0x24, 0xba, 0x16, 0x66, 0x2e, + 0xec, 0x69, 0x25, 0xb5, 0xca, 0x07, 0xf6, 0xfd, 0xb4, 0x45, 0xf9, 0x57, 0x1a, 0x4a, 0xfe, 0xa9, + 0x46, 0x2f, 0x47, 0x36, 0x67, 0x65, 0x46, 0x79, 0xc7, 0x57, 0x0c, 0xab, 0x9a, 0xf1, 0x77, 0xcd, + 0x5c, 0xfc, 0x5d, 0x93, 0xca, 0xd3, 0xfe, 0x3d, 0x41, 0xee, 0xc2, 0xf7, 0x04, 0x2f, 0x02, 0xf2, + 0x2c, 0x0f, 0x0f, 0xb5, 0x53, 0xcb, 0x33, 0xcc, 0xbe, 0xc6, 0x17, 0x9b, 0x13, 0xb6, 0x1a, 0x1b, + 0x79, 0xc0, 0x06, 0x8e, 0xd8, 0xba, 0xff, 0x3c, 0x0d, 0xa5, 0x20, 0xf4, 0x5e, 0xb4, 0x48, 0x79, + 0x05, 0x0a, 0x22, 0xba, 0xf0, 0x2a, 0xa5, 0xe8, 0x05, 0xf5, 0xf2, 0x5c, 0xa4, 0x5e, 0x2e, 0x43, + 0x69, 0x44, 0x3c, 0xcc, 0x40, 0x9c, 0xef, 0xd1, 0xa0, 0x7f, 0xfb, 0x75, 0x58, 0x89, 0xd4, 0x8b, + 0xe9, 0xf1, 0x3c, 0x68, 0xbd, 0x5f, 0x4b, 0xc9, 0xc5, 0x4f, 0x3f, 0xbf, 0x91, 0x3d, 0x20, 0x9f, + 0xd0, 0x3d, 0xab, 0xb6, 0x9a, 0xed, 0x56, 0x73, 0xaf, 0x96, 0x96, 0x57, 0x3e, 0xfd, 0xfc, 0x46, + 0x51, 0x25, 0xac, 0x2a, 0x74, 0xbb, 0x0d, 0xab, 0xd1, 0xaf, 0x12, 0x0f, 0x50, 0x08, 0x2a, 0x77, + 0xef, 0x1f, 0xed, 0xef, 0x36, 0x77, 0x3a, 0x2d, 0xed, 0xc1, 0x61, 0xa7, 0x55, 0x4b, 0xa3, 0xab, + 0x70, 0x69, 0x7f, 0xf7, 0x9d, 0x76, 0x47, 0x6b, 0xee, 0xef, 0xb6, 0x0e, 0x3a, 0xda, 0x4e, 0xa7, + 0xb3, 0xd3, 0xdc, 0xab, 0x65, 0xb6, 0xff, 0x0e, 0x50, 0xdd, 0x69, 0x34, 0x77, 0x69, 0x70, 0x35, + 0x7a, 0x58, 0x54, 0xdd, 0x72, 0x2c, 0x77, 0x9f, 0x7b, 0xfd, 0x2d, 0xcf, 0x2f, 0x3a, 0xa2, 0x7b, + 0x90, 0x67, 0x69, 0x3d, 0x9a, 0x7f, 0x1f, 0x2e, 0x2f, 0xa8, 0x42, 0xd2, 0x97, 0x61, 0xc7, 0x63, + 0xee, 0x05, 0xb9, 0x3c, 0xbf, 0x28, 0x89, 0x54, 0x90, 0xc2, 0xbc, 0x7c, 0xf1, 0x85, 0xb9, 0xbc, + 0x44, 0xa1, 0x92, 0xfa, 0x0c, 0xb3, 0x8e, 0xc5, 0x17, 0xc8, 0xf2, 0x12, 0x28, 0x87, 0xf6, 0xa1, + 0xe8, 0xe7, 0x73, 0x8b, 0xae, 0xb4, 0xe5, 0x85, 0x45, 0x44, 0xfa, 0x09, 0x78, 0xde, 0x3d, 0xff, + 0x7e, 0x5e, 0x5e, 0x50, 0x11, 0x45, 0xbb, 0x50, 0x10, 0x54, 0x7a, 0xc1, 0x35, 0xb5, 0xbc, 0xa8, + 0x28, 0x48, 0x17, 0x2d, 0x2c, 0x68, 0x2c, 0xfe, 0xeb, 0x40, 0x5e, 0xa2, 0xd8, 0x8b, 0xee, 0x03, + 0x44, 0xb2, 0xec, 0x25, 0x7e, 0x27, 0x90, 0x97, 0x29, 0xe2, 0xa2, 0x43, 0x28, 0x05, 0xd9, 0xd4, + 0xc2, 0xcb, 0x7d, 0x79, 0x71, 0x35, 0x15, 0x3d, 0x84, 0x72, 0x3c, 0x8d, 0x58, 0xee, 0xca, 0x5e, + 0x5e, 0xb2, 0x4c, 0x4a, 0xfd, 0xc7, 0x73, 0x8a, 0xe5, 0xae, 0xf0, 0xe5, 0x25, 0xab, 0xa6, 0xe8, + 0x23, 0x58, 0x9b, 0xe6, 0xfc, 0xcb, 0xdf, 0xe8, 0xcb, 0x17, 0xa8, 0xa3, 0xa2, 0x11, 0xa0, 0x19, + 0xb9, 0xc2, 0x05, 0x2e, 0xf8, 0xe5, 0x8b, 0x94, 0x55, 0x91, 0x0e, 0xd5, 0x49, 0x02, 0xbe, 0xec, + 0x85, 0xbf, 0xbc, 0x74, 0x89, 0xb5, 0xd1, 0xfa, 0xe2, 0xeb, 0xf5, 0xf4, 0x97, 0x5f, 0xaf, 0xa7, + 0xff, 0xfa, 0xf5, 0x7a, 0xfa, 0xb3, 0x6f, 0xd6, 0x53, 0x5f, 0x7e, 0xb3, 0x9e, 0xfa, 0xf3, 0x37, + 0xeb, 0xa9, 0x9f, 0xbc, 0xd0, 0x37, 0xbc, 0xc1, 0xb8, 0xbb, 0xd9, 0xb3, 0x46, 0x5b, 0xd1, 0x7f, + 0x9c, 0x66, 0xfd, 0x77, 0xd5, 0x2d, 0xb0, 0x70, 0xf8, 0xca, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, + 0x7c, 0x3f, 0xc8, 0x2a, 0x97, 0x25, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -3540,7 +3545,7 @@ type ABCIApplicationClient interface { OfferSnapshot(ctx context.Context, in *RequestOfferSnapshot, opts ...grpc.CallOption) (*ResponseOfferSnapshot, error) LoadSnapshotChunk(ctx context.Context, in *RequestLoadSnapshotChunk, opts ...grpc.CallOption) (*ResponseLoadSnapshotChunk, error) ApplySnapshotChunk(ctx context.Context, in *RequestApplySnapshotChunk, opts ...grpc.CallOption) (*ResponseApplySnapshotChunk, error) - PreprocessTxs(ctx context.Context, in *RequestPreprocessTxs, opts ...grpc.CallOption) (*ResponsePreprocessTxs, error) + PrepareProposal(ctx context.Context, in *RequestPrepareProposal, opts ...grpc.CallOption) (*ResponsePrepareProposal, error) } type aBCIApplicationClient struct { @@ -3686,9 +3691,9 @@ func (c *aBCIApplicationClient) ApplySnapshotChunk(ctx context.Context, in *Requ return out, nil } -func (c *aBCIApplicationClient) PreprocessTxs(ctx context.Context, in *RequestPreprocessTxs, opts ...grpc.CallOption) (*ResponsePreprocessTxs, error) { - out := new(ResponsePreprocessTxs) - err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/PreprocessTxs", in, out, opts...) +func (c *aBCIApplicationClient) PrepareProposal(ctx context.Context, in *RequestPrepareProposal, opts ...grpc.CallOption) (*ResponsePrepareProposal, error) { + out := new(ResponsePrepareProposal) + err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/PrepareProposal", in, out, opts...) if err != nil { return nil, err } @@ -3712,7 +3717,7 @@ type ABCIApplicationServer interface { OfferSnapshot(context.Context, *RequestOfferSnapshot) (*ResponseOfferSnapshot, error) LoadSnapshotChunk(context.Context, *RequestLoadSnapshotChunk) (*ResponseLoadSnapshotChunk, error) ApplySnapshotChunk(context.Context, *RequestApplySnapshotChunk) (*ResponseApplySnapshotChunk, error) - PreprocessTxs(context.Context, *RequestPreprocessTxs) (*ResponsePreprocessTxs, error) + PrepareProposal(context.Context, *RequestPrepareProposal) (*ResponsePrepareProposal, error) } // UnimplementedABCIApplicationServer can be embedded to have forward compatible implementations. @@ -3764,8 +3769,8 @@ func (*UnimplementedABCIApplicationServer) LoadSnapshotChunk(ctx context.Context func (*UnimplementedABCIApplicationServer) ApplySnapshotChunk(ctx context.Context, req *RequestApplySnapshotChunk) (*ResponseApplySnapshotChunk, error) { return nil, status.Errorf(codes.Unimplemented, "method ApplySnapshotChunk not implemented") } -func (*UnimplementedABCIApplicationServer) PreprocessTxs(ctx context.Context, req *RequestPreprocessTxs) (*ResponsePreprocessTxs, error) { - return nil, status.Errorf(codes.Unimplemented, "method PreprocessTxs not implemented") +func (*UnimplementedABCIApplicationServer) PrepareProposal(ctx context.Context, req *RequestPrepareProposal) (*ResponsePrepareProposal, error) { + return nil, status.Errorf(codes.Unimplemented, "method PrepareProposal not implemented") } func RegisterABCIApplicationServer(s *grpc.Server, srv ABCIApplicationServer) { @@ -4042,20 +4047,20 @@ func _ABCIApplication_ApplySnapshotChunk_Handler(srv interface{}, ctx context.Co return interceptor(ctx, in, info, handler) } -func _ABCIApplication_PreprocessTxs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(RequestPreprocessTxs) +func _ABCIApplication_PrepareProposal_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RequestPrepareProposal) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(ABCIApplicationServer).PreprocessTxs(ctx, in) + return srv.(ABCIApplicationServer).PrepareProposal(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/tendermint.abci.ABCIApplication/PreprocessTxs", + FullMethod: "/tendermint.abci.ABCIApplication/PrepareProposal", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ABCIApplicationServer).PreprocessTxs(ctx, req.(*RequestPreprocessTxs)) + return srv.(ABCIApplicationServer).PrepareProposal(ctx, req.(*RequestPrepareProposal)) } return interceptor(ctx, in, info, handler) } @@ -4125,8 +4130,8 @@ var _ABCIApplication_serviceDesc = grpc.ServiceDesc{ Handler: _ABCIApplication_ApplySnapshotChunk_Handler, }, { - MethodName: "PreprocessTxs", - Handler: _ABCIApplication_PreprocessTxs_Handler, + MethodName: "PrepareProposal", + Handler: _ABCIApplication_PrepareProposal_Handler, }, }, Streams: []grpc.StreamDesc{}, @@ -4480,16 +4485,16 @@ func (m *Request_ApplySnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, err } return len(dAtA) - i, nil } -func (m *Request_PreprocessTxs) MarshalTo(dAtA []byte) (int, error) { +func (m *Request_PrepareProposal) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *Request_PreprocessTxs) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *Request_PrepareProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) - if m.PreprocessTxs != nil { + if m.PrepareProposal != nil { { - size, err := m.PreprocessTxs.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.PrepareProposal.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -5086,7 +5091,7 @@ func (m *RequestApplySnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, erro return len(dAtA) - i, nil } -func (m *RequestPreprocessTxs) Marshal() (dAtA []byte, err error) { +func (m *RequestPrepareProposal) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5096,21 +5101,26 @@ func (m *RequestPreprocessTxs) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *RequestPreprocessTxs) MarshalTo(dAtA []byte) (int, error) { +func (m *RequestPrepareProposal) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *RequestPreprocessTxs) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *RequestPrepareProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Txs) > 0 { - for iNdEx := len(m.Txs) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Txs[iNdEx]) - copy(dAtA[i:], m.Txs[iNdEx]) - i = encodeVarintTypes(dAtA, i, uint64(len(m.Txs[iNdEx]))) + if m.BlockDataSize != 0 { + i = encodeVarintTypes(dAtA, i, uint64(m.BlockDataSize)) + i-- + dAtA[i] = 0x10 + } + if len(m.BlockData) > 0 { + for iNdEx := len(m.BlockData) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.BlockData[iNdEx]) + copy(dAtA[i:], m.BlockData[iNdEx]) + i = encodeVarintTypes(dAtA, i, uint64(len(m.BlockData[iNdEx]))) i-- dAtA[i] = 0xa } @@ -5488,16 +5498,16 @@ func (m *Response_ApplySnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, er } return len(dAtA) - i, nil } -func (m *Response_PreprocessTxs) MarshalTo(dAtA []byte) (int, error) { +func (m *Response_PrepareProposal) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *Response_PreprocessTxs) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *Response_PrepareProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) - if m.PreprocessTxs != nil { + if m.PrepareProposal != nil { { - size, err := m.PreprocessTxs.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.PrepareProposal.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -6276,7 +6286,7 @@ func (m *ResponseApplySnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, err return len(dAtA) - i, nil } -func (m *ResponsePreprocessTxs) Marshal() (dAtA []byte, err error) { +func (m *ResponsePrepareProposal) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6286,33 +6296,21 @@ func (m *ResponsePreprocessTxs) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *ResponsePreprocessTxs) MarshalTo(dAtA []byte) (int, error) { +func (m *ResponsePrepareProposal) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *ResponsePreprocessTxs) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *ResponsePrepareProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.Messages != nil { - { - size, err := m.Messages.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTypes(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - if len(m.Txs) > 0 { - for iNdEx := len(m.Txs) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Txs[iNdEx]) - copy(dAtA[i:], m.Txs[iNdEx]) - i = encodeVarintTypes(dAtA, i, uint64(len(m.Txs[iNdEx]))) + if len(m.BlockData) > 0 { + for iNdEx := len(m.BlockData) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.BlockData[iNdEx]) + copy(dAtA[i:], m.BlockData[iNdEx]) + i = encodeVarintTypes(dAtA, i, uint64(len(m.BlockData[iNdEx]))) i-- dAtA[i] = 0xa } @@ -6755,12 +6753,12 @@ func (m *Evidence) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x28 } - n52, err52 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) - if err52 != nil { - return 0, err52 + n51, err51 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) + if err51 != nil { + return 0, err51 } - i -= n52 - i = encodeVarintTypes(dAtA, i, uint64(n52)) + i -= n51 + i = encodeVarintTypes(dAtA, i, uint64(n51)) i-- dAtA[i] = 0x22 if m.Height != 0 { @@ -7041,14 +7039,14 @@ func (m *Request_ApplySnapshotChunk) Size() (n int) { } return n } -func (m *Request_PreprocessTxs) Size() (n int) { +func (m *Request_PrepareProposal) Size() (n int) { if m == nil { return 0 } var l int _ = l - if m.PreprocessTxs != nil { - l = m.PreprocessTxs.Size() + if m.PrepareProposal != nil { + l = m.PrepareProposal.Size() n += 2 + l + sovTypes(uint64(l)) } return n @@ -7303,18 +7301,21 @@ func (m *RequestApplySnapshotChunk) Size() (n int) { return n } -func (m *RequestPreprocessTxs) Size() (n int) { +func (m *RequestPrepareProposal) Size() (n int) { if m == nil { return 0 } var l int _ = l - if len(m.Txs) > 0 { - for _, b := range m.Txs { + if len(m.BlockData) > 0 { + for _, b := range m.BlockData { l = len(b) n += 1 + l + sovTypes(uint64(l)) } } + if m.BlockDataSize != 0 { + n += 1 + sovTypes(uint64(m.BlockDataSize)) + } return n } @@ -7522,14 +7523,14 @@ func (m *Response_ApplySnapshotChunk) Size() (n int) { } return n } -func (m *Response_PreprocessTxs) Size() (n int) { +func (m *Response_PrepareProposal) Size() (n int) { if m == nil { return 0 } var l int _ = l - if m.PreprocessTxs != nil { - l = m.PreprocessTxs.Size() + if m.PrepareProposal != nil { + l = m.PrepareProposal.Size() n += 2 + l + sovTypes(uint64(l)) } return n @@ -7882,22 +7883,18 @@ func (m *ResponseApplySnapshotChunk) Size() (n int) { return n } -func (m *ResponsePreprocessTxs) Size() (n int) { +func (m *ResponsePrepareProposal) Size() (n int) { if m == nil { return 0 } var l int _ = l - if len(m.Txs) > 0 { - for _, b := range m.Txs { + if len(m.BlockData) > 0 { + for _, b := range m.BlockData { l = len(b) n += 1 + l + sovTypes(uint64(l)) } } - if m.Messages != nil { - l = m.Messages.Size() - n += 1 + l + sovTypes(uint64(l)) - } return n } @@ -8677,7 +8674,7 @@ func (m *Request) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 16: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PreprocessTxs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PrepareProposal", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -8704,11 +8701,11 @@ func (m *Request) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &RequestPreprocessTxs{} + v := &RequestPrepareProposal{} if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.Value = &Request_PreprocessTxs{v} + m.Value = &Request_PrepareProposal{v} iNdEx = postIndex default: iNdEx = preIndex @@ -10392,7 +10389,7 @@ func (m *RequestApplySnapshotChunk) Unmarshal(dAtA []byte) error { } return nil } -func (m *RequestPreprocessTxs) Unmarshal(dAtA []byte) error { +func (m *RequestPrepareProposal) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10415,15 +10412,15 @@ func (m *RequestPreprocessTxs) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: RequestPreprocessTxs: wiretype end group for non-group") + return fmt.Errorf("proto: RequestPrepareProposal: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: RequestPreprocessTxs: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: RequestPrepareProposal: 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 BlockData", wireType) } var byteLen int for shift := uint(0); ; shift += 7 { @@ -10450,9 +10447,28 @@ func (m *RequestPreprocessTxs) 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.BlockData = append(m.BlockData, make([]byte, postIndex-iNdEx)) + copy(m.BlockData[len(m.BlockData)-1], dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockDataSize", wireType) + } + m.BlockDataSize = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.BlockDataSize |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipTypes(dAtA[iNdEx:]) @@ -11065,7 +11081,7 @@ func (m *Response) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 17: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PreprocessTxs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PrepareProposal", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -11092,11 +11108,11 @@ func (m *Response) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &ResponsePreprocessTxs{} + v := &ResponsePrepareProposal{} if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.Value = &Response_PreprocessTxs{v} + m.Value = &Response_PrepareProposal{v} iNdEx = postIndex default: iNdEx = preIndex @@ -13410,7 +13426,7 @@ func (m *ResponseApplySnapshotChunk) Unmarshal(dAtA []byte) error { } return nil } -func (m *ResponsePreprocessTxs) Unmarshal(dAtA []byte) error { +func (m *ResponsePrepareProposal) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13433,15 +13449,15 @@ func (m *ResponsePreprocessTxs) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ResponsePreprocessTxs: wiretype end group for non-group") + return fmt.Errorf("proto: ResponsePrepareProposal: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ResponsePreprocessTxs: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ResponsePrepareProposal: 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 BlockData", wireType) } var byteLen int for shift := uint(0); ; shift += 7 { @@ -13468,44 +13484,8 @@ func (m *ResponsePreprocessTxs) 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]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Messages", 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.Messages == nil { - m.Messages = &types1.Messages{} - } - if err := m.Messages.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.BlockData = append(m.BlockData, make([]byte, postIndex-iNdEx)) + copy(m.BlockData[len(m.BlockData)-1], dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex From 02d76fc94469e1c004cfa6314b246c34fc9d458a Mon Sep 17 00:00:00 2001 From: evan-forbes Date: Tue, 15 Feb 2022 20:19:23 -0600 Subject: [PATCH 03/19] fix tests and revert to old go.mod --- abci/example/kvstore/persistent_kvstore.go | 4 - abci/types/types.pb.go | 827 ++++++--------------- go.mod | 20 +- go.sum | 553 ++------------ proxy/mocks/app_conn_consensus.go | 188 ----- 5 files changed, 312 insertions(+), 1280 deletions(-) delete mode 100644 proxy/mocks/app_conn_consensus.go diff --git a/abci/example/kvstore/persistent_kvstore.go b/abci/example/kvstore/persistent_kvstore.go index 507c869727..eb5eb0e5cb 100644 --- a/abci/example/kvstore/persistent_kvstore.go +++ b/abci/example/kvstore/persistent_kvstore.go @@ -172,10 +172,6 @@ func (app *PersistentKVStoreApplication) ApplySnapshotChunk( func (app *PersistentKVStoreApplication) PrepareProposal( req types.RequestPrepareProposal) types.ResponsePrepareProposal { - if len(req.BlockData) >= 1 { - req.BlockData[1] = []byte("modified tx") - } - return types.ResponsePrepareProposal{BlockData: req.BlockData} } diff --git a/abci/types/types.pb.go b/abci/types/types.pb.go index 644acb57fd..7313c47145 100644 --- a/abci/types/types.pb.go +++ b/abci/types/types.pb.go @@ -120,7 +120,7 @@ func (x ResponseOfferSnapshot_Result) String() string { } func (ResponseOfferSnapshot_Result) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{29, 0} + return fileDescriptor_252557cfdd89a31a, []int{31, 0} } type ResponseApplySnapshotChunk_Result int32 @@ -157,7 +157,7 @@ func (x ResponseApplySnapshotChunk_Result) String() string { } func (ResponseApplySnapshotChunk_Result) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{31, 0} + return fileDescriptor_252557cfdd89a31a, []int{33, 0} } type Request struct { @@ -266,7 +266,7 @@ type Request_ApplySnapshotChunk struct { ApplySnapshotChunk *RequestApplySnapshotChunk `protobuf:"bytes,15,opt,name=apply_snapshot_chunk,json=applySnapshotChunk,proto3,oneof" json:"apply_snapshot_chunk,omitempty"` } type Request_PrepareProposal struct { - PrepareProposal *RequestPrepareProposal `protobuf:"bytes,15,opt,name=prepare_proposal,json=prepareProposal,proto3,oneof" json:"prepare_proposal,omitempty"` + PrepareProposal *RequestPrepareProposal `protobuf:"bytes,16,opt,name=prepare_proposal,json=prepareProposal,proto3,oneof" json:"prepare_proposal,omitempty"` } func (*Request_Echo) isRequest_Value() {} @@ -1232,15 +1232,16 @@ type RequestPrepareProposal struct { // block_data is an array of transactions that will be included in a block, // sent to the app for possible modifications. // applications can not exceed the size of the data passed to it. - BlockData [][]byte `protobuf:"bytes,1,rep,name=block_data,json=blockData,proto3" json:"block_data,omitempty"` - BlockDataSize int64 `protobuf:"varint,2,opt,name=block_data_size,json=blockDataSize,proto3" json:"block_data_size,omitempty"` + BlockData [][]byte `protobuf:"bytes,1,rep,name=block_data,json=blockData,proto3" json:"block_data,omitempty"` + // If an application decides to populate block_data with extra information, they can not exceed this value. + BlockDataSize int64 `protobuf:"varint,2,opt,name=block_data_size,json=blockDataSize,proto3" json:"block_data_size,omitempty"` } func (m *RequestPrepareProposal) Reset() { *m = RequestPrepareProposal{} } func (m *RequestPrepareProposal) String() string { return proto.CompactTextString(m) } func (*RequestPrepareProposal) ProtoMessage() {} func (*RequestPrepareProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{15} + return fileDescriptor_252557cfdd89a31a, []int{16} } func (m *RequestPrepareProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1309,7 +1310,7 @@ func (m *Response) Reset() { *m = Response{} } func (m *Response) String() string { return proto.CompactTextString(m) } func (*Response) ProtoMessage() {} func (*Response) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{16} + return fileDescriptor_252557cfdd89a31a, []int{17} } func (m *Response) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1393,7 +1394,7 @@ type Response_ApplySnapshotChunk struct { ApplySnapshotChunk *ResponseApplySnapshotChunk `protobuf:"bytes,16,opt,name=apply_snapshot_chunk,json=applySnapshotChunk,proto3,oneof" json:"apply_snapshot_chunk,omitempty"` } type Response_PrepareProposal struct { - PrepareProposal *ResponsePrepareProposal `protobuf:"bytes,16,opt,name=prepare_proposal,json=prepareProposal,proto3,oneof" json:"prepare_proposal,omitempty"` + PrepareProposal *ResponsePrepareProposal `protobuf:"bytes,17,opt,name=prepare_proposal,json=prepareProposal,proto3,oneof" json:"prepare_proposal,omitempty"` } func (*Response_Exception) isResponse_Value() {} @@ -1572,7 +1573,7 @@ func (m *ResponseException) Reset() { *m = ResponseException{} } func (m *ResponseException) String() string { return proto.CompactTextString(m) } func (*ResponseException) ProtoMessage() {} func (*ResponseException) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{17} + return fileDescriptor_252557cfdd89a31a, []int{18} } func (m *ResponseException) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1616,7 +1617,7 @@ func (m *ResponseEcho) Reset() { *m = ResponseEcho{} } func (m *ResponseEcho) String() string { return proto.CompactTextString(m) } func (*ResponseEcho) ProtoMessage() {} func (*ResponseEcho) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{18} + return fileDescriptor_252557cfdd89a31a, []int{19} } func (m *ResponseEcho) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1659,7 +1660,7 @@ func (m *ResponseFlush) Reset() { *m = ResponseFlush{} } func (m *ResponseFlush) String() string { return proto.CompactTextString(m) } func (*ResponseFlush) ProtoMessage() {} func (*ResponseFlush) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{19} + return fileDescriptor_252557cfdd89a31a, []int{20} } func (m *ResponseFlush) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1700,7 +1701,7 @@ func (m *ResponseInfo) Reset() { *m = ResponseInfo{} } func (m *ResponseInfo) String() string { return proto.CompactTextString(m) } func (*ResponseInfo) ProtoMessage() {} func (*ResponseInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{20} + return fileDescriptor_252557cfdd89a31a, []int{21} } func (m *ResponseInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1836,7 +1837,7 @@ func (m *ResponseInitChain) Reset() { *m = ResponseInitChain{} } func (m *ResponseInitChain) String() string { return proto.CompactTextString(m) } func (*ResponseInitChain) ProtoMessage() {} func (*ResponseInitChain) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{21} + return fileDescriptor_252557cfdd89a31a, []int{23} } func (m *ResponseInitChain) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1903,7 +1904,7 @@ func (m *ResponseQuery) Reset() { *m = ResponseQuery{} } func (m *ResponseQuery) String() string { return proto.CompactTextString(m) } func (*ResponseQuery) ProtoMessage() {} func (*ResponseQuery) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{22} + return fileDescriptor_252557cfdd89a31a, []int{24} } func (m *ResponseQuery) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2003,7 +2004,7 @@ func (m *ResponseBeginBlock) Reset() { *m = ResponseBeginBlock{} } func (m *ResponseBeginBlock) String() string { return proto.CompactTextString(m) } func (*ResponseBeginBlock) ProtoMessage() {} func (*ResponseBeginBlock) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{23} + return fileDescriptor_252557cfdd89a31a, []int{25} } func (m *ResponseBeginBlock) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2054,7 +2055,7 @@ func (m *ResponseCheckTx) Reset() { *m = ResponseCheckTx{} } func (m *ResponseCheckTx) String() string { return proto.CompactTextString(m) } func (*ResponseCheckTx) ProtoMessage() {} func (*ResponseCheckTx) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{24} + return fileDescriptor_252557cfdd89a31a, []int{26} } func (m *ResponseCheckTx) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2154,7 +2155,7 @@ func (m *ResponseDeliverTx) Reset() { *m = ResponseDeliverTx{} } func (m *ResponseDeliverTx) String() string { return proto.CompactTextString(m) } func (*ResponseDeliverTx) ProtoMessage() {} func (*ResponseDeliverTx) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{25} + return fileDescriptor_252557cfdd89a31a, []int{27} } func (m *ResponseDeliverTx) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2249,7 +2250,7 @@ func (m *ResponseEndBlock) Reset() { *m = ResponseEndBlock{} } func (m *ResponseEndBlock) String() string { return proto.CompactTextString(m) } func (*ResponseEndBlock) ProtoMessage() {} func (*ResponseEndBlock) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{26} + return fileDescriptor_252557cfdd89a31a, []int{28} } func (m *ResponseEndBlock) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2309,7 +2310,7 @@ func (m *ResponseCommit) Reset() { *m = ResponseCommit{} } func (m *ResponseCommit) String() string { return proto.CompactTextString(m) } func (*ResponseCommit) ProtoMessage() {} func (*ResponseCommit) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{27} + return fileDescriptor_252557cfdd89a31a, []int{29} } func (m *ResponseCommit) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2360,7 +2361,7 @@ func (m *ResponseListSnapshots) Reset() { *m = ResponseListSnapshots{} } func (m *ResponseListSnapshots) String() string { return proto.CompactTextString(m) } func (*ResponseListSnapshots) ProtoMessage() {} func (*ResponseListSnapshots) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{28} + return fileDescriptor_252557cfdd89a31a, []int{30} } func (m *ResponseListSnapshots) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2404,7 +2405,7 @@ func (m *ResponseOfferSnapshot) Reset() { *m = ResponseOfferSnapshot{} } func (m *ResponseOfferSnapshot) String() string { return proto.CompactTextString(m) } func (*ResponseOfferSnapshot) ProtoMessage() {} func (*ResponseOfferSnapshot) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{29} + return fileDescriptor_252557cfdd89a31a, []int{31} } func (m *ResponseOfferSnapshot) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2448,7 +2449,7 @@ func (m *ResponseLoadSnapshotChunk) Reset() { *m = ResponseLoadSnapshotC func (m *ResponseLoadSnapshotChunk) String() string { return proto.CompactTextString(m) } func (*ResponseLoadSnapshotChunk) ProtoMessage() {} func (*ResponseLoadSnapshotChunk) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{30} + return fileDescriptor_252557cfdd89a31a, []int{32} } func (m *ResponseLoadSnapshotChunk) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2494,7 +2495,7 @@ func (m *ResponseApplySnapshotChunk) Reset() { *m = ResponseApplySnapsho func (m *ResponseApplySnapshotChunk) String() string { return proto.CompactTextString(m) } func (*ResponseApplySnapshotChunk) ProtoMessage() {} func (*ResponseApplySnapshotChunk) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{31} + return fileDescriptor_252557cfdd89a31a, []int{33} } func (m *ResponseApplySnapshotChunk) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2552,7 +2553,7 @@ func (m *ResponsePrepareProposal) Reset() { *m = ResponsePrepareProposal func (m *ResponsePrepareProposal) String() string { return proto.CompactTextString(m) } func (*ResponsePrepareProposal) ProtoMessage() {} func (*ResponsePrepareProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{32} + return fileDescriptor_252557cfdd89a31a, []int{34} } func (m *ResponsePrepareProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2588,58 +2589,6 @@ func (m *ResponsePrepareProposal) GetBlockData() [][]byte { return nil } -type LastCommitInfo struct { - Round int32 `protobuf:"varint,1,opt,name=round,proto3" json:"round,omitempty"` - Votes []VoteInfo `protobuf:"bytes,2,rep,name=votes,proto3" json:"votes"` -} - -func (m *LastCommitInfo) Reset() { *m = LastCommitInfo{} } -func (m *LastCommitInfo) String() string { return proto.CompactTextString(m) } -func (*LastCommitInfo) ProtoMessage() {} -func (*LastCommitInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{33} -} -func (m *ResponsePreprocessTxs) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *ResponsePreprocessTxs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_ResponsePreprocessTxs.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *ResponsePreprocessTxs) XXX_Merge(src proto.Message) { - xxx_messageInfo_ResponsePreprocessTxs.Merge(m, src) -} -func (m *ResponsePreprocessTxs) XXX_Size() int { - return m.Size() -} -func (m *ResponsePreprocessTxs) XXX_DiscardUnknown() { - xxx_messageInfo_ResponsePreprocessTxs.DiscardUnknown(m) -} - -var xxx_messageInfo_ResponsePreprocessTxs proto.InternalMessageInfo - -func (m *ResponsePreprocessTxs) GetTxs() [][]byte { - if m != nil { - return m.Txs - } - return nil -} - -func (m *ResponsePreprocessTxs) GetMessages() *types1.Messages { - if m != nil { - return m.Messages - } - return nil -} - // ConsensusParams contains all consensus-relevant parameters // that can be adjusted by the abci app type ConsensusParams struct { @@ -2649,11 +2598,11 @@ type ConsensusParams struct { Version *types1.VersionParams `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"` } -func (m *Event) Reset() { *m = Event{} } -func (m *Event) String() string { return proto.CompactTextString(m) } -func (*Event) ProtoMessage() {} -func (*Event) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{34} +func (m *ConsensusParams) Reset() { *m = ConsensusParams{} } +func (m *ConsensusParams) String() string { return proto.CompactTextString(m) } +func (*ConsensusParams) ProtoMessage() {} +func (*ConsensusParams) Descriptor() ([]byte, []int) { + return fileDescriptor_252557cfdd89a31a, []int{35} } func (m *ConsensusParams) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2883,7 +2832,7 @@ func (m *EventAttribute) Reset() { *m = EventAttribute{} } func (m *EventAttribute) String() string { return proto.CompactTextString(m) } func (*EventAttribute) ProtoMessage() {} func (*EventAttribute) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{35} + return fileDescriptor_252557cfdd89a31a, []int{39} } func (m *EventAttribute) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2948,7 +2897,7 @@ func (m *TxResult) Reset() { *m = TxResult{} } func (m *TxResult) String() string { return proto.CompactTextString(m) } func (*TxResult) ProtoMessage() {} func (*TxResult) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{36} + return fileDescriptor_252557cfdd89a31a, []int{40} } func (m *TxResult) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3023,7 +2972,7 @@ func (m *Validator) Reset() { *m = Validator{} } func (m *Validator) String() string { return proto.CompactTextString(m) } func (*Validator) ProtoMessage() {} func (*Validator) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{37} + return fileDescriptor_252557cfdd89a31a, []int{41} } func (m *Validator) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3076,7 +3025,7 @@ func (m *ValidatorUpdate) Reset() { *m = ValidatorUpdate{} } func (m *ValidatorUpdate) String() string { return proto.CompactTextString(m) } func (*ValidatorUpdate) ProtoMessage() {} func (*ValidatorUpdate) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{38} + return fileDescriptor_252557cfdd89a31a, []int{42} } func (m *ValidatorUpdate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3129,7 +3078,7 @@ func (m *VoteInfo) Reset() { *m = VoteInfo{} } func (m *VoteInfo) String() string { return proto.CompactTextString(m) } func (*VoteInfo) ProtoMessage() {} func (*VoteInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{39} + return fileDescriptor_252557cfdd89a31a, []int{43} } func (m *VoteInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3190,7 +3139,7 @@ func (m *Evidence) Reset() { *m = Evidence{} } func (m *Evidence) String() string { return proto.CompactTextString(m) } func (*Evidence) ProtoMessage() {} func (*Evidence) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{40} + return fileDescriptor_252557cfdd89a31a, []int{44} } func (m *Evidence) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3266,7 +3215,7 @@ func (m *Snapshot) Reset() { *m = Snapshot{} } func (m *Snapshot) String() string { return proto.CompactTextString(m) } func (*Snapshot) ProtoMessage() {} func (*Snapshot) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{41} + return fileDescriptor_252557cfdd89a31a, []int{45} } func (m *Snapshot) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3370,6 +3319,8 @@ func init() { proto.RegisterType((*ResponseLoadSnapshotChunk)(nil), "tendermint.abci.ResponseLoadSnapshotChunk") proto.RegisterType((*ResponseApplySnapshotChunk)(nil), "tendermint.abci.ResponseApplySnapshotChunk") proto.RegisterType((*ResponsePrepareProposal)(nil), "tendermint.abci.ResponsePrepareProposal") + proto.RegisterType((*ConsensusParams)(nil), "tendermint.abci.ConsensusParams") + proto.RegisterType((*BlockParams)(nil), "tendermint.abci.BlockParams") proto.RegisterType((*LastCommitInfo)(nil), "tendermint.abci.LastCommitInfo") proto.RegisterType((*Event)(nil), "tendermint.abci.Event") proto.RegisterType((*EventAttribute)(nil), "tendermint.abci.EventAttribute") @@ -3384,177 +3335,187 @@ func init() { func init() { proto.RegisterFile("tendermint/abci/types.proto", fileDescriptor_252557cfdd89a31a) } var fileDescriptor_252557cfdd89a31a = []byte{ - // 2716 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x5a, 0x4b, 0x73, 0x1b, 0xc7, - 0xf1, 0xc7, 0x1b, 0xd8, 0x06, 0xf1, 0xe0, 0x88, 0xa6, 0x61, 0x58, 0x22, 0xe5, 0x55, 0x49, 0x96, - 0x64, 0x9b, 0xfc, 0x9b, 0x2a, 0xe9, 0x2f, 0x97, 0xf3, 0x30, 0x01, 0x41, 0x01, 0x2d, 0x86, 0x64, - 0x86, 0x90, 0x5c, 0x4e, 0x62, 0xad, 0x17, 0xd8, 0x21, 0xb0, 0x16, 0xb0, 0xbb, 0xde, 0x5d, 0x50, - 0xa4, 0x8e, 0xa9, 0xe4, 0xa2, 0xca, 0x41, 0x97, 0x54, 0xe5, 0xe2, 0x53, 0x3e, 0x44, 0x72, 0xca, - 0x29, 0x07, 0x1f, 0x72, 0xf0, 0x31, 0x27, 0x27, 0x25, 0xdd, 0xf2, 0x05, 0x7c, 0x4a, 0x55, 0x6a, - 0x1e, 0xfb, 0x02, 0xb0, 0x04, 0x18, 0xe7, 0x96, 0xdb, 0x4c, 0x6f, 0x77, 0x63, 0xa6, 0x67, 0xe6, - 0xd7, 0xbf, 0xe9, 0x01, 0xbc, 0xe9, 0x12, 0x43, 0x23, 0xf6, 0x48, 0x37, 0xdc, 0x4d, 0xb5, 0xdb, - 0xd3, 0x37, 0xdd, 0x53, 0x8b, 0x38, 0x1b, 0x96, 0x6d, 0xba, 0x26, 0xaa, 0x04, 0x1f, 0x37, 0xe8, - 0xc7, 0xfa, 0xa5, 0x90, 0x76, 0xcf, 0x3e, 0xb5, 0x5c, 0x73, 0xd3, 0xb2, 0x4d, 0xf3, 0x88, 0xeb, - 0xd7, 0x2f, 0x86, 0x3e, 0x33, 0x3f, 0x61, 0x6f, 0x91, 0xaf, 0xc2, 0xf8, 0x09, 0x39, 0xf5, 0xbe, - 0x5e, 0x9a, 0xb2, 0xb5, 0x54, 0x5b, 0x1d, 0x79, 0x9f, 0xd7, 0xfb, 0xa6, 0xd9, 0x1f, 0x92, 0x4d, - 0xd6, 0xeb, 0x8e, 0x8f, 0x36, 0x5d, 0x7d, 0x44, 0x1c, 0x57, 0x1d, 0x59, 0x42, 0x61, 0xa5, 0x6f, - 0xf6, 0x4d, 0xd6, 0xdc, 0xa4, 0x2d, 0x2e, 0x95, 0xff, 0x50, 0x80, 0x3c, 0x26, 0x5f, 0x8e, 0x89, - 0xe3, 0xa2, 0x2d, 0xc8, 0x90, 0xde, 0xc0, 0xac, 0x25, 0x2f, 0x27, 0xaf, 0x17, 0xb7, 0x2e, 0x6e, - 0x4c, 0x4c, 0x6e, 0x43, 0xe8, 0xb5, 0x7a, 0x03, 0xb3, 0x9d, 0xc0, 0x4c, 0x17, 0xdd, 0x86, 0xec, - 0xd1, 0x70, 0xec, 0x0c, 0x6a, 0x29, 0x66, 0x74, 0x29, 0xce, 0xe8, 0x3e, 0x55, 0x6a, 0x27, 0x30, - 0xd7, 0xa6, 0x3f, 0xa5, 0x1b, 0x47, 0x66, 0x2d, 0x7d, 0xf6, 0x4f, 0xed, 0x18, 0x47, 0xec, 0xa7, - 0xa8, 0x2e, 0x6a, 0x00, 0xe8, 0x86, 0xee, 0x2a, 0xbd, 0x81, 0xaa, 0x1b, 0xb5, 0x0c, 0xb3, 0x7c, - 0x2b, 0xde, 0x52, 0x77, 0x9b, 0x54, 0xb1, 0x9d, 0xc0, 0x92, 0xee, 0x75, 0xe8, 0x70, 0xbf, 0x1c, - 0x13, 0xfb, 0xb4, 0x96, 0x3d, 0x7b, 0xb8, 0x3f, 0xa3, 0x4a, 0x74, 0xb8, 0x4c, 0x1b, 0xb5, 0xa0, - 0xd8, 0x25, 0x7d, 0xdd, 0x50, 0xba, 0x43, 0xb3, 0xf7, 0xa4, 0x96, 0x63, 0xc6, 0x72, 0x9c, 0x71, - 0x83, 0xaa, 0x36, 0xa8, 0x66, 0x3b, 0x81, 0xa1, 0xeb, 0xf7, 0xd0, 0x0f, 0xa0, 0xd0, 0x1b, 0x90, - 0xde, 0x13, 0xc5, 0x3d, 0xa9, 0xe5, 0x99, 0x8f, 0xf5, 0x38, 0x1f, 0x4d, 0xaa, 0xd7, 0x39, 0x69, - 0x27, 0x70, 0xbe, 0xc7, 0x9b, 0x74, 0xfe, 0x1a, 0x19, 0xea, 0xc7, 0xc4, 0xa6, 0xf6, 0x85, 0xb3, - 0xe7, 0x7f, 0x8f, 0x6b, 0x32, 0x0f, 0x92, 0xe6, 0x75, 0xd0, 0x8f, 0x41, 0x22, 0x86, 0x26, 0xa6, - 0x21, 0x31, 0x17, 0x97, 0x63, 0xd7, 0xd9, 0xd0, 0xbc, 0x49, 0x14, 0x88, 0x68, 0xa3, 0xbb, 0x90, - 0xeb, 0x99, 0xa3, 0x91, 0xee, 0xd6, 0x80, 0x59, 0xaf, 0xc5, 0x4e, 0x80, 0x69, 0xb5, 0x13, 0x58, - 0xe8, 0xa3, 0x3d, 0x28, 0x0f, 0x75, 0xc7, 0x55, 0x1c, 0x43, 0xb5, 0x9c, 0x81, 0xe9, 0x3a, 0xb5, - 0x22, 0xf3, 0x70, 0x35, 0xce, 0xc3, 0xae, 0xee, 0xb8, 0x87, 0x9e, 0x72, 0x3b, 0x81, 0x4b, 0xc3, - 0xb0, 0x80, 0xfa, 0x33, 0x8f, 0x8e, 0x88, 0xed, 0x3b, 0xac, 0x2d, 0x9d, 0xed, 0x6f, 0x9f, 0x6a, - 0x7b, 0xf6, 0xd4, 0x9f, 0x19, 0x16, 0xa0, 0x5f, 0xc0, 0x85, 0xa1, 0xa9, 0x6a, 0xbe, 0x3b, 0xa5, - 0x37, 0x18, 0x1b, 0x4f, 0x6a, 0x25, 0xe6, 0xf4, 0x46, 0xec, 0x20, 0x4d, 0x55, 0xf3, 0x5c, 0x34, - 0xa9, 0x41, 0x3b, 0x81, 0x97, 0x87, 0x93, 0x42, 0xf4, 0x18, 0x56, 0x54, 0xcb, 0x1a, 0x9e, 0x4e, - 0x7a, 0x2f, 0x33, 0xef, 0x37, 0xe3, 0xbc, 0x6f, 0x53, 0x9b, 0x49, 0xf7, 0x48, 0x9d, 0x92, 0xa2, - 0x0e, 0x54, 0x2d, 0x9b, 0x58, 0xaa, 0x4d, 0x14, 0xcb, 0x36, 0x2d, 0xd3, 0x51, 0x87, 0xb5, 0x0a, - 0xf3, 0xfd, 0x76, 0x9c, 0xef, 0x03, 0xae, 0x7f, 0x20, 0xd4, 0xdb, 0x09, 0x5c, 0xb1, 0xa2, 0xa2, - 0x46, 0x1e, 0xb2, 0xc7, 0xea, 0x70, 0x4c, 0xe4, 0xb7, 0xa1, 0x18, 0x3a, 0xfc, 0xa8, 0x06, 0xf9, - 0x11, 0x71, 0x1c, 0xb5, 0x4f, 0x18, 0x56, 0x48, 0xd8, 0xeb, 0xca, 0x65, 0x58, 0x0a, 0x1f, 0x78, - 0xf9, 0x45, 0xd2, 0xb7, 0xa4, 0x67, 0x99, 0x5a, 0x1e, 0x13, 0xdb, 0xd1, 0x4d, 0xc3, 0xb3, 0x14, - 0x5d, 0x74, 0x05, 0x4a, 0x6c, 0x57, 0x2a, 0xde, 0x77, 0x0a, 0x28, 0x19, 0xbc, 0xc4, 0x84, 0x8f, - 0x84, 0xd2, 0x3a, 0x14, 0xad, 0x2d, 0xcb, 0x57, 0x49, 0x33, 0x15, 0xb0, 0xb6, 0x2c, 0x4f, 0xe1, - 0x2d, 0x58, 0xa2, 0x73, 0xf4, 0x35, 0x32, 0xec, 0x47, 0x8a, 0x54, 0x26, 0x54, 0xe4, 0xbf, 0xa6, - 0xa0, 0x3a, 0x09, 0x12, 0xe8, 0x2e, 0x64, 0x28, 0x5e, 0x0a, 0xe8, 0xab, 0x6f, 0x70, 0x30, 0xdd, - 0xf0, 0xc0, 0x74, 0xa3, 0xe3, 0x81, 0x69, 0xa3, 0xf0, 0xf5, 0xb7, 0xeb, 0x89, 0x17, 0x7f, 0x5f, - 0x4f, 0x62, 0x66, 0x81, 0xde, 0xa0, 0x67, 0x5a, 0xd5, 0x0d, 0x45, 0xd7, 0xd8, 0x90, 0x25, 0x7a, - 0x60, 0x55, 0xdd, 0xd8, 0xd1, 0xd0, 0x2e, 0x54, 0x7b, 0xa6, 0xe1, 0x10, 0xc3, 0x19, 0x3b, 0x0a, - 0x07, 0x6b, 0x01, 0x78, 0x91, 0x63, 0xcb, 0x53, 0x40, 0xd3, 0xd3, 0x3c, 0x60, 0x8a, 0xb8, 0xd2, - 0x8b, 0x0a, 0xd0, 0x7d, 0x80, 0x63, 0x75, 0xa8, 0x6b, 0xaa, 0x6b, 0xda, 0x4e, 0x2d, 0x73, 0x39, - 0x3d, 0xf3, 0xec, 0x3e, 0xf2, 0x54, 0x1e, 0x5a, 0x9a, 0xea, 0x92, 0x46, 0x86, 0x0e, 0x17, 0x87, - 0x2c, 0xd1, 0x35, 0xa8, 0xa8, 0x96, 0xa5, 0x38, 0xae, 0xea, 0x12, 0xa5, 0x7b, 0xea, 0x12, 0x87, - 0x81, 0xe1, 0x12, 0x2e, 0xa9, 0x96, 0x75, 0x48, 0xa5, 0x0d, 0x2a, 0x44, 0x57, 0xa1, 0x4c, 0x71, - 0x53, 0x57, 0x87, 0xca, 0x80, 0xe8, 0xfd, 0x81, 0xcb, 0x60, 0x2f, 0x8d, 0x4b, 0x42, 0xda, 0x66, - 0x42, 0x59, 0xf3, 0x57, 0x9c, 0x61, 0x26, 0x42, 0x90, 0xd1, 0x54, 0x57, 0x65, 0x91, 0x5c, 0xc2, - 0xac, 0x4d, 0x65, 0x96, 0xea, 0x0e, 0x44, 0x7c, 0x58, 0x1b, 0xad, 0x42, 0x4e, 0xb8, 0x4d, 0x33, - 0xb7, 0xa2, 0x87, 0x56, 0x20, 0x6b, 0xd9, 0xe6, 0x31, 0x61, 0x4b, 0x57, 0xc0, 0xbc, 0x23, 0xff, - 0x3a, 0x05, 0xcb, 0x53, 0xe8, 0x4a, 0xfd, 0x0e, 0x54, 0x67, 0xe0, 0xfd, 0x16, 0x6d, 0xa3, 0x3b, - 0xd4, 0xaf, 0xaa, 0x11, 0x5b, 0x64, 0xa4, 0xda, 0x74, 0xa8, 0xdb, 0xec, 0xbb, 0x08, 0x8d, 0xd0, - 0x46, 0xfb, 0x50, 0x1d, 0xaa, 0x8e, 0xab, 0x70, 0xb4, 0x52, 0x42, 0xd9, 0x69, 0x1a, 0xa3, 0x77, - 0x55, 0x0f, 0xdf, 0xe8, 0xa6, 0x16, 0x8e, 0xca, 0xc3, 0x88, 0x14, 0x61, 0x58, 0xe9, 0x9e, 0x3e, - 0x53, 0x0d, 0x57, 0x37, 0x88, 0x32, 0xb5, 0x72, 0x6f, 0x4c, 0x39, 0x6d, 0x1d, 0xeb, 0x1a, 0x31, - 0x7a, 0xde, 0x92, 0x5d, 0xf0, 0x8d, 0xfd, 0x25, 0x75, 0x64, 0x0c, 0xe5, 0x68, 0x7e, 0x40, 0x65, - 0x48, 0xb9, 0x27, 0x22, 0x00, 0x29, 0xf7, 0x04, 0xfd, 0x1f, 0x64, 0xe8, 0x24, 0xd9, 0xe4, 0xcb, - 0x33, 0x12, 0xab, 0xb0, 0xeb, 0x9c, 0x5a, 0x04, 0x33, 0x4d, 0x59, 0xf6, 0x8f, 0x83, 0x9f, 0x33, - 0x26, 0xbd, 0xca, 0x37, 0xa0, 0x32, 0x91, 0x14, 0x42, 0xeb, 0x97, 0x0c, 0xaf, 0x9f, 0x5c, 0x81, - 0x52, 0x24, 0x03, 0xc8, 0xab, 0xb0, 0x32, 0x0b, 0xd0, 0xe5, 0x81, 0x2f, 0x8f, 0x00, 0x33, 0xba, - 0x0d, 0x05, 0x1f, 0xd1, 0xf9, 0x71, 0x9c, 0x8e, 0x95, 0xa7, 0x8c, 0x7d, 0x55, 0x7a, 0x0e, 0xe9, - 0xb6, 0x66, 0xfb, 0x21, 0xc5, 0x06, 0x9e, 0x57, 0x2d, 0xab, 0xad, 0x3a, 0x03, 0xf9, 0x73, 0xa8, - 0xc5, 0xa1, 0xf5, 0xc4, 0x34, 0x32, 0xfe, 0x36, 0x5c, 0x85, 0xdc, 0x91, 0x69, 0x8f, 0x54, 0x97, - 0x39, 0x2b, 0x61, 0xd1, 0xa3, 0xdb, 0x93, 0x23, 0x77, 0x9a, 0x89, 0x79, 0x47, 0x56, 0xe0, 0x8d, - 0x58, 0xc4, 0xa6, 0x26, 0xba, 0xa1, 0x11, 0x1e, 0xcf, 0x12, 0xe6, 0x9d, 0xc0, 0x11, 0x1f, 0x2c, - 0xef, 0xd0, 0x9f, 0x75, 0xd8, 0x5c, 0x99, 0x7f, 0x09, 0x8b, 0x9e, 0xac, 0xc0, 0xea, 0x6c, 0xd8, - 0x46, 0x97, 0x00, 0x38, 0x6e, 0x8a, 0x53, 0x97, 0xbe, 0xbe, 0x84, 0x25, 0x26, 0xb9, 0x47, 0x8f, - 0xde, 0x35, 0xa8, 0x04, 0x9f, 0x15, 0x47, 0x7f, 0xc6, 0xb7, 0x46, 0x1a, 0x97, 0x7c, 0x9d, 0x43, - 0xfd, 0x19, 0x91, 0xbf, 0x2b, 0x40, 0x01, 0x13, 0xc7, 0xa2, 0xa0, 0x83, 0x1a, 0x20, 0x91, 0x93, - 0x1e, 0xb1, 0x5c, 0x0f, 0xa7, 0x67, 0x93, 0x1d, 0xae, 0xdd, 0xf2, 0x34, 0x29, 0xd3, 0xf0, 0xcd, - 0xd0, 0x2d, 0x41, 0x26, 0xe3, 0x79, 0xa1, 0x30, 0x0f, 0xb3, 0xc9, 0x3b, 0x1e, 0x9b, 0x4c, 0xc7, - 0x92, 0x0b, 0x6e, 0x35, 0x41, 0x27, 0x6f, 0x09, 0x3a, 0x99, 0x99, 0xf3, 0x63, 0x11, 0x3e, 0xd9, - 0x8c, 0xf0, 0xc9, 0xec, 0x9c, 0x69, 0xc6, 0x10, 0xca, 0x3b, 0x1e, 0xa1, 0xcc, 0xcd, 0x19, 0xf1, - 0x04, 0xa3, 0xbc, 0x1f, 0x65, 0x94, 0x9c, 0x0d, 0x5e, 0x89, 0xb5, 0x8e, 0xa5, 0x94, 0x3f, 0x0c, - 0x51, 0xca, 0x42, 0x2c, 0x9f, 0xe3, 0x4e, 0x66, 0x70, 0xca, 0x66, 0x84, 0x53, 0x4a, 0x73, 0x62, - 0x10, 0x43, 0x2a, 0x3f, 0x0a, 0x93, 0x4a, 0x88, 0xe5, 0xa5, 0x62, 0xbd, 0x67, 0xb1, 0xca, 0x0f, - 0x7c, 0x56, 0x59, 0x8c, 0xa5, 0xc5, 0x62, 0x0e, 0x93, 0xb4, 0x72, 0x7f, 0x8a, 0x56, 0x72, 0x1a, - 0x78, 0x2d, 0xd6, 0xc5, 0x1c, 0x5e, 0xb9, 0x3f, 0xc5, 0x2b, 0x4b, 0x73, 0x1c, 0xce, 0x21, 0x96, - 0xbf, 0x9c, 0x4d, 0x2c, 0xe3, 0xa9, 0x9f, 0x18, 0xe6, 0x62, 0xcc, 0x52, 0x89, 0x61, 0x96, 0x9c, - 0xfd, 0xbd, 0x13, 0xeb, 0x7e, 0x61, 0x6a, 0xf9, 0x70, 0x06, 0xb5, 0xac, 0x32, 0xe7, 0xd7, 0x63, - 0x9d, 0x9f, 0x87, 0x5b, 0xde, 0xa0, 0x99, 0x7d, 0x02, 0x4a, 0x28, 0x3a, 0x12, 0xdb, 0x36, 0x6d, - 0xc1, 0x12, 0x79, 0x47, 0xbe, 0x4e, 0xb9, 0x46, 0x00, 0x1b, 0x67, 0xf0, 0x50, 0x96, 0x85, 0x42, - 0x50, 0x21, 0xff, 0x29, 0x19, 0xd8, 0xb2, 0xf4, 0x1c, 0xe6, 0x29, 0x92, 0xe0, 0x29, 0x21, 0x76, - 0x9a, 0x8a, 0xb2, 0xd3, 0x75, 0x28, 0xd2, 0xec, 0x32, 0x41, 0x3c, 0x55, 0xcb, 0x27, 0x9e, 0x37, - 0x61, 0x99, 0xd1, 0x07, 0x0e, 0xb6, 0x22, 0xa5, 0x64, 0x18, 0xd2, 0x56, 0xe8, 0x07, 0xbe, 0xe7, - 0x79, 0x6e, 0x79, 0x0f, 0x2e, 0x84, 0x74, 0xfd, 0xac, 0xc5, 0x59, 0x58, 0xd5, 0xd7, 0xde, 0x16, - 0xe9, 0xeb, 0x2f, 0xc9, 0x20, 0x42, 0x01, 0x63, 0x9d, 0x45, 0x2e, 0x93, 0xff, 0x25, 0x72, 0x99, - 0xfa, 0x8f, 0xc9, 0x65, 0x38, 0x0b, 0xa7, 0xa3, 0x59, 0xf8, 0xbb, 0x64, 0xb0, 0x26, 0x3e, 0x55, - 0xec, 0x99, 0x1a, 0x11, 0x79, 0x91, 0xb5, 0x51, 0x15, 0xd2, 0x43, 0xb3, 0x2f, 0xb2, 0x1f, 0x6d, - 0x52, 0x2d, 0x1f, 0xdb, 0x25, 0x01, 0xdd, 0x7e, 0x4a, 0xcd, 0xb2, 0x08, 0x8b, 0x94, 0x5a, 0x85, - 0xf4, 0x13, 0xc2, 0x91, 0x78, 0x09, 0xd3, 0x26, 0xd5, 0x63, 0x9b, 0x8c, 0xe1, 0xeb, 0x12, 0xe6, - 0x1d, 0x74, 0x17, 0x24, 0x56, 0x94, 0x51, 0x4c, 0xcb, 0x11, 0xa0, 0xf9, 0x66, 0x78, 0xae, 0xbc, - 0xf6, 0xb2, 0x71, 0x40, 0x75, 0xf6, 0x2d, 0x07, 0x17, 0x2c, 0xd1, 0x0a, 0xb1, 0x05, 0x29, 0x42, - 0x5a, 0x2f, 0x82, 0x44, 0x47, 0xef, 0x58, 0x6a, 0x8f, 0x30, 0x04, 0x94, 0x70, 0x20, 0x90, 0x1f, - 0x03, 0x9a, 0xc6, 0x71, 0xd4, 0x86, 0x1c, 0x39, 0x26, 0x86, 0xeb, 0xb0, 0xa4, 0x5d, 0xdc, 0x5a, - 0x9d, 0xc1, 0x08, 0x89, 0xe1, 0x36, 0x6a, 0x34, 0xc8, 0xff, 0xfc, 0x76, 0xbd, 0xca, 0xb5, 0xdf, - 0x35, 0x47, 0xba, 0x4b, 0x46, 0x96, 0x7b, 0x8a, 0x85, 0xbd, 0xfc, 0xc7, 0x14, 0xa5, 0x67, 0x11, - 0x8c, 0x9f, 0x19, 0x5b, 0x6f, 0xcb, 0xa7, 0x42, 0xd4, 0x7c, 0xb1, 0x78, 0xaf, 0x01, 0xf4, 0x55, - 0x47, 0x79, 0xaa, 0x1a, 0x2e, 0xd1, 0x44, 0xd0, 0x43, 0x12, 0x54, 0x87, 0x02, 0xed, 0x8d, 0x1d, - 0xa2, 0x89, 0x5b, 0x82, 0xdf, 0x0f, 0xcd, 0x33, 0xff, 0xfd, 0xe6, 0x19, 0x8d, 0x72, 0x61, 0x22, - 0xca, 0x21, 0xea, 0x24, 0x85, 0xa9, 0x13, 0x1d, 0x9b, 0x65, 0xeb, 0xa6, 0xad, 0xbb, 0xa7, 0x6c, - 0x69, 0xd2, 0xd8, 0xef, 0xcb, 0xbf, 0x49, 0x05, 0x47, 0x2b, 0x60, 0xbf, 0xff, 0x73, 0xb1, 0x93, - 0x7f, 0xcb, 0xee, 0xc4, 0xd1, 0x04, 0x8d, 0x0e, 0x61, 0xd9, 0x3f, 0xd9, 0xca, 0x98, 0x9d, 0x78, - 0x6f, 0xaf, 0x2e, 0x0a, 0x0d, 0xd5, 0xe3, 0xa8, 0xd8, 0x41, 0x9f, 0xc2, 0xeb, 0x13, 0xb0, 0xe5, - 0xbb, 0x4e, 0x2d, 0x8a, 0x5e, 0xaf, 0x45, 0xd1, 0xcb, 0x73, 0x1d, 0x04, 0x2b, 0xfd, 0x3d, 0x0f, - 0xd4, 0x0e, 0xbd, 0x66, 0x85, 0xf9, 0xc6, 0xcc, 0xe5, 0xbf, 0x02, 0x25, 0x9b, 0xb8, 0xf4, 0xea, - 0x1f, 0xb9, 0xc8, 0x2e, 0x71, 0xa1, 0xb8, 0x1e, 0x1f, 0xc0, 0x6b, 0x33, 0x79, 0x07, 0xfa, 0x7f, - 0x90, 0x02, 0xca, 0x92, 0x8c, 0xb9, 0x13, 0xfa, 0xf7, 0x9c, 0x40, 0x57, 0xfe, 0x73, 0x32, 0x70, - 0x19, 0xbd, 0x39, 0xb5, 0x20, 0x67, 0x13, 0x67, 0x3c, 0xe4, 0x77, 0x99, 0xf2, 0xd6, 0x7b, 0x8b, - 0x31, 0x16, 0x2a, 0x1d, 0x0f, 0x5d, 0x2c, 0x8c, 0xe5, 0xc7, 0x90, 0xe3, 0x12, 0x54, 0x84, 0xfc, - 0xc3, 0xbd, 0x07, 0x7b, 0xfb, 0x9f, 0xec, 0x55, 0x13, 0x08, 0x20, 0xb7, 0xdd, 0x6c, 0xb6, 0x0e, - 0x3a, 0xd5, 0x24, 0x92, 0x20, 0xbb, 0xdd, 0xd8, 0xc7, 0x9d, 0x6a, 0x8a, 0x8a, 0x71, 0xeb, 0xe3, - 0x56, 0xb3, 0x53, 0x4d, 0xa3, 0x65, 0x28, 0xf1, 0xb6, 0x72, 0x7f, 0x1f, 0xff, 0x74, 0xbb, 0x53, - 0xcd, 0x84, 0x44, 0x87, 0xad, 0xbd, 0x7b, 0x2d, 0x5c, 0xcd, 0xca, 0xef, 0xd3, 0xcb, 0x52, 0x0c, - 0xc7, 0x09, 0xae, 0x45, 0xc9, 0xd0, 0xb5, 0x48, 0xfe, 0x7d, 0x0a, 0xea, 0xf1, 0xc4, 0x05, 0x7d, - 0x3c, 0x31, 0xf1, 0xad, 0x73, 0xb0, 0x9e, 0x89, 0xd9, 0xa3, 0xab, 0x50, 0xb6, 0xc9, 0x11, 0x71, - 0x7b, 0x03, 0x4e, 0xa4, 0x78, 0x36, 0x2c, 0xe1, 0x92, 0x90, 0x32, 0x23, 0x87, 0xab, 0x7d, 0x41, - 0x7a, 0xae, 0xc2, 0x61, 0x86, 0x6f, 0x3a, 0x89, 0xaa, 0x51, 0xe9, 0x21, 0x17, 0xca, 0x9f, 0x9f, - 0x2b, 0x96, 0x12, 0x64, 0x71, 0xab, 0x83, 0x3f, 0xad, 0xa6, 0x11, 0x82, 0x32, 0x6b, 0x2a, 0x87, - 0x7b, 0xdb, 0x07, 0x87, 0xed, 0x7d, 0x1a, 0xcb, 0x0b, 0x50, 0xf1, 0x62, 0xe9, 0x09, 0xb3, 0xf2, - 0x5d, 0x78, 0x3d, 0x86, 0x75, 0xcd, 0xb9, 0x1a, 0xca, 0x9f, 0x41, 0x39, 0x5a, 0xc8, 0xa0, 0xc1, - 0xb7, 0xcd, 0xb1, 0xa1, 0xb1, 0x30, 0x66, 0x31, 0xef, 0xa0, 0xdb, 0x90, 0x3d, 0x36, 0xf9, 0x01, - 0x9d, 0xbd, 0x4b, 0x1f, 0x99, 0x2e, 0x09, 0x15, 0x42, 0xb8, 0xb6, 0xfc, 0x0c, 0xb2, 0xec, 0xbc, - 0xd1, 0xb3, 0xc3, 0x4a, 0x12, 0x82, 0x69, 0xd1, 0x36, 0xfa, 0x0c, 0x40, 0x75, 0x5d, 0x5b, 0xef, - 0x8e, 0x03, 0xc7, 0xeb, 0xb3, 0xcf, 0xeb, 0xb6, 0xa7, 0xd7, 0xb8, 0x28, 0x0e, 0xee, 0x4a, 0x60, - 0x1a, 0x3a, 0xbc, 0x21, 0x87, 0xf2, 0x1e, 0x94, 0xa3, 0xb6, 0x1e, 0x37, 0xe0, 0x63, 0x88, 0x72, - 0x03, 0x4e, 0xf5, 0x04, 0x37, 0xf0, 0x99, 0x45, 0x9a, 0x97, 0x9f, 0x58, 0x47, 0x7e, 0x9e, 0x84, - 0x42, 0xe7, 0x44, 0xac, 0x64, 0x4c, 0xe5, 0x23, 0x30, 0x4d, 0x85, 0xef, 0xf9, 0xbc, 0x94, 0x92, - 0xf6, 0x0b, 0x34, 0x1f, 0xf9, 0x7b, 0x35, 0xb3, 0xe8, 0x6d, 0xcb, 0xab, 0x54, 0x89, 0xf3, 0xf9, - 0x21, 0x48, 0x3e, 0xda, 0x52, 0xca, 0xaa, 0x6a, 0x9a, 0x4d, 0x1c, 0x47, 0x9c, 0x18, 0xaf, 0xcb, - 0x0a, 0x69, 0xe6, 0x53, 0x51, 0x49, 0x48, 0x63, 0xde, 0x91, 0x35, 0xa8, 0x4c, 0x40, 0x35, 0xfa, - 0x10, 0xf2, 0xd6, 0xb8, 0xab, 0x78, 0xe1, 0x99, 0x78, 0x8e, 0xf1, 0xc8, 0xd0, 0xb8, 0x3b, 0xd4, - 0x7b, 0x0f, 0xc8, 0xa9, 0x37, 0x18, 0x6b, 0xdc, 0x7d, 0xc0, 0xa3, 0xc8, 0x7f, 0x25, 0x15, 0xfe, - 0x95, 0x63, 0x28, 0x78, 0x9b, 0x02, 0xfd, 0x08, 0x24, 0x3f, 0x0b, 0xf8, 0xf5, 0xd5, 0xd8, 0xf4, - 0x21, 0xdc, 0x07, 0x26, 0x94, 0x59, 0x3b, 0x7a, 0xdf, 0x20, 0x9a, 0x12, 0x90, 0x66, 0xf6, 0x6b, - 0x05, 0x5c, 0xe1, 0x1f, 0x76, 0x3d, 0xc6, 0x2c, 0xff, 0x2b, 0x09, 0x05, 0xaf, 0x8e, 0x86, 0xde, - 0x0f, 0xed, 0xbb, 0xf2, 0x8c, 0xa2, 0x80, 0xa7, 0x18, 0xd4, 0xc2, 0xa2, 0x63, 0x4d, 0x9d, 0x7f, - 0xac, 0x71, 0x45, 0x4d, 0xaf, 0xbc, 0x9c, 0x39, 0x77, 0x79, 0xf9, 0x5d, 0x40, 0xae, 0xe9, 0xaa, - 0x43, 0xe5, 0xd8, 0x74, 0x75, 0xa3, 0xaf, 0xf0, 0x60, 0x73, 0x16, 0x51, 0x65, 0x5f, 0x1e, 0xb1, - 0x0f, 0x07, 0x2c, 0xee, 0xbf, 0x4a, 0x42, 0xc1, 0x4f, 0x07, 0xe7, 0x2d, 0x6d, 0xad, 0x42, 0x4e, - 0x20, 0x1e, 0xaf, 0x6d, 0x89, 0x9e, 0x5f, 0x65, 0xcd, 0x84, 0xaa, 0xac, 0x75, 0x28, 0x8c, 0x88, - 0xab, 0x32, 0x60, 0xe1, 0xf7, 0x16, 0xbf, 0x7f, 0xf3, 0x03, 0x28, 0x86, 0xaa, 0x8c, 0xf4, 0xe4, - 0xed, 0xb5, 0x3e, 0xa9, 0x26, 0xea, 0xf9, 0xe7, 0x5f, 0x5d, 0x4e, 0xef, 0x91, 0xa7, 0x74, 0xcf, - 0xe2, 0x56, 0xb3, 0xdd, 0x6a, 0x3e, 0xa8, 0x26, 0xeb, 0xc5, 0xe7, 0x5f, 0x5d, 0xce, 0x63, 0xc2, - 0x0a, 0x12, 0x37, 0xdb, 0xb0, 0x14, 0x5e, 0x95, 0x28, 0x68, 0x22, 0x28, 0xdf, 0x7b, 0x78, 0xb0, - 0xbb, 0xd3, 0xdc, 0xee, 0xb4, 0x94, 0x47, 0xfb, 0x9d, 0x56, 0x35, 0x89, 0x5e, 0x87, 0x0b, 0xbb, - 0x3b, 0x3f, 0x69, 0x77, 0x94, 0xe6, 0xee, 0x4e, 0x6b, 0xaf, 0xa3, 0x6c, 0x77, 0x3a, 0xdb, 0xcd, - 0x07, 0xd5, 0xd4, 0xd6, 0xef, 0x00, 0x2a, 0xdb, 0x8d, 0xe6, 0x0e, 0x05, 0x7c, 0xbd, 0xa7, 0xb2, - 0x4b, 0x65, 0x13, 0x32, 0xec, 0xda, 0x78, 0xe6, 0xcb, 0x66, 0xfd, 0xec, 0x52, 0x15, 0xba, 0x0f, - 0x59, 0x76, 0xa3, 0x44, 0x67, 0x3f, 0x75, 0xd6, 0xe7, 0xd4, 0xae, 0xe8, 0x60, 0xd8, 0xf1, 0x38, - 0xf3, 0xed, 0xb3, 0x7e, 0x76, 0x29, 0x0b, 0x61, 0x90, 0x02, 0xda, 0x3a, 0xff, 0x2d, 0xb0, 0xbe, - 0x00, 0xd8, 0xa0, 0x5d, 0xc8, 0x7b, 0x97, 0x88, 0x79, 0xaf, 0x93, 0xf5, 0xb9, 0xb5, 0x26, 0x1a, - 0x2e, 0x7e, 0xd9, 0x3b, 0xfb, 0xa9, 0xb5, 0x3e, 0xa7, 0x70, 0x86, 0x76, 0x20, 0x27, 0xa8, 0xd8, - 0x9c, 0x17, 0xc7, 0xfa, 0xbc, 0xda, 0x11, 0x0d, 0x5a, 0x70, 0x8d, 0x9e, 0xff, 0x80, 0x5c, 0x5f, - 0xa0, 0x26, 0x88, 0x1e, 0x02, 0x84, 0xae, 0x76, 0x0b, 0xbc, 0x0c, 0xd7, 0x17, 0xa9, 0xf5, 0xa1, - 0x7d, 0x28, 0xf8, 0x74, 0x7c, 0xee, 0x3b, 0x6d, 0x7d, 0x7e, 0xd1, 0x0d, 0x3d, 0x86, 0x52, 0x94, - 0x86, 0x2e, 0xf6, 0xfa, 0x5a, 0x5f, 0xb0, 0x9a, 0x46, 0xfd, 0x47, 0x39, 0xe9, 0x62, 0xaf, 0xb1, - 0xf5, 0x05, 0x8b, 0x6b, 0xe8, 0x0b, 0x58, 0x9e, 0xe6, 0x8c, 0x8b, 0x3f, 0xce, 0xd6, 0xcf, 0x51, - 0x6e, 0x43, 0x23, 0x40, 0x33, 0xb8, 0xe6, 0x39, 0xde, 0x6a, 0xeb, 0xe7, 0xa9, 0xbe, 0x21, 0x0d, - 0x2a, 0x93, 0x04, 0x6e, 0xd1, 0xb7, 0xdb, 0xfa, 0xc2, 0x95, 0xb8, 0x46, 0xeb, 0xeb, 0x97, 0x6b, - 0xc9, 0x6f, 0x5e, 0xae, 0x25, 0xff, 0xf1, 0x72, 0x2d, 0xf9, 0xe2, 0xd5, 0x5a, 0xe2, 0x9b, 0x57, - 0x6b, 0x89, 0xbf, 0xbd, 0x5a, 0x4b, 0xfc, 0xfc, 0x9d, 0xbe, 0xee, 0x0e, 0xc6, 0xdd, 0x8d, 0x9e, - 0x39, 0xda, 0x0c, 0xff, 0xd5, 0x64, 0xd6, 0xdf, 0x5f, 0xba, 0x39, 0x96, 0xba, 0x6e, 0xfd, 0x3b, - 0x00, 0x00, 0xff, 0xff, 0xeb, 0x38, 0xd3, 0x92, 0x1e, 0x23, 0x00, 0x00, + // 2872 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x5a, 0x4b, 0x77, 0x23, 0xc5, + 0xf5, 0xd7, 0x5b, 0xea, 0x6b, 0xeb, 0xe1, 0x9a, 0x61, 0x46, 0x34, 0x33, 0xf6, 0xd0, 0x73, 0x80, + 0x61, 0x00, 0xfb, 0x8f, 0x39, 0xf0, 0x1f, 0x02, 0x09, 0x58, 0x1a, 0x0d, 0x32, 0x36, 0xb6, 0xd3, + 0xd6, 0x0c, 0x79, 0x31, 0x4d, 0x49, 0x5d, 0x96, 0x9a, 0x91, 0xba, 0x9b, 0xee, 0x96, 0xb1, 0x67, + 0x99, 0xc7, 0x86, 0x6c, 0x58, 0x66, 0xc3, 0x67, 0xc8, 0x36, 0x8b, 0x9c, 0x6c, 0xb2, 0xe1, 0x9c, + 0x6c, 0x58, 0x66, 0x45, 0x72, 0x60, 0x91, 0x93, 0x7c, 0x81, 0xac, 0x72, 0x92, 0x53, 0x8f, 0x7e, + 0x49, 0x6a, 0x49, 0x86, 0xec, 0xb2, 0xab, 0xba, 0x75, 0xef, 0xed, 0xae, 0xea, 0xaa, 0xdf, 0xfd, + 0xdd, 0x5b, 0x0d, 0x4f, 0x79, 0xc4, 0xd4, 0x89, 0x33, 0x32, 0x4c, 0x6f, 0x0b, 0x77, 0x7b, 0xc6, + 0x96, 0x77, 0x6e, 0x13, 0x77, 0xd3, 0x76, 0x2c, 0xcf, 0x42, 0xd5, 0x70, 0x70, 0x93, 0x0e, 0xca, + 0xd7, 0x23, 0xda, 0x3d, 0xe7, 0xdc, 0xf6, 0xac, 0x2d, 0xdb, 0xb1, 0xac, 0x13, 0xae, 0x2f, 0x5f, + 0x8b, 0x0c, 0x33, 0x3f, 0x51, 0x6f, 0xb1, 0x51, 0x61, 0xfc, 0x88, 0x9c, 0xfb, 0xa3, 0xd7, 0xa7, + 0x6c, 0x6d, 0xec, 0xe0, 0x91, 0x3f, 0xbc, 0xd1, 0xb7, 0xac, 0xfe, 0x90, 0x6c, 0xb1, 0x5e, 0x77, + 0x7c, 0xb2, 0xe5, 0x19, 0x23, 0xe2, 0x7a, 0x78, 0x64, 0x0b, 0x85, 0xcb, 0x7d, 0xab, 0x6f, 0xb1, + 0xe6, 0x16, 0x6d, 0x71, 0xa9, 0xf2, 0xb7, 0x12, 0x14, 0x55, 0xf2, 0xf1, 0x98, 0xb8, 0x1e, 0xda, + 0x86, 0x1c, 0xe9, 0x0d, 0xac, 0x7a, 0xfa, 0x46, 0xfa, 0xd6, 0xca, 0xf6, 0xb5, 0xcd, 0x89, 0xc9, + 0x6d, 0x0a, 0xbd, 0x56, 0x6f, 0x60, 0xb5, 0x53, 0x2a, 0xd3, 0x45, 0xaf, 0x42, 0xfe, 0x64, 0x38, + 0x76, 0x07, 0xf5, 0x0c, 0x33, 0xba, 0x9e, 0x64, 0x74, 0x8f, 0x2a, 0xb5, 0x53, 0x2a, 0xd7, 0xa6, + 0x8f, 0x32, 0xcc, 0x13, 0xab, 0x9e, 0x9d, 0xff, 0xa8, 0x5d, 0xf3, 0x84, 0x3d, 0x8a, 0xea, 0xa2, + 0x06, 0x80, 0x4b, 0x3c, 0xcd, 0xb2, 0x3d, 0xc3, 0x32, 0xeb, 0x39, 0x66, 0xf9, 0x74, 0x92, 0xe5, + 0x31, 0xf1, 0x0e, 0x99, 0x62, 0x3b, 0xa5, 0x4a, 0xae, 0xdf, 0xa1, 0x3e, 0x0c, 0xd3, 0xf0, 0xb4, + 0xde, 0x00, 0x1b, 0x66, 0x3d, 0x3f, 0xdf, 0xc7, 0xae, 0x69, 0x78, 0x4d, 0xaa, 0x48, 0x7d, 0x18, + 0x7e, 0x87, 0x4e, 0xf9, 0xe3, 0x31, 0x71, 0xce, 0xeb, 0x85, 0xf9, 0x53, 0xfe, 0x21, 0x55, 0xa2, + 0x53, 0x66, 0xda, 0xa8, 0x05, 0x2b, 0x5d, 0xd2, 0x37, 0x4c, 0xad, 0x3b, 0xb4, 0x7a, 0x8f, 0xea, + 0x45, 0x66, 0xac, 0x24, 0x19, 0x37, 0xa8, 0x6a, 0x83, 0x6a, 0xb6, 0x53, 0x2a, 0x74, 0x83, 0x1e, + 0x7a, 0x13, 0x4a, 0xbd, 0x01, 0xe9, 0x3d, 0xd2, 0xbc, 0xb3, 0x7a, 0x89, 0xf9, 0xd8, 0x48, 0xf2, + 0xd1, 0xa4, 0x7a, 0x9d, 0xb3, 0x76, 0x4a, 0x2d, 0xf6, 0x78, 0x93, 0xce, 0x5f, 0x27, 0x43, 0xe3, + 0x94, 0x38, 0xd4, 0x5e, 0x9a, 0x3f, 0xff, 0xbb, 0x5c, 0x93, 0x79, 0x90, 0x74, 0xbf, 0x83, 0xde, + 0x02, 0x89, 0x98, 0xba, 0x98, 0x06, 0x30, 0x17, 0x37, 0x12, 0xf7, 0x8a, 0xa9, 0xfb, 0x93, 0x28, + 0x11, 0xd1, 0x46, 0x77, 0xa0, 0xd0, 0xb3, 0x46, 0x23, 0xc3, 0xab, 0xaf, 0x30, 0xeb, 0xf5, 0xc4, + 0x09, 0x30, 0xad, 0x76, 0x4a, 0x15, 0xfa, 0xe8, 0x00, 0x2a, 0x43, 0xc3, 0xf5, 0x34, 0xd7, 0xc4, + 0xb6, 0x3b, 0xb0, 0x3c, 0xb7, 0xbe, 0xca, 0x3c, 0x3c, 0x93, 0xe4, 0x61, 0xdf, 0x70, 0xbd, 0x63, + 0x5f, 0xb9, 0x9d, 0x52, 0xcb, 0xc3, 0xa8, 0x80, 0xfa, 0xb3, 0x4e, 0x4e, 0x88, 0x13, 0x38, 0xac, + 0x97, 0xe7, 0xfb, 0x3b, 0xa4, 0xda, 0xbe, 0x3d, 0xf5, 0x67, 0x45, 0x05, 0xe8, 0xa7, 0x70, 0x69, + 0x68, 0x61, 0x3d, 0x70, 0xa7, 0xf5, 0x06, 0x63, 0xf3, 0x51, 0xbd, 0xc2, 0x9c, 0x3e, 0x9f, 0xf8, + 0x92, 0x16, 0xd6, 0x7d, 0x17, 0x4d, 0x6a, 0xd0, 0x4e, 0xa9, 0x6b, 0xc3, 0x49, 0x21, 0x7a, 0x08, + 0x97, 0xb1, 0x6d, 0x0f, 0xcf, 0x27, 0xbd, 0x57, 0x99, 0xf7, 0xdb, 0x49, 0xde, 0x77, 0xa8, 0xcd, + 0xa4, 0x7b, 0x84, 0xa7, 0xa4, 0xa8, 0x03, 0x35, 0xdb, 0x21, 0x36, 0x76, 0x88, 0x66, 0x3b, 0x96, + 0x6d, 0xb9, 0x78, 0x58, 0xaf, 0x31, 0xdf, 0xcf, 0x25, 0xf9, 0x3e, 0xe2, 0xfa, 0x47, 0x42, 0xbd, + 0x9d, 0x52, 0xab, 0x76, 0x5c, 0xd4, 0x28, 0x42, 0xfe, 0x14, 0x0f, 0xc7, 0x44, 0x79, 0x0e, 0x56, + 0x22, 0x00, 0x82, 0xea, 0x50, 0x1c, 0x11, 0xd7, 0xc5, 0x7d, 0xc2, 0xf0, 0x46, 0x52, 0xfd, 0xae, + 0x52, 0x81, 0xd5, 0x28, 0x68, 0x28, 0xa3, 0xc0, 0x90, 0xc2, 0x01, 0x35, 0x3c, 0x25, 0x8e, 0x4b, + 0x31, 0x40, 0x18, 0x8a, 0x2e, 0xba, 0x09, 0x65, 0xb6, 0x29, 0x35, 0x7f, 0x9c, 0x62, 0x52, 0x4e, + 0x5d, 0x65, 0xc2, 0x07, 0x42, 0x69, 0x03, 0x56, 0xec, 0x6d, 0x3b, 0x50, 0xc9, 0x32, 0x15, 0xb0, + 0xb7, 0x6d, 0xa1, 0xa0, 0x7c, 0x0f, 0x6a, 0x93, 0x18, 0x82, 0x6a, 0x90, 0x7d, 0x44, 0xce, 0xc5, + 0xf3, 0x68, 0x13, 0x5d, 0x16, 0xd3, 0x62, 0xcf, 0x90, 0x54, 0x31, 0xc7, 0x3f, 0x65, 0x02, 0xe3, + 0x00, 0x3c, 0xd0, 0x1d, 0xc8, 0x51, 0x2c, 0x16, 0xb0, 0x2a, 0x6f, 0x72, 0xa0, 0xde, 0xf4, 0x81, + 0x7a, 0xb3, 0xe3, 0x03, 0x75, 0xa3, 0xf4, 0xc5, 0x57, 0x1b, 0xa9, 0xcf, 0xfe, 0xb2, 0x91, 0x56, + 0x99, 0x05, 0x7a, 0x92, 0x9e, 0x75, 0x6c, 0x98, 0x9a, 0xa1, 0x8b, 0xe7, 0x14, 0x59, 0x7f, 0x57, + 0x47, 0x7b, 0x50, 0xeb, 0x59, 0xa6, 0x4b, 0x4c, 0x77, 0xec, 0x6a, 0x3c, 0x10, 0x08, 0x30, 0x9d, + 0x3e, 0x8b, 0x4d, 0x5f, 0xf1, 0x88, 0xe9, 0xa9, 0xd5, 0x5e, 0x5c, 0x80, 0xee, 0x01, 0x9c, 0xe2, + 0xa1, 0xa1, 0x63, 0xcf, 0x72, 0xdc, 0x7a, 0xee, 0x46, 0x76, 0xa6, 0x9b, 0x07, 0xbe, 0xca, 0x7d, + 0x5b, 0xc7, 0x1e, 0x69, 0xe4, 0xe8, 0xdb, 0xaa, 0x11, 0x4b, 0xf4, 0x2c, 0x54, 0xb1, 0x6d, 0x6b, + 0xae, 0x87, 0x3d, 0xa2, 0x75, 0xcf, 0x3d, 0xe2, 0x32, 0x88, 0x5d, 0x55, 0xcb, 0xd8, 0xb6, 0x8f, + 0xa9, 0xb4, 0x41, 0x85, 0xe8, 0x19, 0xa8, 0x50, 0x38, 0x35, 0xf0, 0x50, 0x1b, 0x10, 0xa3, 0x3f, + 0xf0, 0x18, 0x94, 0x66, 0xd5, 0xb2, 0x90, 0xb6, 0x99, 0x50, 0xd1, 0x83, 0x8d, 0xc0, 0xa0, 0x14, + 0x21, 0xc8, 0xe9, 0xd8, 0xc3, 0x6c, 0x21, 0x57, 0x55, 0xd6, 0xa6, 0x32, 0x1b, 0x7b, 0x03, 0xb1, + 0x3c, 0xac, 0x8d, 0xae, 0x40, 0x41, 0xb8, 0xcd, 0x32, 0xb7, 0xa2, 0x47, 0xbf, 0x99, 0xed, 0x58, + 0xa7, 0x84, 0xc5, 0x8e, 0x92, 0xca, 0x3b, 0xca, 0x2f, 0x33, 0xb0, 0x36, 0x05, 0xba, 0xd4, 0xef, + 0x00, 0xbb, 0x03, 0xff, 0x59, 0xb4, 0x8d, 0x5e, 0xa3, 0x7e, 0xb1, 0x4e, 0x1c, 0x11, 0xec, 0xea, + 0xd1, 0x25, 0xe2, 0x81, 0xbc, 0xcd, 0xc6, 0xc5, 0xd2, 0x08, 0x6d, 0x74, 0x08, 0xb5, 0x21, 0x76, + 0x3d, 0x8d, 0x83, 0x98, 0x16, 0x09, 0x7c, 0xd3, 0xd0, 0xbd, 0x8f, 0x7d, 0xd8, 0xa3, 0x9b, 0x5d, + 0x38, 0xaa, 0x0c, 0x63, 0x52, 0xa4, 0xc2, 0xe5, 0xee, 0xf9, 0x63, 0x6c, 0x7a, 0x86, 0x49, 0xb4, + 0xa9, 0x2f, 0xf7, 0xe4, 0x94, 0xd3, 0xd6, 0xa9, 0xa1, 0x13, 0xb3, 0xe7, 0x7f, 0xb2, 0x4b, 0x81, + 0x71, 0xf0, 0x49, 0x5d, 0x45, 0x85, 0x4a, 0x3c, 0x6c, 0xa0, 0x0a, 0x64, 0xbc, 0x33, 0xb1, 0x00, + 0x19, 0xef, 0x0c, 0xfd, 0x1f, 0xe4, 0xe8, 0x24, 0xd9, 0xe4, 0x2b, 0x33, 0x62, 0xb6, 0xb0, 0xeb, + 0x9c, 0xdb, 0x44, 0x65, 0x9a, 0x8a, 0x12, 0x9c, 0x86, 0x20, 0x94, 0x4c, 0x7a, 0x55, 0x9e, 0x87, + 0xea, 0x44, 0xac, 0x88, 0x7c, 0xbf, 0x74, 0xf4, 0xfb, 0x29, 0x55, 0x28, 0xc7, 0x02, 0x83, 0x72, + 0x05, 0x2e, 0xcf, 0xc2, 0x79, 0x65, 0x10, 0xc8, 0x63, 0x78, 0x8d, 0x5e, 0x85, 0x52, 0x00, 0xf4, + 0xfc, 0x34, 0x4e, 0xaf, 0x95, 0xaf, 0xac, 0x06, 0xaa, 0xf4, 0x18, 0xd2, 0x6d, 0xcd, 0xf6, 0x43, + 0x86, 0xbd, 0x78, 0x11, 0xdb, 0x76, 0x1b, 0xbb, 0x03, 0xe5, 0x43, 0xa8, 0x27, 0x81, 0xf8, 0xc4, + 0x34, 0x72, 0xc1, 0x36, 0xbc, 0x02, 0x85, 0x13, 0xcb, 0x19, 0x61, 0x8f, 0x39, 0x2b, 0xab, 0xa2, + 0x47, 0xb7, 0x27, 0x07, 0xf4, 0x2c, 0x13, 0xf3, 0x8e, 0xa2, 0xc1, 0x93, 0x89, 0x40, 0x4e, 0x4d, + 0x0c, 0x53, 0x27, 0x7c, 0x3d, 0xcb, 0x2a, 0xef, 0x84, 0x8e, 0xf8, 0xcb, 0xf2, 0x0e, 0x7d, 0xac, + 0xcb, 0xe6, 0xca, 0xfc, 0x4b, 0xaa, 0xe8, 0x29, 0x1a, 0x5c, 0x99, 0x8d, 0xe6, 0xe8, 0x3a, 0x00, + 0xc7, 0x53, 0x71, 0xea, 0xb2, 0xb7, 0x56, 0x55, 0x89, 0x49, 0xee, 0xd2, 0xa3, 0xf7, 0x2c, 0x54, + 0xc3, 0x61, 0xcd, 0x35, 0x1e, 0xf3, 0xad, 0x91, 0x55, 0xcb, 0x81, 0xce, 0xb1, 0xf1, 0x98, 0x28, + 0xbf, 0x97, 0xa0, 0xa4, 0x12, 0xd7, 0xa6, 0xa0, 0x83, 0x1a, 0x20, 0x91, 0xb3, 0x1e, 0xe1, 0x1c, + 0x2e, 0x9d, 0xc8, 0x81, 0xb8, 0x76, 0xcb, 0xd7, 0xa4, 0x04, 0x24, 0x30, 0x43, 0xaf, 0x08, 0x9e, + 0x9a, 0x4c, 0x39, 0x85, 0x79, 0x94, 0xa8, 0xbe, 0xe6, 0x13, 0xd5, 0x6c, 0x22, 0xe7, 0xe0, 0x56, + 0x13, 0x4c, 0xf5, 0x15, 0xc1, 0x54, 0x73, 0x0b, 0x1e, 0x16, 0xa3, 0xaa, 0xcd, 0x18, 0x55, 0xcd, + 0x2f, 0x98, 0x66, 0x02, 0x57, 0x6d, 0xc6, 0xb8, 0x6a, 0x61, 0x81, 0x93, 0x04, 0xb2, 0xfa, 0x9a, + 0x4f, 0x56, 0x8b, 0x0b, 0xa6, 0x3d, 0xc1, 0x56, 0xef, 0xc5, 0xd9, 0x2a, 0x67, 0x9a, 0x37, 0x13, + 0xad, 0x13, 0xe9, 0xea, 0xf7, 0x23, 0x74, 0x55, 0x4a, 0xe4, 0x8a, 0xdc, 0xc9, 0x0c, 0xbe, 0xda, + 0x8c, 0xf1, 0x55, 0x58, 0xb0, 0x06, 0x09, 0x84, 0xf5, 0xed, 0x28, 0x61, 0x5d, 0x49, 0xe4, 0xbc, + 0x62, 0xd3, 0xcc, 0x62, 0xac, 0xaf, 0x07, 0x8c, 0x75, 0x35, 0x91, 0x72, 0x8b, 0x39, 0x4c, 0x52, + 0xd6, 0xc3, 0x29, 0xca, 0xca, 0x29, 0xe6, 0xb3, 0x89, 0x2e, 0x16, 0x70, 0xd6, 0xc3, 0x29, 0xce, + 0x5a, 0x59, 0xe0, 0x70, 0x01, 0x69, 0xfd, 0xd9, 0x6c, 0xd2, 0x9a, 0x4c, 0x2b, 0xc5, 0x6b, 0x2e, + 0xc7, 0x5a, 0xb5, 0x04, 0xd6, 0xca, 0x99, 0xe5, 0x0b, 0x89, 0xee, 0x97, 0xa6, 0xad, 0xf7, 0x67, + 0xd0, 0xd6, 0x35, 0xe6, 0xfc, 0x56, 0xa2, 0xf3, 0x8b, 0xf0, 0xd6, 0xe7, 0x29, 0x3d, 0x98, 0xc0, + 0x23, 0x0a, 0xb1, 0xc4, 0x71, 0x2c, 0x47, 0x50, 0x42, 0xde, 0x51, 0x6e, 0x51, 0xc2, 0x12, 0x62, + 0xcf, 0x1c, 0x8e, 0xcb, 0x42, 0x59, 0x04, 0x6f, 0x94, 0xdf, 0xa5, 0x43, 0x5b, 0x16, 0xe3, 0xa3, + 0x64, 0x47, 0x12, 0x64, 0x27, 0x42, 0x7d, 0x33, 0x71, 0xea, 0xbb, 0x01, 0x2b, 0x34, 0x44, 0x4d, + 0xb0, 0x5a, 0x6c, 0xfb, 0xac, 0x16, 0xdd, 0x86, 0x35, 0xc6, 0x41, 0x38, 0x62, 0x8b, 0xb8, 0x94, + 0x63, 0x70, 0x5d, 0xa5, 0x03, 0x7c, 0xcf, 0xf3, 0x00, 0xf5, 0x12, 0x5c, 0x8a, 0xe8, 0x06, 0xa1, + 0x8f, 0x53, 0xb9, 0x5a, 0xa0, 0xbd, 0x23, 0x62, 0xe0, 0x7b, 0xe1, 0x02, 0x85, 0x8c, 0x19, 0x41, + 0xae, 0x67, 0xe9, 0x44, 0x04, 0x26, 0xd6, 0xa6, 0x2c, 0x7a, 0x68, 0xf5, 0x45, 0xf8, 0xa1, 0x4d, + 0xaa, 0x15, 0x80, 0xab, 0xc4, 0xb1, 0x53, 0xf9, 0x63, 0x3a, 0xf4, 0x17, 0x92, 0xe8, 0x59, 0x7c, + 0x37, 0xfd, 0xdf, 0xe1, 0xbb, 0x99, 0x6f, 0xcd, 0x77, 0xa3, 0xc4, 0x20, 0x1b, 0x27, 0x06, 0xff, + 0x4c, 0x87, 0x5f, 0x38, 0x60, 0xaf, 0xdf, 0x6e, 0x45, 0xc2, 0x28, 0x9f, 0x67, 0xdf, 0x4b, 0x44, + 0x79, 0x91, 0x93, 0x14, 0xd8, 0x73, 0xe3, 0x39, 0x49, 0x91, 0xc7, 0x7d, 0xd6, 0x41, 0x77, 0x40, + 0x62, 0x25, 0x28, 0xcd, 0xb2, 0x5d, 0x81, 0xe3, 0x4f, 0x45, 0xe7, 0xca, 0x2b, 0x4d, 0x9b, 0x47, + 0x54, 0xe7, 0xd0, 0x76, 0xd5, 0x92, 0x2d, 0x5a, 0x11, 0x02, 0x23, 0xc5, 0x78, 0xf4, 0x35, 0x90, + 0xe8, 0xdb, 0xbb, 0x36, 0xee, 0x11, 0x86, 0xc9, 0x92, 0x1a, 0x0a, 0x94, 0x87, 0x80, 0xa6, 0xa3, + 0x02, 0x6a, 0x43, 0x81, 0x9c, 0x12, 0xd3, 0x73, 0x19, 0x8f, 0x58, 0xd9, 0xbe, 0x32, 0x83, 0xa4, + 0x12, 0xd3, 0x6b, 0xd4, 0xe9, 0x22, 0xff, 0xe3, 0xab, 0x8d, 0x1a, 0xd7, 0x7e, 0xd1, 0x1a, 0x19, + 0x1e, 0x19, 0xd9, 0xde, 0xb9, 0x2a, 0xec, 0x95, 0x5f, 0x64, 0x28, 0x63, 0x8c, 0x45, 0x8c, 0x99, + 0x6b, 0xeb, 0x1f, 0xa0, 0x4c, 0x24, 0x5b, 0x58, 0x6e, 0xbd, 0xd7, 0x01, 0xfa, 0xd8, 0xd5, 0x3e, + 0xc1, 0xa6, 0x47, 0x74, 0xb1, 0xe8, 0x11, 0x09, 0x92, 0xa1, 0x44, 0x7b, 0x63, 0x97, 0xe8, 0x22, + 0x71, 0x09, 0xfa, 0x91, 0x79, 0x16, 0xbf, 0xdb, 0x3c, 0xe3, 0xab, 0x5c, 0x9a, 0x5c, 0xe5, 0x5f, + 0x65, 0xc2, 0x53, 0x12, 0x92, 0xeb, 0xff, 0xbd, 0x75, 0xf8, 0x35, 0xcb, 0xb8, 0xe3, 0xa1, 0x1b, + 0x1d, 0xc3, 0x5a, 0x70, 0x4a, 0xb5, 0x31, 0x3b, 0xbd, 0xfe, 0xbe, 0x5b, 0xf6, 0x98, 0xd7, 0x4e, + 0xe3, 0x62, 0x17, 0xfd, 0x08, 0xae, 0x4e, 0x20, 0x50, 0xe0, 0x3a, 0xb3, 0x24, 0x10, 0x3d, 0x11, + 0x07, 0x22, 0xdf, 0x73, 0xb8, 0x56, 0xd9, 0xef, 0x78, 0x36, 0x76, 0x69, 0x12, 0x17, 0x25, 0x22, + 0x33, 0xbf, 0xfe, 0x4d, 0x28, 0x3b, 0xc4, 0xc3, 0x86, 0xa9, 0xc5, 0xd2, 0xe4, 0x55, 0x2e, 0x14, + 0xc9, 0xf7, 0x11, 0x3c, 0x31, 0x93, 0x90, 0xa0, 0xff, 0x07, 0x29, 0xe4, 0x32, 0xe9, 0x84, 0x8c, + 0x33, 0xc8, 0xa2, 0x42, 0x5d, 0xe5, 0x0f, 0xe9, 0xd0, 0x65, 0x3c, 0x2f, 0x6b, 0x41, 0xc1, 0x21, + 0xee, 0x78, 0xc8, 0x33, 0xa5, 0xca, 0xf6, 0x4b, 0xcb, 0x51, 0x19, 0x2a, 0x1d, 0x0f, 0x3d, 0x55, + 0x18, 0x2b, 0x0f, 0xa1, 0xc0, 0x25, 0x68, 0x05, 0x8a, 0xf7, 0x0f, 0xf6, 0x0e, 0x0e, 0xdf, 0x3f, + 0xa8, 0xa5, 0x10, 0x40, 0x61, 0xa7, 0xd9, 0x6c, 0x1d, 0x75, 0x6a, 0x69, 0x24, 0x41, 0x7e, 0xa7, + 0x71, 0xa8, 0x76, 0x6a, 0x19, 0x2a, 0x56, 0x5b, 0xef, 0xb6, 0x9a, 0x9d, 0x5a, 0x16, 0xad, 0x41, + 0x99, 0xb7, 0xb5, 0x7b, 0x87, 0xea, 0x7b, 0x3b, 0x9d, 0x5a, 0x2e, 0x22, 0x3a, 0x6e, 0x1d, 0xdc, + 0x6d, 0xa9, 0xb5, 0xbc, 0xf2, 0x32, 0x4d, 0xc5, 0x12, 0xc8, 0x4f, 0x98, 0x74, 0xa5, 0x23, 0x49, + 0x97, 0xf2, 0x9b, 0x0c, 0xc8, 0xc9, 0x8c, 0x06, 0xbd, 0x3b, 0x31, 0xf1, 0xed, 0x0b, 0xd0, 0xa1, + 0x89, 0xd9, 0xa3, 0x67, 0xa0, 0xe2, 0x90, 0x13, 0xe2, 0xf5, 0x06, 0x9c, 0x61, 0xf1, 0xc0, 0x56, + 0x56, 0xcb, 0x42, 0xca, 0x8c, 0x5c, 0xae, 0xf6, 0x11, 0xe9, 0x79, 0x1a, 0xcf, 0xff, 0xf8, 0xa6, + 0x93, 0xa8, 0x1a, 0x95, 0x1e, 0x73, 0xa1, 0xf2, 0xe1, 0x85, 0xd6, 0x52, 0x82, 0xbc, 0xda, 0xea, + 0xa8, 0x3f, 0xae, 0x65, 0x11, 0x82, 0x0a, 0x6b, 0x6a, 0xc7, 0x07, 0x3b, 0x47, 0xc7, 0xed, 0x43, + 0xba, 0x96, 0x97, 0xa0, 0xea, 0xaf, 0xa5, 0x2f, 0xcc, 0x2b, 0x77, 0xe0, 0x6a, 0x02, 0x1d, 0x5b, + 0x90, 0x78, 0x2a, 0xff, 0x4e, 0x43, 0x75, 0xe2, 0x68, 0xa1, 0x6d, 0xc8, 0x73, 0x7e, 0x9f, 0x74, + 0x79, 0xc1, 0x90, 0x41, 0x9c, 0x43, 0xae, 0x8a, 0xde, 0x84, 0x12, 0x11, 0x95, 0x91, 0x59, 0x47, + 0x98, 0x57, 0x74, 0xfc, 0xda, 0x89, 0x30, 0x0d, 0x2c, 0xd0, 0x5b, 0x20, 0x05, 0x18, 0x21, 0x92, + 0xca, 0xa7, 0xa7, 0xcd, 0x03, 0x74, 0x11, 0xf6, 0xa1, 0x0d, 0x7a, 0x3d, 0x64, 0x73, 0xb9, 0xe9, + 0xac, 0x42, 0x98, 0x73, 0x05, 0x61, 0xec, 0xeb, 0x2b, 0x4d, 0x58, 0x89, 0xcc, 0x07, 0x3d, 0x05, + 0xd2, 0x08, 0x9f, 0x89, 0x8a, 0x1b, 0xaf, 0x99, 0x94, 0x46, 0xf8, 0x8c, 0x17, 0xdb, 0xae, 0x42, + 0x91, 0x0e, 0xf6, 0xb1, 0x2b, 0xd2, 0xf3, 0xc2, 0x08, 0x9f, 0xbd, 0x83, 0x5d, 0xe5, 0x03, 0xa8, + 0xc4, 0xab, 0x4d, 0x74, 0x0f, 0x3b, 0xd6, 0xd8, 0xd4, 0x99, 0x8f, 0xbc, 0xca, 0x3b, 0xe8, 0x55, + 0xc8, 0x9f, 0x5a, 0x1c, 0xe6, 0x66, 0x1f, 0xf6, 0x07, 0x96, 0x47, 0x22, 0xd5, 0x2a, 0xae, 0xad, + 0x3c, 0x86, 0x3c, 0x83, 0x2d, 0x0a, 0x41, 0xac, 0x6e, 0x24, 0x98, 0x2c, 0x6d, 0xa3, 0x0f, 0x00, + 0xb0, 0xe7, 0x39, 0x46, 0x77, 0x1c, 0x3a, 0xde, 0x98, 0x0d, 0x7b, 0x3b, 0xbe, 0x5e, 0xe3, 0x9a, + 0xc0, 0xbf, 0xcb, 0xa1, 0x69, 0x04, 0x03, 0x23, 0x0e, 0x95, 0x03, 0xa8, 0xc4, 0x6d, 0xa3, 0x15, + 0xdc, 0xd5, 0x19, 0x15, 0xdc, 0x80, 0x2d, 0x05, 0x5c, 0x2b, 0xcb, 0x6b, 0x84, 0xac, 0xa3, 0xfc, + 0x36, 0x0d, 0xa5, 0xce, 0x99, 0x38, 0x10, 0x09, 0xe5, 0xa9, 0xd0, 0x34, 0x13, 0x2d, 0xc6, 0xf0, + 0x7a, 0x57, 0x36, 0xa8, 0xa2, 0xbd, 0x1d, 0x1c, 0xf9, 0xdc, 0xb2, 0xd9, 0xac, 0x5f, 0x4e, 0x14, + 0x07, 0xfd, 0x26, 0x94, 0x2d, 0xc7, 0xe8, 0x1b, 0x26, 0x1e, 0x46, 0x89, 0xf9, 0xaa, 0x2f, 0x64, + 0xfc, 0xf3, 0x0d, 0x90, 0x82, 0xad, 0x47, 0xf3, 0x06, 0xac, 0xeb, 0x0e, 0x71, 0x5d, 0xb1, 0x00, + 0x7e, 0x97, 0x95, 0x44, 0xad, 0x4f, 0x44, 0x4d, 0x28, 0xab, 0xf2, 0x8e, 0xa2, 0x43, 0x75, 0x22, + 0x2a, 0xa2, 0x37, 0xa0, 0x68, 0x8f, 0xbb, 0x9a, 0xbf, 0x86, 0x13, 0x27, 0xcc, 0xe7, 0x90, 0xe3, + 0xee, 0xd0, 0xe8, 0xed, 0x91, 0x73, 0xff, 0x8d, 0xed, 0x71, 0x77, 0x8f, 0x2f, 0x35, 0x7f, 0x4a, + 0x26, 0xfa, 0x94, 0x53, 0x28, 0xf9, 0x3b, 0x07, 0xfd, 0x20, 0x7a, 0x98, 0xfc, 0x42, 0x79, 0x62, + 0xa4, 0x16, 0xee, 0x23, 0x67, 0xe9, 0x36, 0xac, 0xb9, 0x46, 0xdf, 0x24, 0xba, 0x16, 0x66, 0x2e, + 0xec, 0x69, 0x25, 0xb5, 0xca, 0x07, 0xf6, 0xfd, 0xb4, 0x45, 0xf9, 0x57, 0x1a, 0x4a, 0xfe, 0xa9, + 0x46, 0x2f, 0x47, 0x36, 0x67, 0x65, 0x46, 0x79, 0xc7, 0x57, 0x0c, 0xab, 0x9a, 0xf1, 0x77, 0xcd, + 0x5c, 0xfc, 0x5d, 0x93, 0xca, 0xd3, 0xfe, 0x3d, 0x41, 0xee, 0xc2, 0xf7, 0x04, 0x2f, 0x02, 0xf2, + 0x2c, 0x0f, 0x0f, 0xb5, 0x53, 0xcb, 0x33, 0xcc, 0xbe, 0xc6, 0x17, 0x9b, 0x13, 0xb6, 0x1a, 0x1b, + 0x79, 0xc0, 0x06, 0x8e, 0xd8, 0xba, 0xff, 0x3c, 0x0d, 0xa5, 0x20, 0xf4, 0x5e, 0xb4, 0x48, 0x79, + 0x05, 0x0a, 0x22, 0xba, 0xf0, 0x2a, 0xa5, 0xe8, 0x05, 0xf5, 0xf2, 0x5c, 0xa4, 0x5e, 0x2e, 0x43, + 0x69, 0x44, 0x3c, 0xcc, 0x40, 0x9c, 0xef, 0xd1, 0xa0, 0x7f, 0xfb, 0x75, 0x58, 0x89, 0xd4, 0x8b, + 0xe9, 0xf1, 0x3c, 0x68, 0xbd, 0x5f, 0x4b, 0xc9, 0xc5, 0x4f, 0x3f, 0xbf, 0x91, 0x3d, 0x20, 0x9f, + 0xd0, 0x3d, 0xab, 0xb6, 0x9a, 0xed, 0x56, 0x73, 0xaf, 0x96, 0x96, 0x57, 0x3e, 0xfd, 0xfc, 0x46, + 0x51, 0x25, 0xac, 0x2a, 0x74, 0xbb, 0x0d, 0xab, 0xd1, 0xaf, 0x12, 0x0f, 0x50, 0x08, 0x2a, 0x77, + 0xef, 0x1f, 0xed, 0xef, 0x36, 0x77, 0x3a, 0x2d, 0xed, 0xc1, 0x61, 0xa7, 0x55, 0x4b, 0xa3, 0xab, + 0x70, 0x69, 0x7f, 0xf7, 0x9d, 0x76, 0x47, 0x6b, 0xee, 0xef, 0xb6, 0x0e, 0x3a, 0xda, 0x4e, 0xa7, + 0xb3, 0xd3, 0xdc, 0xab, 0x65, 0xb6, 0xff, 0x0e, 0x50, 0xdd, 0x69, 0x34, 0x77, 0x69, 0x70, 0x35, + 0x7a, 0x58, 0x54, 0xdd, 0x72, 0x2c, 0x77, 0x9f, 0x7b, 0xfd, 0x2d, 0xcf, 0x2f, 0x3a, 0xa2, 0x7b, + 0x90, 0x67, 0x69, 0x3d, 0x9a, 0x7f, 0x1f, 0x2e, 0x2f, 0xa8, 0x42, 0xd2, 0x97, 0x61, 0xc7, 0x63, + 0xee, 0x05, 0xb9, 0x3c, 0xbf, 0x28, 0x89, 0x54, 0x90, 0xc2, 0xbc, 0x7c, 0xf1, 0x85, 0xb9, 0xbc, + 0x44, 0xa1, 0x92, 0xfa, 0x0c, 0xb3, 0x8e, 0xc5, 0x17, 0xc8, 0xf2, 0x12, 0x28, 0x87, 0xf6, 0xa1, + 0xe8, 0xe7, 0x73, 0x8b, 0xae, 0xb4, 0xe5, 0x85, 0x45, 0x44, 0xfa, 0x09, 0x78, 0xde, 0x3d, 0xff, + 0x7e, 0x5e, 0x5e, 0x50, 0x11, 0x45, 0xbb, 0x50, 0x10, 0x54, 0x7a, 0xc1, 0x35, 0xb5, 0xbc, 0xa8, + 0x28, 0x48, 0x17, 0x2d, 0x2c, 0x68, 0x2c, 0xfe, 0xeb, 0x40, 0x5e, 0xa2, 0xd8, 0x8b, 0xee, 0x03, + 0x44, 0xb2, 0xec, 0x25, 0x7e, 0x27, 0x90, 0x97, 0x29, 0xe2, 0xa2, 0x43, 0x28, 0x05, 0xd9, 0xd4, + 0xc2, 0xcb, 0x7d, 0x79, 0x71, 0x35, 0x15, 0x3d, 0x84, 0x72, 0x3c, 0x8d, 0x58, 0xee, 0xca, 0x5e, + 0x5e, 0xb2, 0x4c, 0x4a, 0xfd, 0xc7, 0x73, 0x8a, 0xe5, 0xae, 0xf0, 0xe5, 0x25, 0xab, 0xa6, 0xe8, + 0x23, 0x58, 0x9b, 0xe6, 0xfc, 0xcb, 0xdf, 0xe8, 0xcb, 0x17, 0xa8, 0xa3, 0xa2, 0x11, 0xa0, 0x19, + 0xb9, 0xc2, 0x05, 0x2e, 0xf8, 0xe5, 0x8b, 0x94, 0x55, 0x91, 0x0e, 0xd5, 0x49, 0x02, 0xbe, 0xec, + 0x85, 0xbf, 0xbc, 0x74, 0x89, 0xb5, 0xd1, 0xfa, 0xe2, 0xeb, 0xf5, 0xf4, 0x97, 0x5f, 0xaf, 0xa7, + 0xff, 0xfa, 0xf5, 0x7a, 0xfa, 0xb3, 0x6f, 0xd6, 0x53, 0x5f, 0x7e, 0xb3, 0x9e, 0xfa, 0xf3, 0x37, + 0xeb, 0xa9, 0x9f, 0xbc, 0xd0, 0x37, 0xbc, 0xc1, 0xb8, 0xbb, 0xd9, 0xb3, 0x46, 0x5b, 0xd1, 0x7f, + 0x9c, 0x66, 0xfd, 0x77, 0xd5, 0x2d, 0xb0, 0x70, 0xf8, 0xca, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, + 0x7c, 0x3f, 0xc8, 0x2a, 0x97, 0x25, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -4541,7 +4502,9 @@ func (m *Request_PrepareProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) i = encodeVarintTypes(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x7a + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x82 } return len(dAtA) - i, nil } @@ -4740,12 +4703,12 @@ func (m *RequestInitChain) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x12 } - n17, err17 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) - if err17 != nil { - return 0, err17 + n18, err18 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) + if err18 != nil { + return 0, err18 } - i -= n17 - i = encodeVarintTypes(dAtA, i, uint64(n17)) + i -= n18 + i = encodeVarintTypes(dAtA, i, uint64(n18)) i-- dAtA[i] = 0xa return len(dAtA) - i, nil @@ -5535,29 +5498,6 @@ func (m *Response_ApplySnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, er } return len(dAtA) - i, nil } -func (m *Response_PreprocessTxs) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *Response_PreprocessTxs) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - if m.PreprocessTxs != nil { - { - size, err := m.PreprocessTxs.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 - } - return len(dAtA) - i, nil -} func (m *Response_PrepareProposal) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) @@ -5577,7 +5517,7 @@ func (m *Response_PrepareProposal) MarshalToSizedBuffer(dAtA []byte) (int, error i-- dAtA[i] = 0x1 i-- - dAtA[i] = 0x82 + dAtA[i] = 0x8a } return len(dAtA) - i, nil } @@ -6321,20 +6261,20 @@ func (m *ResponseApplySnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, err } } if len(m.RefetchChunks) > 0 { - dAtA41 := make([]byte, len(m.RefetchChunks)*10) - var j40 int + dAtA43 := make([]byte, len(m.RefetchChunks)*10) + var j42 int for _, num := range m.RefetchChunks { for num >= 1<<7 { - dAtA41[j40] = uint8(uint64(num)&0x7f | 0x80) + dAtA43[j42] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j40++ + j42++ } - dAtA41[j40] = uint8(num) - j40++ + dAtA43[j42] = uint8(num) + j42++ } - i -= j40 - copy(dAtA[i:], dAtA41[:j40]) - i = encodeVarintTypes(dAtA, i, uint64(j40)) + i -= j42 + copy(dAtA[i:], dAtA43[:j42]) + i = encodeVarintTypes(dAtA, i, uint64(j42)) i-- dAtA[i] = 0x12 } @@ -6378,50 +6318,6 @@ func (m *ResponsePrepareProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *LastCommitInfo) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ResponsePreprocessTxs) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *ResponsePreprocessTxs) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Messages != nil { - { - size, err := m.Messages.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTypes(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - if len(m.Txs) > 0 { - for iNdEx := len(m.Txs) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Txs[iNdEx]) - copy(dAtA[i:], m.Txs[iNdEx]) - i = encodeVarintTypes(dAtA, i, uint64(len(m.Txs[iNdEx]))) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - func (m *ConsensusParams) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -6857,12 +6753,12 @@ func (m *Evidence) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x28 } - n45, err45 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) - if err45 != nil { - return 0, err45 + n51, err51 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) + if err51 != nil { + return 0, err51 } - i -= n45 - i = encodeVarintTypes(dAtA, i, uint64(n45)) + i -= n51 + i = encodeVarintTypes(dAtA, i, uint64(n51)) i-- dAtA[i] = 0x22 if m.Height != 0 { @@ -7151,7 +7047,7 @@ func (m *Request_PrepareProposal) Size() (n int) { _ = l if m.PrepareProposal != nil { l = m.PrepareProposal.Size() - n += 1 + l + sovTypes(uint64(l)) + n += 2 + l + sovTypes(uint64(l)) } return n } @@ -7627,18 +7523,6 @@ func (m *Response_ApplySnapshotChunk) Size() (n int) { } return n } -func (m *Response_PreprocessTxs) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.PreprocessTxs != nil { - l = m.PreprocessTxs.Size() - n += 2 + l + sovTypes(uint64(l)) - } - return n -} func (m *Response_PrepareProposal) Size() (n int) { if m == nil { return 0 @@ -8014,25 +7898,6 @@ func (m *ResponsePrepareProposal) Size() (n int) { return n } -func (m *LastCommitInfo) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.Txs) > 0 { - for _, b := range m.Txs { - l = len(b) - n += 1 + l + sovTypes(uint64(l)) - } - } - if m.Messages != nil { - l = m.Messages.Size() - n += 1 + l + sovTypes(uint64(l)) - } - return n -} - func (m *ConsensusParams) Size() (n int) { if m == nil { return 0 @@ -8807,7 +8672,7 @@ func (m *Request) Unmarshal(dAtA []byte) error { } m.Value = &Request_ApplySnapshotChunk{v} iNdEx = postIndex - case 15: + case 16: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field PrepareProposal", wireType) } @@ -10625,88 +10490,6 @@ func (m *RequestPrepareProposal) Unmarshal(dAtA []byte) error { } return nil } -func (m *Response) 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: RequestPreprocessTxs: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: RequestPreprocessTxs: 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 - 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 *Response) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -11296,7 +11079,7 @@ func (m *Response) Unmarshal(dAtA []byte) error { } m.Value = &Response_ApplySnapshotChunk{v} iNdEx = postIndex - case 16: + case 17: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field PrepareProposal", wireType) } @@ -13725,124 +13508,6 @@ func (m *ResponsePrepareProposal) Unmarshal(dAtA []byte) error { } return nil } -func (m *LastCommitInfo) 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: ResponsePreprocessTxs: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ResponsePreprocessTxs: 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 Messages", 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.Messages == nil { - m.Messages = &types1.Messages{} - } - if err := m.Messages.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - 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 *ConsensusParams) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/go.mod b/go.mod index 46cf2c1bca..8898eb128c 100644 --- a/go.mod +++ b/go.mod @@ -17,7 +17,7 @@ require ( github.com/go-kit/kit v0.10.0 github.com/go-logfmt/logfmt v0.5.0 github.com/gogo/protobuf v1.3.2 - github.com/golang/protobuf v1.5.2 + github.com/golang/protobuf v1.5.0 github.com/google/orderedcode v0.0.1 github.com/gorilla/websocket v1.4.2 github.com/gtank/merlin v0.1.1 @@ -32,16 +32,14 @@ require ( github.com/rs/cors v1.7.0 github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa github.com/snikch/goodman v0.0.0-20171125024755-10e37e294daa - github.com/spf13/afero v1.8.0 // indirect - github.com/spf13/cobra v1.3.0 - github.com/spf13/viper v1.10.1 + github.com/spf13/cobra v1.1.1 + github.com/spf13/viper v1.7.1 github.com/stretchr/testify v1.7.0 github.com/tendermint/tm-db v0.6.4 - github.com/vektra/mockery/v2 v2.10.0 // indirect - golang.org/x/crypto v0.0.0-20220112180741-5e0467b6c7ce - golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2 - golang.org/x/sys v0.0.0-20220114195835-da31bd327af9 // indirect - google.golang.org/grpc v1.43.0 - google.golang.org/protobuf v1.27.1 - gopkg.in/ini.v1 v1.66.3 // indirect + golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2 + golang.org/x/net v0.0.0-20210903162142-ad29c8ab022f + golang.org/x/sys v0.0.0-20210903071746-97244b99971b // indirect + google.golang.org/genproto v0.0.0-20201119123407-9b1e624d6bc4 // indirect + google.golang.org/grpc v1.37.0 + google.golang.org/protobuf v1.26.0 ) diff --git a/go.sum b/go.sum index 3b54e5a44b..d0e4d62735 100644 --- a/go.sum +++ b/go.sum @@ -3,51 +3,13 @@ cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= -cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= -cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= -cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= -cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= -cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= -cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= -cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= -cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= -cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= -cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= -cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= -cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= -cloud.google.com/go v0.98.0/go.mod h1:ua6Ush4NALrHk5QXDWnjvZHN93OuF0HfuEPq9I1X0cM= -cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/firestore v1.6.1/go.mod h1:asNXNOzBdyVQmEU+ggO8UPodTkEVFW5Qx+rwHnAz+EY= +cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= @@ -57,7 +19,6 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d h1:nalkkPQcITbvhmL4+C4cKA87NW0tfm3Kl9VXRoPywFg= github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d/go.mod h1:URdX5+vg25ts3aCh8H5IFZybJYKWhJHYMTnf+ULtoC4= -github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/DataDog/zstd v1.4.1 h1:3oxKN3wbHibqx897utPC2LTQU4J+IHWWJO+glkAkpFM= github.com/DataDog/zstd v1.4.1/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= @@ -83,15 +44,12 @@ github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuy github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-metrics v0.3.10/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= @@ -102,6 +60,7 @@ github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= +github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= github.com/btcsuite/btcd v0.21.0-beta h1:At9hIZdJW0s9E/fAz28nrz6AmcNlSVucCH796ZteX1M= github.com/btcsuite/btcd v0.21.0-beta/go.mod h1:ZSWyehm27aAuS9bvkATT+Xte3hjHZ+MRgMY/8NJ7K94= @@ -128,48 +87,36 @@ github.com/celestiaorg/rsmt2d v0.3.0/go.mod h1:2Frw4GEYUnVu6Mvlo+CUzuC2/8wn+zLwV github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= +github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= -github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/checkpoint-restore/go-criu/v5 v5.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d89JlCLQIfgVcNsNN0t6T2M= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/cilium/ebpf v0.6.2/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= -github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= -github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211130200136-a8f946100490/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/containerd/console v1.0.2/go.mod h1:ytZPjGgY2oeTkAONYafi2kSj0aYggsf8acV1PGKCbzQ= github.com/containerd/continuity v0.0.0-20190827140505-75bee3e2ccb6 h1:NmTXa/uVnDyp0TY5MKi197+3HWcnYWfnHGyaFthlnGw= github.com/containerd/continuity v0.0.0-20190827140505-75bee3e2ccb6/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= +github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d h1:49RLWk1j44Xu4fjHb6JFYmeUnDORVwHNkDxaQ0ctCVU= github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= @@ -185,6 +132,7 @@ github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de/go.mod h1:KP github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2 h1:tdlZCpZ/P9DhczCTSixgIKmwPv6+wP5DGjqLYw5SUiA= github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= +github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= @@ -199,15 +147,9 @@ github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaB github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= -github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= -github.com/envoyproxy/go-control-plane v0.10.1/go.mod h1:AY7fTTXNdv/aJ2O5jwpxAPOWUZ7hQAEvzN5Pf27BkQQ= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/envoyproxy/protoc-gen-validate v0.6.2/go.mod h1:2t7qjJNvHPx8IjnBOzl9E9/baC+qXE/TeeyBRzgJDws= github.com/facebookgo/ensure v0.0.0-20160127193407-b4ab57deab51 h1:0JZ+dUmQeA8IIVUMzysrX4/AKuQwWhV2dYQuPZdvdSQ= github.com/facebookgo/ensure v0.0.0-20160127193407-b4ab57deab51/go.mod h1:Yg+htXGokKKdzcwhuNDwVvN+uBxDGXJ7G/VN1d8fa64= github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 h1:JWuenKqqX8nojtoVVWjGfOF9635RETekkoH6Cc9SX0A= @@ -215,21 +157,16 @@ github.com/facebookgo/stack v0.0.0-20160209184415-751773369052/go.mod h1:UbMTZqL github.com/facebookgo/subset v0.0.0-20150612182917-8dac2c3c4870 h1:E2s37DuLxFhQDg5gKsWoLBOB0n+ZW8s599zru8FJ2/Y= github.com/facebookgo/subset v0.0.0-20150612182917-8dac2c3c4870/go.mod h1:5tD+neXqOorC30/tWg0LCSkrqj/AR6gu8yY8/fpw1q0= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= -github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= -github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.10.0 h1:dXFJfIHVvUcpSgDOV+Ne6t7jXri8Tfv2uOLHUZ2XNuo= @@ -250,25 +187,14 @@ github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= -github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= @@ -277,14 +203,11 @@ github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvq github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0 h1:LUVKkCeviFUMKqHa4tXIIij/lbhnMbP7Fn5wKdKkRh4= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.3 h1:fHPg5GQYlCeLIPB9BZqMVR5nR9A+IM5zcgeTdjMYmLA= -github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= @@ -292,47 +215,24 @@ github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5a github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= -github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/orderedcode v0.0.1 h1:UzfcAexk9Vhv8+9pNOgRu41f16lHq725vPwnSeiG/Us= github.com/google/orderedcode v0.0.1/go.mod h1:iVyU4/qPKHY5h/wSd6rZZCDcLJNxiWO6dvsYES2Sb20= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= -github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= -github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= @@ -342,34 +242,26 @@ github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0U github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gotestyourself/gotestyourself v2.2.0+incompatible h1:AQwinXlbQR2HvPjQZOmDhRqsv5mZf+Jb1RnSLxcqZcI= github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/gtank/merlin v0.1.1-0.20191105220539-8318aed1a79f/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= github.com/gtank/merlin v0.1.1 h1:eQ90iG7K9pOhtereWsmyRJ6RAwcP4tHTDBHXNg+u5is= github.com/gtank/merlin v0.1.1/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= github.com/gtank/ristretto255 v0.1.2 h1:JEqUCPA1NvLq5DwYtuzigd7ss8fwbYay9fi4/5uMzcc= github.com/gtank/ristretto255 v0.1.2/go.mod h1:Ph5OpO6c7xKUGROZfWVLiJf9icMDwUeIvY4OmlYW69o= +github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= -github.com/hashicorp/consul/api v1.11.0/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M= -github.com/hashicorp/consul/api v1.12.0/go.mod h1:6pVBMo0ebnYdt2S3H87XhekM/HHrUoTD2XXb/VrZVy0= +github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= -github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= -github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= -github.com/hashicorp/go-hclog v1.0.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= -github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= -github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= -github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= @@ -378,24 +270,14 @@ github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09 github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= -github.com/hashicorp/mdns v1.0.1/go.mod h1:4gW7WsVCke5TE7EPeYliwHlRUyBtfCwuFwuMg2DmyNY= -github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= -github.com/hashicorp/memberlist v0.2.2/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= -github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= -github.com/hashicorp/serf v0.9.5/go.mod h1:UWDWwZeL5cuWDJdl0C6wrvrUwEqtQ4ZKBKKENpqIUyk= -github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= -github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= @@ -410,12 +292,9 @@ github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlT github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= @@ -425,10 +304,8 @@ github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+o github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= @@ -441,51 +318,35 @@ github.com/libp2p/go-buffer-pool v0.0.2 h1:QNK2iAFa8gjAe1SPz6mHSMuCcjs+X1wlHzeOS github.com/libp2p/go-buffer-pool v0.0.2/go.mod h1:MvaB6xw5vOrDl8rYZGLFdKAuk/hRoRZd1Vi32+RXyFM= github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= -github.com/lyft/protoc-gen-star v0.5.3/go.mod h1:V0xaHgaf5oCCqmcxYcWiDfTiKsZsRc87/1qhoTACD8w= github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls= -github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzRKO2BQ4= +github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= -github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= -github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= -github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= -github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643 h1:hLDRPB66XQT/8+wG9WsDpiCvZf1yKO7sz7scAjSlBa0= github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= github.com/minio/highwayhash v1.0.1 h1:dZ6IIu8Z14VlC0VpfKofAhCy74wu/Qb5gcn52yWoz/0= github.com/minio/highwayhash v1.0.1/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= -github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs= -github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= @@ -500,6 +361,7 @@ github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= +github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= @@ -533,11 +395,9 @@ github.com/ory/dockertest v3.3.5+incompatible h1:iLLK6SQwIhcbrG783Dghaaa3WPzGc+4 github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnhNrne+V0E6LAcBILJdPs= github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= +github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhECwM= -github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 h1:q2e307iGHPdTGp0hoxKjt1H5pDo6utceo3dQVK3I5XQ= github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o= @@ -548,17 +408,14 @@ github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= -github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= -github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= -github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= +github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og= -github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.8.0 h1:zvJNkoCFAnYFNC24FV8nW4JdRJ3GIFcLbg65lL/JDcw= github.com/prometheus/client_golang v1.8.0/go.mod h1:O9VU6huf47PktckDQfMTX0Y8tY0/7TSWwj+ITvv0TnM= @@ -569,37 +426,33 @@ github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1: github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= -github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.14.0 h1:RHRyE8UocrbjU+6UvRzwi6HjiDfxrrBU91TtbKzkGp4= github.com/prometheus/common v0.14.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.2.0 h1:wH4vA7pcjKuZzjF7lM8awk4fnuJO6idemZXoKnULUx4= github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 h1:MkV+77GLUNo5oJ0jf870itWm3D0Sjh7+Za9gazKc5LQ= github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rs/cors v1.7.0 h1:+88SsELBHx5r+hZ8TCkggzSstaWNbDvThkVK8H6f9ik= github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= -github.com/rs/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= -github.com/rs/zerolog v1.26.1 h1:/ihwxqH+4z8UxyI70wM1z9yCvkWcfz/a3mj48k/Zngc= -github.com/rs/zerolog v1.26.1/go.mod h1:/wSSJWX7lVrsOwlbyTRSOJvqRlc+WjWlfes+CiJ+tmc= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/sagikazarmark/crypt v0.3.0/go.mod h1:uD/D+6UF4SrIR1uGEv7bBNkNqLGqUr43MRiaGWX1Nig= -github.com/sagikazarmark/crypt v0.4.0/go.mod h1:ALv2SRj7GxYV4HO9elxH9nS6M9gW+xDNxqmyJ6RfDFM= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa h1:0U2s5loxrTy6/VgfVoLuVLFJcURKLH49ie0zSch7gh4= github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM= @@ -613,7 +466,9 @@ github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrf github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/snikch/goodman v0.0.0-20171125024755-10e37e294daa h1:YJfZp12Z3AFhSBeXOlv4BO55RMwPn2NoQeDsrdWnBtY= github.com/snikch/goodman v0.0.0-20171125024755-10e37e294daa/go.mod h1:oJyF+mSPHbB5mVY2iO9KV3pTt/QbIkGaO8gQ2WrDbP4= @@ -622,29 +477,24 @@ github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJ github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spf13/afero v1.1.2 h1:m8/z1t7/fwjysjQRYbP0RD+bUIF/8tJwPdEZsI83ACI= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= -github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= -github.com/spf13/afero v1.8.0 h1:5MmtuhAgYeU6qpa7w7bP0dv6MBYuup0vekhSpSkoq60= -github.com/spf13/afero v1.8.0/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo= +github.com/spf13/cast v1.3.0 h1:oget//CVOEoFewqQxwr0Ej5yjygnqGkvggSE/gB35Q8= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA= -github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= -github.com/spf13/cobra v1.3.0 h1:R7cSvGu+Vv+qX0gW5R/85dx2kmmJT5z5NM8ifdYjdn0= -github.com/spf13/cobra v1.3.0/go.mod h1:BrRVncBjOJa/eUcVVm9CE+oC6as8k+VYr4NY7WCi9V4= +github.com/spf13/cobra v1.1.1 h1:KfztREH0tPxJJ+geloSLaAkaPkr4ki2Er5quFV1TDo4= +github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI= +github.com/spf13/jwalterweatherman v1.0.0 h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBEu9Gc1vn7yk= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= -github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= -github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= -github.com/spf13/viper v1.10.0/go.mod h1:SoyBPwAtKDzypXNDFKN5kzH7ppppbGZtls1UpIy5AsM= -github.com/spf13/viper v1.10.1 h1:nuJZuYpG7gTj/XqiUwg8bA0cp1+M2mC3J4g5luUYBKk= -github.com/spf13/viper v1.10.1/go.mod h1:IGlFPqhNAPKRxohIzWpI5QEy4kuI7tcl5WvR+8qy1rU= +github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= +github.com/spf13/viper v1.7.1 h1:pM5oEahlgWv/WnHXpgbKz7iLIxRf65tye2Ci+XFK5sk= +github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= @@ -655,7 +505,6 @@ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXf github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= @@ -668,57 +517,41 @@ github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c/go.mod h1:ahpPrc7 github.com/tendermint/tm-db v0.6.4 h1:3N2jlnYQkXNQclQwd/eKV/NzlqPlfK21cpRRIx80XXQ= github.com/tendermint/tm-db v0.6.4/go.mod h1:dptYhIpJ2M5kUuenLr+Yyf3zQOv1SgBZcl8/BmWlMBw= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= +github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -github.com/vektra/mockery/v2 v2.10.0 h1:MiiQWxwdq7/ET6dCXLaJzSGEN17k758H7JHS9kOdiks= -github.com/vektra/mockery/v2 v2.10.0/go.mod h1:m/WO2UzWzqgVX3nvqpRQq70I4Z7jbSCRhdmkgtp+Ab4= github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= github.com/vivint/infectious v0.0.0-20200605153912-25a574ae18a3 h1:zMsHhfK9+Wdl1F7sIKLyx3wrOFofpb3rWFbA4HgcK5k= github.com/vivint/infectious v0.0.0-20200605153912-25a574ae18a3/go.mod h1:R0Gbuw7ElaGSLOZUSwBm/GgVwMd30jWxBDdAyMOeTuc= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= gitlab.com/NebulousLabs/errors v0.0.0-20171229012116-7ead97ef90b8/go.mod h1:ZkMZ0dpQyWwlENaeZVBiQRjhMEZvk6VTXquzl3FOFP8= gitlab.com/NebulousLabs/errors v0.0.0-20200929122200-06c536cf6975 h1:L/ENs/Ar1bFzUeKx6m3XjlmBgIUlykX9dzvp5k9NGxc= gitlab.com/NebulousLabs/errors v0.0.0-20200929122200-06c536cf6975/go.mod h1:ZkMZ0dpQyWwlENaeZVBiQRjhMEZvk6VTXquzl3FOFP8= gitlab.com/NebulousLabs/fastrand v0.0.0-20181126182046-603482d69e40 h1:dizWJqTWjwyD8KGcMOwgrkqu1JIkofYgKkmDeNE7oAs= gitlab.com/NebulousLabs/fastrand v0.0.0-20181126182046-603482d69e40/go.mod h1:rOnSnoRyxMI3fe/7KIbVcsHRGxe30OONv8dEgo+vCfA= +go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.5 h1:XAzx9gjCb0Rxj7EoqcClPD1d5ZBxZJk0jbuoPHenBt0= go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= -go.etcd.io/etcd/api/v3 v3.5.1/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= -go.etcd.io/etcd/client/pkg/v3 v3.5.1/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= -go.etcd.io/etcd/client/v2 v2.305.1/go.mod h1:pMEacxZW7o8pg4CrFE7pquyCJJzZvkvdD2RibOCCCGs= go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= -go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= -go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -727,31 +560,19 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200109152110-61a87790db17/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2 h1:It14KIkyBFYkHkwZ7k45minvA9aorojkyjGk9KJ5B/w= golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20211215165025-cf75a172585e/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= -golang.org/x/crypto v0.0.0-20220112180741-5e0467b6c7ce h1:Roh6XWxHFKrPgC/EQhVubSAGQ6Ozk6IdxHSzt1mR0EI= -golang.org/x/crypto v0.0.0-20220112180741-5e0467b6c7ce/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -761,25 +582,13 @@ golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHl golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= -golang.org/x/mod v0.5.1 h1:OJxoQ/rynoF0dcCdI7cLPktw/hR2cueqYfjm43oqK38= -golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -798,70 +607,27 @@ golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= -golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2 h1:CIJ76btIcR3eFI5EgSo6k1qKw9KJexJuRLI9G7Hp5wE= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210903162142-ad29c8ab022f h1:w6wWR0H+nyVpbSAQbzVEIACVyr/h8l/BEkY6Sokc7Eg= +golang.org/x/net v0.0.0-20210903162142-ad29c8ab022f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20211005180243-6b3c2da341f1/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -873,7 +639,6 @@ golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190130150945-aca44879d564/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -886,89 +651,37 @@ golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201015000850-e3ed0017c211/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211205182925-97ca703d548d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220114195835-da31bd327af9 h1:XfKQ4OlFl8okEOr5UvAqFRVj8pY/4yfcXrddB8qAbU0= -golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210903071746-97244b99971b h1:3Dq0eVHn0uaQJmPO+/aYPI/fRMqdrVDbu7MQcku54gg= +golang.org/x/sys v0.0.0-20210903071746-97244b99971b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -989,54 +702,15 @@ golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgw golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo= -golang.org/x/tools v0.1.8 h1:P1HhGGuLW4aAclzjtmJdf0mJOjVUZUzOTqkAkWL+l6w= -golang.org/x/tools v0.1.8/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1048,42 +722,11 @@ google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= -google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= -google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= -google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= -google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= -google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= -google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= -google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= -google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= -google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= -google.golang.org/api v0.59.0/go.mod h1:sT2boj7M9YJxZzgeZqXogmhfmRWDtPzT31xkieUbuZU= -google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= -google.golang.org/api v0.62.0/go.mod h1:dKmwPCydfsad4qCH08MSdgWjfHOyfpd4VtDGgRFdavw= -google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= @@ -1094,63 +737,9 @@ google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98 google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= -google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= -google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= -google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211008145708-270636b82663/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211028162531-8db9c33dc351/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211129164237-f09f9a12af12/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211203200212-54befc351ae9/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa h1:I0YcKz0I7OAhddo7ya8kMnvprhcWM045PmkBdMO9zN0= -google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20201119123407-9b1e624d6bc4 h1:Rt0FRalMgdSlXAVJvX4pr65KfqaxHXSLkSJRD9pw6g0= +google.golang.org/genproto v0.0.0-20201119123407-9b1e624d6bc4/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= @@ -1163,29 +752,9 @@ google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyac google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= -google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.37.0 h1:uSZWeQJX5j11bIQ4AJoj+McDBo29cY1MCoC1wO3ts+c= google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/grpc v1.43.0 h1:Eeu7bZtDZ2DpRCsLhUlcrLnvYaMK1Gz86a+hMVvELmM= -google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -1197,9 +766,8 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0 h1:bxAC2xTBsZGibn2RTntX0oH50xLsqy1OxA9tTL3p/lk= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= -google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -1210,9 +778,8 @@ gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qS gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= -gopkg.in/ini.v1 v1.66.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.66.3 h1:jRskFVxYaMGAMUbN0UZ7niA9gzL9B49DOqE78vg0k3w= -gopkg.in/ini.v1 v1.66.3/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.51.0 h1:AQvPpx3LzTDM0AjnIRlVFwFFGC+npRopjZxLJj6gdno= +gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= @@ -1220,13 +787,11 @@ gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRN gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= @@ -1238,10 +803,6 @@ honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= diff --git a/proxy/mocks/app_conn_consensus.go b/proxy/mocks/app_conn_consensus.go deleted file mode 100644 index 16314e306c..0000000000 --- a/proxy/mocks/app_conn_consensus.go +++ /dev/null @@ -1,188 +0,0 @@ -// Code generated by mockery 2.7.5. DO NOT EDIT. - -package mocks - -import ( - mock "github.com/stretchr/testify/mock" - abcicli "github.com/tendermint/tendermint/abci/client" - - types "github.com/tendermint/tendermint/abci/types" -) - -// AppConnConsensus is an autogenerated mock type for the AppConnConsensus type -type AppConnConsensus struct { - mock.Mock -} - -// BeginBlockSync provides a mock function with given fields: _a0 -func (_m *AppConnConsensus) BeginBlockSync(_a0 types.RequestBeginBlock) (*types.ResponseBeginBlock, error) { - ret := _m.Called(_a0) - - var r0 *types.ResponseBeginBlock - if rf, ok := ret.Get(0).(func(types.RequestBeginBlock) *types.ResponseBeginBlock); ok { - r0 = rf(_a0) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*types.ResponseBeginBlock) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(types.RequestBeginBlock) error); ok { - r1 = rf(_a0) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// CommitSync provides a mock function with given fields: -func (_m *AppConnConsensus) CommitSync() (*types.ResponseCommit, error) { - ret := _m.Called() - - var r0 *types.ResponseCommit - if rf, ok := ret.Get(0).(func() *types.ResponseCommit); ok { - r0 = rf() - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*types.ResponseCommit) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func() error); ok { - r1 = rf() - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// DeliverTxAsync provides a mock function with given fields: _a0 -func (_m *AppConnConsensus) DeliverTxAsync(_a0 types.RequestDeliverTx) *abcicli.ReqRes { - ret := _m.Called(_a0) - - var r0 *abcicli.ReqRes - if rf, ok := ret.Get(0).(func(types.RequestDeliverTx) *abcicli.ReqRes); ok { - r0 = rf(_a0) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*abcicli.ReqRes) - } - } - - return r0 -} - -// EndBlockSync provides a mock function with given fields: _a0 -func (_m *AppConnConsensus) EndBlockSync(_a0 types.RequestEndBlock) (*types.ResponseEndBlock, error) { - ret := _m.Called(_a0) - - var r0 *types.ResponseEndBlock - if rf, ok := ret.Get(0).(func(types.RequestEndBlock) *types.ResponseEndBlock); ok { - r0 = rf(_a0) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*types.ResponseEndBlock) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(types.RequestEndBlock) error); ok { - r1 = rf(_a0) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// Error provides a mock function with given fields: -func (_m *AppConnConsensus) Error() error { - ret := _m.Called() - - var r0 error - if rf, ok := ret.Get(0).(func() error); ok { - r0 = rf() - } else { - r0 = ret.Error(0) - } - - return r0 -} - -// InitChainSync provides a mock function with given fields: _a0 -func (_m *AppConnConsensus) InitChainSync(_a0 types.RequestInitChain) (*types.ResponseInitChain, error) { - ret := _m.Called(_a0) - - var r0 *types.ResponseInitChain - if rf, ok := ret.Get(0).(func(types.RequestInitChain) *types.ResponseInitChain); ok { - r0 = rf(_a0) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*types.ResponseInitChain) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(types.RequestInitChain) error); ok { - r1 = rf(_a0) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// PreprocessTxsSync provides a mock function with given fields: _a0 -func (_m *AppConnConsensus) PreprocessTxsSync(_a0 types.RequestPreprocessTxs) (*types.ResponsePreprocessTxs, error) { - ret := _m.Called(_a0) - - var r0 *types.ResponsePreprocessTxs - if rf, ok := ret.Get(0).(func(types.RequestPreprocessTxs) *types.ResponsePreprocessTxs); ok { - r0 = rf(_a0) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*types.ResponsePreprocessTxs) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(types.RequestPreprocessTxs) error); ok { - r1 = rf(_a0) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// PrepareProposalSync provides a mock function with given fields: _a0, _a1 -func (_m *AppConnConsensus) PrepareProposalSync(_a0 context.Context, _a1 types.RequestPrepareProposal) (*types.ResponsePrepareProposal, error) { - ret := _m.Called(_a0, _a1) - - var r0 *types.ResponsePrepareProposal - if rf, ok := ret.Get(0).(func(context.Context, types.RequestPrepareProposal) *types.ResponsePrepareProposal); ok { - r0 = rf(_a0, _a1) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*types.ResponsePrepareProposal) - } - } - - var r1 error - if rf, ok := ret.Get(1).(func(context.Context, types.RequestPrepareProposal) error); ok { - r1 = rf(_a0, _a1) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// SetResponseCallback provides a mock function with given fields: _a0 -func (_m *AppConnConsensus) SetResponseCallback(_a0 abcicli.Callback) { - _m.Called(_a0) -} From f291015aa5a85899ef4b378d61a5477aebea5ca4 Mon Sep 17 00:00:00 2001 From: mconcat Date: Sat, 9 Oct 2021 20:14:25 +0900 Subject: [PATCH 04/19] mockery --- evidence/mocks/block_store.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/evidence/mocks/block_store.go b/evidence/mocks/block_store.go index bdf95188fc..ef3346b2a7 100644 --- a/evidence/mocks/block_store.go +++ b/evidence/mocks/block_store.go @@ -1,4 +1,4 @@ -// Code generated by mockery 2.7.5. DO NOT EDIT. +// Code generated by mockery. DO NOT EDIT. package mocks From 9b4699debc6efd5f076e422e2153f1a1448276e3 Mon Sep 17 00:00:00 2001 From: mconcat Date: Sat, 9 Oct 2021 04:33:50 +0900 Subject: [PATCH 05/19] add processproposal proto/boilerplate/logic --- abci/client/client.go | 1 + abci/client/grpc_client.go | 30 +- abci/client/local_client.go | 23 + abci/client/mocks/client.go | 23 + abci/client/socket_client.go | 15 + abci/example/kvstore/persistent_kvstore.go | 12 + abci/types/application.go | 11 + abci/types/messages.go | 11 + abci/types/result.go | 10 + abci/types/types.pb.go | 1165 +++++++++++++++----- consensus/byzantine_test.go | 6 +- consensus/common_test.go | 2 +- consensus/state.go | 44 +- consensus/state_test.go | 24 +- consensus/types/round_state.go | 16 +- proto/tendermint/abci/types.pb.go | 1165 +++++++++++++++----- proto/tendermint/abci/types.proto | 19 + proxy/app_conn.go | 7 + state/execution.go | 16 + test/maverick/consensus/misbehavior.go | 10 +- test/maverick/consensus/state.go | 20 +- 21 files changed, 2083 insertions(+), 547 deletions(-) diff --git a/abci/client/client.go b/abci/client/client.go index dd3c70afd9..59603690fd 100644 --- a/abci/client/client.go +++ b/abci/client/client.go @@ -59,6 +59,7 @@ type Client interface { LoadSnapshotChunkSync(types.RequestLoadSnapshotChunk) (*types.ResponseLoadSnapshotChunk, error) ApplySnapshotChunkSync(types.RequestApplySnapshotChunk) (*types.ResponseApplySnapshotChunk, error) PrepareProposalSync(types.RequestPrepareProposal) (*types.ResponsePrepareProposal, error) + ProcessProposalSync(types.RequestProcessProposal) (*types.ResponseProcessProposal, error) } //---------------------------------------- diff --git a/abci/client/grpc_client.go b/abci/client/grpc_client.go index 1d9265d2fb..dd792b12b9 100644 --- a/abci/client/grpc_client.go +++ b/abci/client/grpc_client.go @@ -6,7 +6,8 @@ import ( "sync" "time" - "golang.org/x/net/context" + "context" + "google.golang.org/grpc" "github.com/tendermint/tendermint/abci/types" @@ -321,6 +322,26 @@ func (cli *grpcClient) PrepareProposalAsync( ) } +func (cli *grpcClient) ProcessProposalAsync( + params types.RequestProcessProposal, +) *ReqRes { + + req := types.ToRequestProcessProposal(params) + res, err := cli.client.ProcessProposal(context.Background(), req.GetProcessProposal(), grpc.WaitForReady(true)) + if err != nil { + return nil + } + + return cli.finishAsyncCall( + req, + &types.Response{ + Value: &types.Response_ProcessProposal{ + ProcessProposal: res, + }, + }, + ) +} + // finishAsyncCall creates a ReqRes for an async call, and immediately populates it // with the response. We don't complete it until it's been ordered via the channel. func (cli *grpcClient) finishAsyncCall(req *types.Request, res *types.Response) *ReqRes { @@ -444,3 +465,10 @@ func (cli *grpcClient) PrepareProposalSync( reqres := cli.PrepareProposalAsync(params) return cli.finishSyncCall(reqres).GetPrepareProposal(), cli.Error() } + +func (cli *grpcClient) ProcessProposalSync( + params types.RequestProcessProposal, +) (*types.ResponseProcessProposal, error) { + reqres := cli.ProcessProposalAsync(params) + return cli.finishSyncCall(reqres).GetProcessProposal(), cli.Error() +} diff --git a/abci/client/local_client.go b/abci/client/local_client.go index abd67d97d0..8d55de8c75 100644 --- a/abci/client/local_client.go +++ b/abci/client/local_client.go @@ -220,6 +220,19 @@ func (app *localClient) PrepareProposalAsync( ) } +func (app *localClient) ProcessProposalAsync( + req types.RequestProcessProposal, +) *ReqRes { + app.mtx.Lock() + defer app.mtx.Unlock() + + res := app.Application.ProcessProposal(req) + return app.callback( + types.ToRequestProcessProposal(req), + types.ToResponseProcessProposal(res), + ) +} + //------------------------------------------------------- func (app *localClient) FlushSync() error { @@ -347,6 +360,16 @@ func (app *localClient) PrepareProposalSync( return &res, nil } +func (app *localClient) ProcessProposalSync( + req types.RequestProcessProposal, +) (*types.ResponseProcessProposal, error) { + app.mtx.Lock() + defer app.mtx.Unlock() + + res := app.Application.ProcessProposal(req) + return &res, nil +} + //------------------------------------------------------- func (app *localClient) callback(req *types.Request, res *types.Response) *ReqRes { diff --git a/abci/client/mocks/client.go b/abci/client/mocks/client.go index 88f5c56574..6240eb9c55 100644 --- a/abci/client/mocks/client.go +++ b/abci/client/mocks/client.go @@ -598,6 +598,29 @@ func (_m *Client) PrepareProposalSync(_a0 types.RequestPrepareProposal) (*types. return r0, r1 } +// ProcessProposalSync provides a mock function with given fields: _a0 +func (_m *Client) ProcessProposalSync(_a0 types.RequestProcessProposal) (*types.ResponseProcessProposal, error) { + ret := _m.Called(_a0) + + var r0 *types.ResponseProcessProposal + if rf, ok := ret.Get(0).(func(types.RequestProcessProposal) *types.ResponseProcessProposal); ok { + r0 = rf(_a0) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*types.ResponseProcessProposal) + } + } + + var r1 error + if rf, ok := ret.Get(1).(func(types.RequestProcessProposal) error); ok { + r1 = rf(_a0) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + // QueryAsync provides a mock function with given fields: _a0 func (_m *Client) QueryAsync(_a0 types.RequestQuery) *abcicli.ReqRes { ret := _m.Called(_a0) diff --git a/abci/client/socket_client.go b/abci/client/socket_client.go index 7ec7978839..0dad1cea6b 100644 --- a/abci/client/socket_client.go +++ b/abci/client/socket_client.go @@ -285,6 +285,12 @@ func (cli *socketClient) PrepareProposalAsync( return cli.queueRequest(types.ToRequestPrepareProposal(req)) } +func (cli *socketClient) ProcessProposalAsync( + req types.RequestProcessProposal, +) *ReqRes { + return cli.queueRequest(types.ToRequestProcessProposal(req)) +} + func (cli *socketClient) FlushSync() error { reqRes := cli.queueRequest(types.ToRequestFlush()) if err := cli.Error(); err != nil { @@ -429,6 +435,15 @@ func (cli *socketClient) PrepareProposalSync( return reqres.Response.GetPrepareProposal(), nil } +func (cli *socketClient) ProcessProposalSync( + req types.RequestProcessProposal, +) (*types.ResponseProcessProposal, error) { + + reqres := cli.queueRequest(types.ToRequestProcessProposal(req)) + + return reqres.Response.GetProcessProposal(), nil +} + //---------------------------------------- func (cli *socketClient) queueRequest(req *types.Request) *ReqRes { diff --git a/abci/example/kvstore/persistent_kvstore.go b/abci/example/kvstore/persistent_kvstore.go index eb5eb0e5cb..e056d7e640 100644 --- a/abci/example/kvstore/persistent_kvstore.go +++ b/abci/example/kvstore/persistent_kvstore.go @@ -175,6 +175,18 @@ func (app *PersistentKVStoreApplication) PrepareProposal( return types.ResponsePrepareProposal{BlockData: req.BlockData} } +func (app *PersistentKVStoreApplication) ProcessProposal( + req types.RequestProcessProposal) types.ResponseProcessProposal { + for _, tx := range req.Txs { + if len(tx) <= 0 { + return types.ResponseProcessProposal{Result: types.ResponseProcessProposal_REJECT} + } + } + return types.ResponseProcessProposal{Result: types.ResponseProcessProposal_ACCEPT} +} + + + //--------------------------------------------- // update validators diff --git a/abci/types/application.go b/abci/types/application.go index ce1aa18f01..6c8fabb228 100644 --- a/abci/types/application.go +++ b/abci/types/application.go @@ -21,6 +21,7 @@ type Application interface { // Consensus Connection InitChain(RequestInitChain) ResponseInitChain // Initialize blockchain w validators/other info from TendermintCore PrepareProposal(RequestPrepareProposal) ResponsePrepareProposal + ProcessProposal(RequestProcessProposal) ResponseProcessProposal BeginBlock(RequestBeginBlock) ResponseBeginBlock // Signals the beginning of a block DeliverTx(RequestDeliverTx) ResponseDeliverTx // Deliver a tx for full processing EndBlock(RequestEndBlock) ResponseEndBlock // Signals the end of a block, returns changes to the validator set @@ -101,6 +102,10 @@ func (BaseApplication) PrepareProposal(req RequestPrepareProposal) ResponsePrepa return ResponsePrepareProposal{} } +func (BaseApplication) ProcessProposal(req RequestProcessProposal) ResponseProcessProposal { + return ResponseProcessProposal{} +} + //------------------------------------------------------- // GRPCApplication is a GRPC wrapper for Application @@ -194,3 +199,9 @@ func (app *GRPCApplication) PrepareProposal( res := app.app.PrepareProposal(*req) return &res, nil } + +func (app *GRPCApplication) ProcessProposal( + ctx context.Context, req *RequestProcessProposal) (*ResponseProcessProposal, error) { + res := app.app.ProcessProposal(*req) + return &res, nil +} diff --git a/abci/types/messages.go b/abci/types/messages.go index 599e8c05f0..13cc7dd2ef 100644 --- a/abci/types/messages.go +++ b/abci/types/messages.go @@ -165,6 +165,11 @@ func ToRequestPrepareProposal(req RequestPrepareProposal) *Request { } } +func ToRequestProcessProposal(req RequestProcessProposal) *Request { + return &Request{ + Value: &Request_ProcessProposal{&req}, + } +} //---------------------------------------- func ToResponseException(errStr string) *Response { @@ -268,3 +273,9 @@ func ToResponsePrepareProposal(res ResponsePrepareProposal) *Response { Value: &Response_PrepareProposal{&res}, } } + +func ToResponseProcessProposal(res ResponseProcessProposal) *Response { + return &Response{ + Value: &Response_ProcessProposal{&res}, + } +} diff --git a/abci/types/result.go b/abci/types/result.go index e8916960f4..4b7c2d24dd 100644 --- a/abci/types/result.go +++ b/abci/types/result.go @@ -41,6 +41,16 @@ func (r ResponseQuery) IsErr() bool { return r.Code != CodeTypeOK } +// IsOK returns true if Code is OK +func (r ResponseProcessProposal) IsOK() bool { + return r.Result <= ResponseProcessProposal_ACCEPT +} + +// IsErr returns true if Code is something other than OK. +func (r ResponseProcessProposal) IsErr() bool { + return r.Result > ResponseProcessProposal_ACCEPT +} + //--------------------------------------------------------------------------- // override JSON marshalling so we emit defaults (ie. disable omitempty) diff --git a/abci/types/types.pb.go b/abci/types/types.pb.go index 7313c47145..139a7e238a 100644 --- a/abci/types/types.pb.go +++ b/abci/types/types.pb.go @@ -120,7 +120,7 @@ func (x ResponseOfferSnapshot_Result) String() string { } func (ResponseOfferSnapshot_Result) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{31, 0} + return fileDescriptor_252557cfdd89a31a, []int{32, 0} } type ResponseApplySnapshotChunk_Result int32 @@ -157,7 +157,35 @@ func (x ResponseApplySnapshotChunk_Result) String() string { } func (ResponseApplySnapshotChunk_Result) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{33, 0} + return fileDescriptor_252557cfdd89a31a, []int{34, 0} +} + +type ResponseProcessProposal_Result int32 + +const ( + ResponseProcessProposal_UNKNOWN ResponseProcessProposal_Result = 0 + ResponseProcessProposal_ACCEPT ResponseProcessProposal_Result = 1 + ResponseProcessProposal_REJECT ResponseProcessProposal_Result = 2 +) + +var ResponseProcessProposal_Result_name = map[int32]string{ + 0: "UNKNOWN", + 1: "ACCEPT", + 2: "REJECT", +} + +var ResponseProcessProposal_Result_value = map[string]int32{ + "UNKNOWN": 0, + "ACCEPT": 1, + "REJECT": 2, +} + +func (x ResponseProcessProposal_Result) String() string { + return proto.EnumName(ResponseProcessProposal_Result_name, int32(x)) +} + +func (ResponseProcessProposal_Result) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_252557cfdd89a31a, []int{36, 0} } type Request struct { @@ -178,6 +206,7 @@ type Request struct { // *Request_LoadSnapshotChunk // *Request_ApplySnapshotChunk // *Request_PrepareProposal + // *Request_ProcessProposal Value isRequest_Value `protobuf_oneof:"value"` } @@ -268,6 +297,9 @@ type Request_ApplySnapshotChunk struct { type Request_PrepareProposal struct { PrepareProposal *RequestPrepareProposal `protobuf:"bytes,16,opt,name=prepare_proposal,json=prepareProposal,proto3,oneof" json:"prepare_proposal,omitempty"` } +type Request_ProcessProposal struct { + ProcessProposal *RequestProcessProposal `protobuf:"bytes,17,opt,name=process_proposal,json=processProposal,proto3,oneof" json:"process_proposal,omitempty"` +} func (*Request_Echo) isRequest_Value() {} func (*Request_Flush) isRequest_Value() {} @@ -285,6 +317,7 @@ func (*Request_OfferSnapshot) isRequest_Value() {} func (*Request_LoadSnapshotChunk) isRequest_Value() {} func (*Request_ApplySnapshotChunk) isRequest_Value() {} func (*Request_PrepareProposal) isRequest_Value() {} +func (*Request_ProcessProposal) isRequest_Value() {} func (m *Request) GetValue() isRequest_Value { if m != nil { @@ -405,6 +438,13 @@ func (m *Request) GetPrepareProposal() *RequestPrepareProposal { return nil } +func (m *Request) GetProcessProposal() *RequestProcessProposal { + if x, ok := m.GetValue().(*Request_ProcessProposal); ok { + return x.ProcessProposal + } + return nil +} + // XXX_OneofWrappers is for the internal use of the proto package. func (*Request) XXX_OneofWrappers() []interface{} { return []interface{}{ @@ -424,6 +464,7 @@ func (*Request) XXX_OneofWrappers() []interface{} { (*Request_LoadSnapshotChunk)(nil), (*Request_ApplySnapshotChunk)(nil), (*Request_PrepareProposal)(nil), + (*Request_ProcessProposal)(nil), } } @@ -1284,6 +1325,58 @@ func (m *RequestPrepareProposal) GetBlockDataSize() int64 { return 0 } +type RequestProcessProposal struct { + Header types1.Header `protobuf:"bytes,1,opt,name=header,proto3" json:"header"` + Txs [][]byte `protobuf:"bytes,2,rep,name=txs,proto3" json:"txs,omitempty"` +} + +func (m *RequestProcessProposal) Reset() { *m = RequestProcessProposal{} } +func (m *RequestProcessProposal) String() string { return proto.CompactTextString(m) } +func (*RequestProcessProposal) ProtoMessage() {} +func (*RequestProcessProposal) Descriptor() ([]byte, []int) { + return fileDescriptor_252557cfdd89a31a, []int{17} +} +func (m *RequestProcessProposal) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RequestProcessProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RequestProcessProposal.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *RequestProcessProposal) XXX_Merge(src proto.Message) { + xxx_messageInfo_RequestProcessProposal.Merge(m, src) +} +func (m *RequestProcessProposal) XXX_Size() int { + return m.Size() +} +func (m *RequestProcessProposal) XXX_DiscardUnknown() { + xxx_messageInfo_RequestProcessProposal.DiscardUnknown(m) +} + +var xxx_messageInfo_RequestProcessProposal proto.InternalMessageInfo + +func (m *RequestProcessProposal) GetHeader() types1.Header { + if m != nil { + return m.Header + } + return types1.Header{} +} + +func (m *RequestProcessProposal) GetTxs() [][]byte { + if m != nil { + return m.Txs + } + return nil +} + type Response struct { // Types that are valid to be assigned to Value: // *Response_Exception @@ -1303,6 +1396,7 @@ type Response struct { // *Response_LoadSnapshotChunk // *Response_ApplySnapshotChunk // *Response_PrepareProposal + // *Response_ProcessProposal Value isResponse_Value `protobuf_oneof:"value"` } @@ -1310,7 +1404,7 @@ func (m *Response) Reset() { *m = Response{} } func (m *Response) String() string { return proto.CompactTextString(m) } func (*Response) ProtoMessage() {} func (*Response) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{17} + return fileDescriptor_252557cfdd89a31a, []int{18} } func (m *Response) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1396,6 +1490,9 @@ type Response_ApplySnapshotChunk struct { type Response_PrepareProposal struct { PrepareProposal *ResponsePrepareProposal `protobuf:"bytes,17,opt,name=prepare_proposal,json=prepareProposal,proto3,oneof" json:"prepare_proposal,omitempty"` } +type Response_ProcessProposal struct { + ProcessProposal *ResponseProcessProposal `protobuf:"bytes,18,opt,name=process_proposal,json=processProposal,proto3,oneof" json:"process_proposal,omitempty"` +} func (*Response_Exception) isResponse_Value() {} func (*Response_Echo) isResponse_Value() {} @@ -1414,6 +1511,7 @@ func (*Response_OfferSnapshot) isResponse_Value() {} func (*Response_LoadSnapshotChunk) isResponse_Value() {} func (*Response_ApplySnapshotChunk) isResponse_Value() {} func (*Response_PrepareProposal) isResponse_Value() {} +func (*Response_ProcessProposal) isResponse_Value() {} func (m *Response) GetValue() isResponse_Value { if m != nil { @@ -1541,6 +1639,13 @@ func (m *Response) GetPrepareProposal() *ResponsePrepareProposal { return nil } +func (m *Response) GetProcessProposal() *ResponseProcessProposal { + if x, ok := m.GetValue().(*Response_ProcessProposal); ok { + return x.ProcessProposal + } + return nil +} + // XXX_OneofWrappers is for the internal use of the proto package. func (*Response) XXX_OneofWrappers() []interface{} { return []interface{}{ @@ -1561,6 +1666,7 @@ func (*Response) XXX_OneofWrappers() []interface{} { (*Response_LoadSnapshotChunk)(nil), (*Response_ApplySnapshotChunk)(nil), (*Response_PrepareProposal)(nil), + (*Response_ProcessProposal)(nil), } } @@ -1573,7 +1679,7 @@ func (m *ResponseException) Reset() { *m = ResponseException{} } func (m *ResponseException) String() string { return proto.CompactTextString(m) } func (*ResponseException) ProtoMessage() {} func (*ResponseException) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{18} + return fileDescriptor_252557cfdd89a31a, []int{19} } func (m *ResponseException) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1617,7 +1723,7 @@ func (m *ResponseEcho) Reset() { *m = ResponseEcho{} } func (m *ResponseEcho) String() string { return proto.CompactTextString(m) } func (*ResponseEcho) ProtoMessage() {} func (*ResponseEcho) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{19} + return fileDescriptor_252557cfdd89a31a, []int{20} } func (m *ResponseEcho) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1660,7 +1766,7 @@ func (m *ResponseFlush) Reset() { *m = ResponseFlush{} } func (m *ResponseFlush) String() string { return proto.CompactTextString(m) } func (*ResponseFlush) ProtoMessage() {} func (*ResponseFlush) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{20} + return fileDescriptor_252557cfdd89a31a, []int{21} } func (m *ResponseFlush) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1701,7 +1807,7 @@ func (m *ResponseInfo) Reset() { *m = ResponseInfo{} } func (m *ResponseInfo) String() string { return proto.CompactTextString(m) } func (*ResponseInfo) ProtoMessage() {} func (*ResponseInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{21} + return fileDescriptor_252557cfdd89a31a, []int{22} } func (m *ResponseInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1777,7 +1883,7 @@ func (m *ResponseSetOption) Reset() { *m = ResponseSetOption{} } func (m *ResponseSetOption) String() string { return proto.CompactTextString(m) } func (*ResponseSetOption) ProtoMessage() {} func (*ResponseSetOption) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{22} + return fileDescriptor_252557cfdd89a31a, []int{23} } func (m *ResponseSetOption) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1837,7 +1943,7 @@ func (m *ResponseInitChain) Reset() { *m = ResponseInitChain{} } func (m *ResponseInitChain) String() string { return proto.CompactTextString(m) } func (*ResponseInitChain) ProtoMessage() {} func (*ResponseInitChain) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{23} + return fileDescriptor_252557cfdd89a31a, []int{24} } func (m *ResponseInitChain) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1904,7 +2010,7 @@ func (m *ResponseQuery) Reset() { *m = ResponseQuery{} } func (m *ResponseQuery) String() string { return proto.CompactTextString(m) } func (*ResponseQuery) ProtoMessage() {} func (*ResponseQuery) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{24} + return fileDescriptor_252557cfdd89a31a, []int{25} } func (m *ResponseQuery) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2004,7 +2110,7 @@ func (m *ResponseBeginBlock) Reset() { *m = ResponseBeginBlock{} } func (m *ResponseBeginBlock) String() string { return proto.CompactTextString(m) } func (*ResponseBeginBlock) ProtoMessage() {} func (*ResponseBeginBlock) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{25} + return fileDescriptor_252557cfdd89a31a, []int{26} } func (m *ResponseBeginBlock) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2055,7 +2161,7 @@ func (m *ResponseCheckTx) Reset() { *m = ResponseCheckTx{} } func (m *ResponseCheckTx) String() string { return proto.CompactTextString(m) } func (*ResponseCheckTx) ProtoMessage() {} func (*ResponseCheckTx) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{26} + return fileDescriptor_252557cfdd89a31a, []int{27} } func (m *ResponseCheckTx) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2155,7 +2261,7 @@ func (m *ResponseDeliverTx) Reset() { *m = ResponseDeliverTx{} } func (m *ResponseDeliverTx) String() string { return proto.CompactTextString(m) } func (*ResponseDeliverTx) ProtoMessage() {} func (*ResponseDeliverTx) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{27} + return fileDescriptor_252557cfdd89a31a, []int{28} } func (m *ResponseDeliverTx) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2250,7 +2356,7 @@ func (m *ResponseEndBlock) Reset() { *m = ResponseEndBlock{} } func (m *ResponseEndBlock) String() string { return proto.CompactTextString(m) } func (*ResponseEndBlock) ProtoMessage() {} func (*ResponseEndBlock) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{28} + return fileDescriptor_252557cfdd89a31a, []int{29} } func (m *ResponseEndBlock) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2310,7 +2416,7 @@ func (m *ResponseCommit) Reset() { *m = ResponseCommit{} } func (m *ResponseCommit) String() string { return proto.CompactTextString(m) } func (*ResponseCommit) ProtoMessage() {} func (*ResponseCommit) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{29} + return fileDescriptor_252557cfdd89a31a, []int{30} } func (m *ResponseCommit) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2361,7 +2467,7 @@ func (m *ResponseListSnapshots) Reset() { *m = ResponseListSnapshots{} } func (m *ResponseListSnapshots) String() string { return proto.CompactTextString(m) } func (*ResponseListSnapshots) ProtoMessage() {} func (*ResponseListSnapshots) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{30} + return fileDescriptor_252557cfdd89a31a, []int{31} } func (m *ResponseListSnapshots) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2405,7 +2511,7 @@ func (m *ResponseOfferSnapshot) Reset() { *m = ResponseOfferSnapshot{} } func (m *ResponseOfferSnapshot) String() string { return proto.CompactTextString(m) } func (*ResponseOfferSnapshot) ProtoMessage() {} func (*ResponseOfferSnapshot) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{31} + return fileDescriptor_252557cfdd89a31a, []int{32} } func (m *ResponseOfferSnapshot) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2449,7 +2555,7 @@ func (m *ResponseLoadSnapshotChunk) Reset() { *m = ResponseLoadSnapshotC func (m *ResponseLoadSnapshotChunk) String() string { return proto.CompactTextString(m) } func (*ResponseLoadSnapshotChunk) ProtoMessage() {} func (*ResponseLoadSnapshotChunk) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{32} + return fileDescriptor_252557cfdd89a31a, []int{33} } func (m *ResponseLoadSnapshotChunk) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2495,7 +2601,7 @@ func (m *ResponseApplySnapshotChunk) Reset() { *m = ResponseApplySnapsho func (m *ResponseApplySnapshotChunk) String() string { return proto.CompactTextString(m) } func (*ResponseApplySnapshotChunk) ProtoMessage() {} func (*ResponseApplySnapshotChunk) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{33} + return fileDescriptor_252557cfdd89a31a, []int{34} } func (m *ResponseApplySnapshotChunk) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2553,7 +2659,7 @@ func (m *ResponsePrepareProposal) Reset() { *m = ResponsePrepareProposal func (m *ResponsePrepareProposal) String() string { return proto.CompactTextString(m) } func (*ResponsePrepareProposal) ProtoMessage() {} func (*ResponsePrepareProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{34} + return fileDescriptor_252557cfdd89a31a, []int{35} } func (m *ResponsePrepareProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2589,6 +2695,58 @@ func (m *ResponsePrepareProposal) GetBlockData() [][]byte { return nil } +type ResponseProcessProposal struct { + Result ResponseProcessProposal_Result `protobuf:"varint,1,opt,name=result,proto3,enum=tendermint.abci.ResponseProcessProposal_Result" json:"result,omitempty"` + Evidence [][]byte `protobuf:"bytes,2,rep,name=evidence,proto3" json:"evidence,omitempty"` +} + +func (m *ResponseProcessProposal) Reset() { *m = ResponseProcessProposal{} } +func (m *ResponseProcessProposal) String() string { return proto.CompactTextString(m) } +func (*ResponseProcessProposal) ProtoMessage() {} +func (*ResponseProcessProposal) Descriptor() ([]byte, []int) { + return fileDescriptor_252557cfdd89a31a, []int{36} +} +func (m *ResponseProcessProposal) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ResponseProcessProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ResponseProcessProposal.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ResponseProcessProposal) XXX_Merge(src proto.Message) { + xxx_messageInfo_ResponseProcessProposal.Merge(m, src) +} +func (m *ResponseProcessProposal) XXX_Size() int { + return m.Size() +} +func (m *ResponseProcessProposal) XXX_DiscardUnknown() { + xxx_messageInfo_ResponseProcessProposal.DiscardUnknown(m) +} + +var xxx_messageInfo_ResponseProcessProposal proto.InternalMessageInfo + +func (m *ResponseProcessProposal) GetResult() ResponseProcessProposal_Result { + if m != nil { + return m.Result + } + return ResponseProcessProposal_UNKNOWN +} + +func (m *ResponseProcessProposal) GetEvidence() [][]byte { + if m != nil { + return m.Evidence + } + return nil +} + // ConsensusParams contains all consensus-relevant parameters // that can be adjusted by the abci app type ConsensusParams struct { @@ -2602,7 +2760,7 @@ func (m *ConsensusParams) Reset() { *m = ConsensusParams{} } func (m *ConsensusParams) String() string { return proto.CompactTextString(m) } func (*ConsensusParams) ProtoMessage() {} func (*ConsensusParams) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{35} + return fileDescriptor_252557cfdd89a31a, []int{37} } func (m *ConsensusParams) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2671,7 +2829,7 @@ func (m *BlockParams) Reset() { *m = BlockParams{} } func (m *BlockParams) String() string { return proto.CompactTextString(m) } func (*BlockParams) ProtoMessage() {} func (*BlockParams) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{36} + return fileDescriptor_252557cfdd89a31a, []int{38} } func (m *BlockParams) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2723,7 +2881,7 @@ func (m *LastCommitInfo) Reset() { *m = LastCommitInfo{} } func (m *LastCommitInfo) String() string { return proto.CompactTextString(m) } func (*LastCommitInfo) ProtoMessage() {} func (*LastCommitInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{37} + return fileDescriptor_252557cfdd89a31a, []int{39} } func (m *LastCommitInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2778,7 +2936,7 @@ func (m *Event) Reset() { *m = Event{} } func (m *Event) String() string { return proto.CompactTextString(m) } func (*Event) ProtoMessage() {} func (*Event) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{38} + return fileDescriptor_252557cfdd89a31a, []int{40} } func (m *Event) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2832,7 +2990,7 @@ func (m *EventAttribute) Reset() { *m = EventAttribute{} } func (m *EventAttribute) String() string { return proto.CompactTextString(m) } func (*EventAttribute) ProtoMessage() {} func (*EventAttribute) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{39} + return fileDescriptor_252557cfdd89a31a, []int{41} } func (m *EventAttribute) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2897,7 +3055,7 @@ func (m *TxResult) Reset() { *m = TxResult{} } func (m *TxResult) String() string { return proto.CompactTextString(m) } func (*TxResult) ProtoMessage() {} func (*TxResult) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{40} + return fileDescriptor_252557cfdd89a31a, []int{42} } func (m *TxResult) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2972,7 +3130,7 @@ func (m *Validator) Reset() { *m = Validator{} } func (m *Validator) String() string { return proto.CompactTextString(m) } func (*Validator) ProtoMessage() {} func (*Validator) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{41} + return fileDescriptor_252557cfdd89a31a, []int{43} } func (m *Validator) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3025,7 +3183,7 @@ func (m *ValidatorUpdate) Reset() { *m = ValidatorUpdate{} } func (m *ValidatorUpdate) String() string { return proto.CompactTextString(m) } func (*ValidatorUpdate) ProtoMessage() {} func (*ValidatorUpdate) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{42} + return fileDescriptor_252557cfdd89a31a, []int{44} } func (m *ValidatorUpdate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3078,7 +3236,7 @@ func (m *VoteInfo) Reset() { *m = VoteInfo{} } func (m *VoteInfo) String() string { return proto.CompactTextString(m) } func (*VoteInfo) ProtoMessage() {} func (*VoteInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{43} + return fileDescriptor_252557cfdd89a31a, []int{45} } func (m *VoteInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3139,7 +3297,7 @@ func (m *Evidence) Reset() { *m = Evidence{} } func (m *Evidence) String() string { return proto.CompactTextString(m) } func (*Evidence) ProtoMessage() {} func (*Evidence) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{44} + return fileDescriptor_252557cfdd89a31a, []int{46} } func (m *Evidence) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3215,7 +3373,7 @@ func (m *Snapshot) Reset() { *m = Snapshot{} } func (m *Snapshot) String() string { return proto.CompactTextString(m) } func (*Snapshot) ProtoMessage() {} func (*Snapshot) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{45} + return fileDescriptor_252557cfdd89a31a, []int{47} } func (m *Snapshot) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3284,6 +3442,7 @@ func init() { proto.RegisterEnum("tendermint.abci.EvidenceType", EvidenceType_name, EvidenceType_value) proto.RegisterEnum("tendermint.abci.ResponseOfferSnapshot_Result", ResponseOfferSnapshot_Result_name, ResponseOfferSnapshot_Result_value) proto.RegisterEnum("tendermint.abci.ResponseApplySnapshotChunk_Result", ResponseApplySnapshotChunk_Result_name, ResponseApplySnapshotChunk_Result_value) + proto.RegisterEnum("tendermint.abci.ResponseProcessProposal_Result", ResponseProcessProposal_Result_name, ResponseProcessProposal_Result_value) proto.RegisterType((*Request)(nil), "tendermint.abci.Request") proto.RegisterType((*RequestEcho)(nil), "tendermint.abci.RequestEcho") proto.RegisterType((*RequestFlush)(nil), "tendermint.abci.RequestFlush") @@ -3301,6 +3460,7 @@ func init() { proto.RegisterType((*RequestLoadSnapshotChunk)(nil), "tendermint.abci.RequestLoadSnapshotChunk") proto.RegisterType((*RequestApplySnapshotChunk)(nil), "tendermint.abci.RequestApplySnapshotChunk") proto.RegisterType((*RequestPrepareProposal)(nil), "tendermint.abci.RequestPrepareProposal") + proto.RegisterType((*RequestProcessProposal)(nil), "tendermint.abci.RequestProcessProposal") proto.RegisterType((*Response)(nil), "tendermint.abci.Response") proto.RegisterType((*ResponseException)(nil), "tendermint.abci.ResponseException") proto.RegisterType((*ResponseEcho)(nil), "tendermint.abci.ResponseEcho") @@ -3319,6 +3479,7 @@ func init() { proto.RegisterType((*ResponseLoadSnapshotChunk)(nil), "tendermint.abci.ResponseLoadSnapshotChunk") proto.RegisterType((*ResponseApplySnapshotChunk)(nil), "tendermint.abci.ResponseApplySnapshotChunk") proto.RegisterType((*ResponsePrepareProposal)(nil), "tendermint.abci.ResponsePrepareProposal") + proto.RegisterType((*ResponseProcessProposal)(nil), "tendermint.abci.ResponseProcessProposal") proto.RegisterType((*ConsensusParams)(nil), "tendermint.abci.ConsensusParams") proto.RegisterType((*BlockParams)(nil), "tendermint.abci.BlockParams") proto.RegisterType((*LastCommitInfo)(nil), "tendermint.abci.LastCommitInfo") @@ -3335,187 +3496,193 @@ func init() { func init() { proto.RegisterFile("tendermint/abci/types.proto", fileDescriptor_252557cfdd89a31a) } var fileDescriptor_252557cfdd89a31a = []byte{ - // 2872 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x5a, 0x4b, 0x77, 0x23, 0xc5, - 0xf5, 0xd7, 0x5b, 0xea, 0x6b, 0xeb, 0xe1, 0x9a, 0x61, 0x46, 0x34, 0x33, 0xf6, 0xd0, 0x73, 0x80, - 0x61, 0x00, 0xfb, 0x8f, 0x39, 0xf0, 0x1f, 0x02, 0x09, 0x58, 0x1a, 0x0d, 0x32, 0x36, 0xb6, 0xd3, - 0xd6, 0x0c, 0x79, 0x31, 0x4d, 0x49, 0x5d, 0x96, 0x9a, 0x91, 0xba, 0x9b, 0xee, 0x96, 0xb1, 0x67, - 0x99, 0xc7, 0x86, 0x6c, 0x58, 0x66, 0xc3, 0x67, 0xc8, 0x36, 0x8b, 0x9c, 0x6c, 0xb2, 0xe1, 0x9c, - 0x6c, 0x58, 0x66, 0x45, 0x72, 0x60, 0x91, 0x93, 0x7c, 0x81, 0xac, 0x72, 0x92, 0x53, 0x8f, 0x7e, - 0x49, 0x6a, 0x49, 0x86, 0xec, 0xb2, 0xab, 0xba, 0x75, 0xef, 0xed, 0xae, 0xea, 0xaa, 0xdf, 0xfd, - 0xdd, 0x5b, 0x0d, 0x4f, 0x79, 0xc4, 0xd4, 0x89, 0x33, 0x32, 0x4c, 0x6f, 0x0b, 0x77, 0x7b, 0xc6, - 0x96, 0x77, 0x6e, 0x13, 0x77, 0xd3, 0x76, 0x2c, 0xcf, 0x42, 0xd5, 0x70, 0x70, 0x93, 0x0e, 0xca, - 0xd7, 0x23, 0xda, 0x3d, 0xe7, 0xdc, 0xf6, 0xac, 0x2d, 0xdb, 0xb1, 0xac, 0x13, 0xae, 0x2f, 0x5f, - 0x8b, 0x0c, 0x33, 0x3f, 0x51, 0x6f, 0xb1, 0x51, 0x61, 0xfc, 0x88, 0x9c, 0xfb, 0xa3, 0xd7, 0xa7, - 0x6c, 0x6d, 0xec, 0xe0, 0x91, 0x3f, 0xbc, 0xd1, 0xb7, 0xac, 0xfe, 0x90, 0x6c, 0xb1, 0x5e, 0x77, - 0x7c, 0xb2, 0xe5, 0x19, 0x23, 0xe2, 0x7a, 0x78, 0x64, 0x0b, 0x85, 0xcb, 0x7d, 0xab, 0x6f, 0xb1, - 0xe6, 0x16, 0x6d, 0x71, 0xa9, 0xf2, 0xb7, 0x12, 0x14, 0x55, 0xf2, 0xf1, 0x98, 0xb8, 0x1e, 0xda, - 0x86, 0x1c, 0xe9, 0x0d, 0xac, 0x7a, 0xfa, 0x46, 0xfa, 0xd6, 0xca, 0xf6, 0xb5, 0xcd, 0x89, 0xc9, - 0x6d, 0x0a, 0xbd, 0x56, 0x6f, 0x60, 0xb5, 0x53, 0x2a, 0xd3, 0x45, 0xaf, 0x42, 0xfe, 0x64, 0x38, - 0x76, 0x07, 0xf5, 0x0c, 0x33, 0xba, 0x9e, 0x64, 0x74, 0x8f, 0x2a, 0xb5, 0x53, 0x2a, 0xd7, 0xa6, - 0x8f, 0x32, 0xcc, 0x13, 0xab, 0x9e, 0x9d, 0xff, 0xa8, 0x5d, 0xf3, 0x84, 0x3d, 0x8a, 0xea, 0xa2, - 0x06, 0x80, 0x4b, 0x3c, 0xcd, 0xb2, 0x3d, 0xc3, 0x32, 0xeb, 0x39, 0x66, 0xf9, 0x74, 0x92, 0xe5, - 0x31, 0xf1, 0x0e, 0x99, 0x62, 0x3b, 0xa5, 0x4a, 0xae, 0xdf, 0xa1, 0x3e, 0x0c, 0xd3, 0xf0, 0xb4, - 0xde, 0x00, 0x1b, 0x66, 0x3d, 0x3f, 0xdf, 0xc7, 0xae, 0x69, 0x78, 0x4d, 0xaa, 0x48, 0x7d, 0x18, - 0x7e, 0x87, 0x4e, 0xf9, 0xe3, 0x31, 0x71, 0xce, 0xeb, 0x85, 0xf9, 0x53, 0xfe, 0x21, 0x55, 0xa2, - 0x53, 0x66, 0xda, 0xa8, 0x05, 0x2b, 0x5d, 0xd2, 0x37, 0x4c, 0xad, 0x3b, 0xb4, 0x7a, 0x8f, 0xea, - 0x45, 0x66, 0xac, 0x24, 0x19, 0x37, 0xa8, 0x6a, 0x83, 0x6a, 0xb6, 0x53, 0x2a, 0x74, 0x83, 0x1e, - 0x7a, 0x13, 0x4a, 0xbd, 0x01, 0xe9, 0x3d, 0xd2, 0xbc, 0xb3, 0x7a, 0x89, 0xf9, 0xd8, 0x48, 0xf2, - 0xd1, 0xa4, 0x7a, 0x9d, 0xb3, 0x76, 0x4a, 0x2d, 0xf6, 0x78, 0x93, 0xce, 0x5f, 0x27, 0x43, 0xe3, - 0x94, 0x38, 0xd4, 0x5e, 0x9a, 0x3f, 0xff, 0xbb, 0x5c, 0x93, 0x79, 0x90, 0x74, 0xbf, 0x83, 0xde, - 0x02, 0x89, 0x98, 0xba, 0x98, 0x06, 0x30, 0x17, 0x37, 0x12, 0xf7, 0x8a, 0xa9, 0xfb, 0x93, 0x28, - 0x11, 0xd1, 0x46, 0x77, 0xa0, 0xd0, 0xb3, 0x46, 0x23, 0xc3, 0xab, 0xaf, 0x30, 0xeb, 0xf5, 0xc4, - 0x09, 0x30, 0xad, 0x76, 0x4a, 0x15, 0xfa, 0xe8, 0x00, 0x2a, 0x43, 0xc3, 0xf5, 0x34, 0xd7, 0xc4, - 0xb6, 0x3b, 0xb0, 0x3c, 0xb7, 0xbe, 0xca, 0x3c, 0x3c, 0x93, 0xe4, 0x61, 0xdf, 0x70, 0xbd, 0x63, - 0x5f, 0xb9, 0x9d, 0x52, 0xcb, 0xc3, 0xa8, 0x80, 0xfa, 0xb3, 0x4e, 0x4e, 0x88, 0x13, 0x38, 0xac, - 0x97, 0xe7, 0xfb, 0x3b, 0xa4, 0xda, 0xbe, 0x3d, 0xf5, 0x67, 0x45, 0x05, 0xe8, 0xa7, 0x70, 0x69, - 0x68, 0x61, 0x3d, 0x70, 0xa7, 0xf5, 0x06, 0x63, 0xf3, 0x51, 0xbd, 0xc2, 0x9c, 0x3e, 0x9f, 0xf8, - 0x92, 0x16, 0xd6, 0x7d, 0x17, 0x4d, 0x6a, 0xd0, 0x4e, 0xa9, 0x6b, 0xc3, 0x49, 0x21, 0x7a, 0x08, - 0x97, 0xb1, 0x6d, 0x0f, 0xcf, 0x27, 0xbd, 0x57, 0x99, 0xf7, 0xdb, 0x49, 0xde, 0x77, 0xa8, 0xcd, - 0xa4, 0x7b, 0x84, 0xa7, 0xa4, 0xa8, 0x03, 0x35, 0xdb, 0x21, 0x36, 0x76, 0x88, 0x66, 0x3b, 0x96, - 0x6d, 0xb9, 0x78, 0x58, 0xaf, 0x31, 0xdf, 0xcf, 0x25, 0xf9, 0x3e, 0xe2, 0xfa, 0x47, 0x42, 0xbd, - 0x9d, 0x52, 0xab, 0x76, 0x5c, 0xd4, 0x28, 0x42, 0xfe, 0x14, 0x0f, 0xc7, 0x44, 0x79, 0x0e, 0x56, - 0x22, 0x00, 0x82, 0xea, 0x50, 0x1c, 0x11, 0xd7, 0xc5, 0x7d, 0xc2, 0xf0, 0x46, 0x52, 0xfd, 0xae, - 0x52, 0x81, 0xd5, 0x28, 0x68, 0x28, 0xa3, 0xc0, 0x90, 0xc2, 0x01, 0x35, 0x3c, 0x25, 0x8e, 0x4b, - 0x31, 0x40, 0x18, 0x8a, 0x2e, 0xba, 0x09, 0x65, 0xb6, 0x29, 0x35, 0x7f, 0x9c, 0x62, 0x52, 0x4e, - 0x5d, 0x65, 0xc2, 0x07, 0x42, 0x69, 0x03, 0x56, 0xec, 0x6d, 0x3b, 0x50, 0xc9, 0x32, 0x15, 0xb0, - 0xb7, 0x6d, 0xa1, 0xa0, 0x7c, 0x0f, 0x6a, 0x93, 0x18, 0x82, 0x6a, 0x90, 0x7d, 0x44, 0xce, 0xc5, - 0xf3, 0x68, 0x13, 0x5d, 0x16, 0xd3, 0x62, 0xcf, 0x90, 0x54, 0x31, 0xc7, 0x3f, 0x65, 0x02, 0xe3, - 0x00, 0x3c, 0xd0, 0x1d, 0xc8, 0x51, 0x2c, 0x16, 0xb0, 0x2a, 0x6f, 0x72, 0xa0, 0xde, 0xf4, 0x81, - 0x7a, 0xb3, 0xe3, 0x03, 0x75, 0xa3, 0xf4, 0xc5, 0x57, 0x1b, 0xa9, 0xcf, 0xfe, 0xb2, 0x91, 0x56, - 0x99, 0x05, 0x7a, 0x92, 0x9e, 0x75, 0x6c, 0x98, 0x9a, 0xa1, 0x8b, 0xe7, 0x14, 0x59, 0x7f, 0x57, - 0x47, 0x7b, 0x50, 0xeb, 0x59, 0xa6, 0x4b, 0x4c, 0x77, 0xec, 0x6a, 0x3c, 0x10, 0x08, 0x30, 0x9d, - 0x3e, 0x8b, 0x4d, 0x5f, 0xf1, 0x88, 0xe9, 0xa9, 0xd5, 0x5e, 0x5c, 0x80, 0xee, 0x01, 0x9c, 0xe2, - 0xa1, 0xa1, 0x63, 0xcf, 0x72, 0xdc, 0x7a, 0xee, 0x46, 0x76, 0xa6, 0x9b, 0x07, 0xbe, 0xca, 0x7d, - 0x5b, 0xc7, 0x1e, 0x69, 0xe4, 0xe8, 0xdb, 0xaa, 0x11, 0x4b, 0xf4, 0x2c, 0x54, 0xb1, 0x6d, 0x6b, - 0xae, 0x87, 0x3d, 0xa2, 0x75, 0xcf, 0x3d, 0xe2, 0x32, 0x88, 0x5d, 0x55, 0xcb, 0xd8, 0xb6, 0x8f, - 0xa9, 0xb4, 0x41, 0x85, 0xe8, 0x19, 0xa8, 0x50, 0x38, 0x35, 0xf0, 0x50, 0x1b, 0x10, 0xa3, 0x3f, - 0xf0, 0x18, 0x94, 0x66, 0xd5, 0xb2, 0x90, 0xb6, 0x99, 0x50, 0xd1, 0x83, 0x8d, 0xc0, 0xa0, 0x14, - 0x21, 0xc8, 0xe9, 0xd8, 0xc3, 0x6c, 0x21, 0x57, 0x55, 0xd6, 0xa6, 0x32, 0x1b, 0x7b, 0x03, 0xb1, - 0x3c, 0xac, 0x8d, 0xae, 0x40, 0x41, 0xb8, 0xcd, 0x32, 0xb7, 0xa2, 0x47, 0xbf, 0x99, 0xed, 0x58, - 0xa7, 0x84, 0xc5, 0x8e, 0x92, 0xca, 0x3b, 0xca, 0x2f, 0x33, 0xb0, 0x36, 0x05, 0xba, 0xd4, 0xef, - 0x00, 0xbb, 0x03, 0xff, 0x59, 0xb4, 0x8d, 0x5e, 0xa3, 0x7e, 0xb1, 0x4e, 0x1c, 0x11, 0xec, 0xea, - 0xd1, 0x25, 0xe2, 0x81, 0xbc, 0xcd, 0xc6, 0xc5, 0xd2, 0x08, 0x6d, 0x74, 0x08, 0xb5, 0x21, 0x76, - 0x3d, 0x8d, 0x83, 0x98, 0x16, 0x09, 0x7c, 0xd3, 0xd0, 0xbd, 0x8f, 0x7d, 0xd8, 0xa3, 0x9b, 0x5d, - 0x38, 0xaa, 0x0c, 0x63, 0x52, 0xa4, 0xc2, 0xe5, 0xee, 0xf9, 0x63, 0x6c, 0x7a, 0x86, 0x49, 0xb4, - 0xa9, 0x2f, 0xf7, 0xe4, 0x94, 0xd3, 0xd6, 0xa9, 0xa1, 0x13, 0xb3, 0xe7, 0x7f, 0xb2, 0x4b, 0x81, - 0x71, 0xf0, 0x49, 0x5d, 0x45, 0x85, 0x4a, 0x3c, 0x6c, 0xa0, 0x0a, 0x64, 0xbc, 0x33, 0xb1, 0x00, - 0x19, 0xef, 0x0c, 0xfd, 0x1f, 0xe4, 0xe8, 0x24, 0xd9, 0xe4, 0x2b, 0x33, 0x62, 0xb6, 0xb0, 0xeb, - 0x9c, 0xdb, 0x44, 0x65, 0x9a, 0x8a, 0x12, 0x9c, 0x86, 0x20, 0x94, 0x4c, 0x7a, 0x55, 0x9e, 0x87, - 0xea, 0x44, 0xac, 0x88, 0x7c, 0xbf, 0x74, 0xf4, 0xfb, 0x29, 0x55, 0x28, 0xc7, 0x02, 0x83, 0x72, - 0x05, 0x2e, 0xcf, 0xc2, 0x79, 0x65, 0x10, 0xc8, 0x63, 0x78, 0x8d, 0x5e, 0x85, 0x52, 0x00, 0xf4, - 0xfc, 0x34, 0x4e, 0xaf, 0x95, 0xaf, 0xac, 0x06, 0xaa, 0xf4, 0x18, 0xd2, 0x6d, 0xcd, 0xf6, 0x43, - 0x86, 0xbd, 0x78, 0x11, 0xdb, 0x76, 0x1b, 0xbb, 0x03, 0xe5, 0x43, 0xa8, 0x27, 0x81, 0xf8, 0xc4, - 0x34, 0x72, 0xc1, 0x36, 0xbc, 0x02, 0x85, 0x13, 0xcb, 0x19, 0x61, 0x8f, 0x39, 0x2b, 0xab, 0xa2, - 0x47, 0xb7, 0x27, 0x07, 0xf4, 0x2c, 0x13, 0xf3, 0x8e, 0xa2, 0xc1, 0x93, 0x89, 0x40, 0x4e, 0x4d, - 0x0c, 0x53, 0x27, 0x7c, 0x3d, 0xcb, 0x2a, 0xef, 0x84, 0x8e, 0xf8, 0xcb, 0xf2, 0x0e, 0x7d, 0xac, - 0xcb, 0xe6, 0xca, 0xfc, 0x4b, 0xaa, 0xe8, 0x29, 0x1a, 0x5c, 0x99, 0x8d, 0xe6, 0xe8, 0x3a, 0x00, - 0xc7, 0x53, 0x71, 0xea, 0xb2, 0xb7, 0x56, 0x55, 0x89, 0x49, 0xee, 0xd2, 0xa3, 0xf7, 0x2c, 0x54, - 0xc3, 0x61, 0xcd, 0x35, 0x1e, 0xf3, 0xad, 0x91, 0x55, 0xcb, 0x81, 0xce, 0xb1, 0xf1, 0x98, 0x28, - 0xbf, 0x97, 0xa0, 0xa4, 0x12, 0xd7, 0xa6, 0xa0, 0x83, 0x1a, 0x20, 0x91, 0xb3, 0x1e, 0xe1, 0x1c, - 0x2e, 0x9d, 0xc8, 0x81, 0xb8, 0x76, 0xcb, 0xd7, 0xa4, 0x04, 0x24, 0x30, 0x43, 0xaf, 0x08, 0x9e, - 0x9a, 0x4c, 0x39, 0x85, 0x79, 0x94, 0xa8, 0xbe, 0xe6, 0x13, 0xd5, 0x6c, 0x22, 0xe7, 0xe0, 0x56, - 0x13, 0x4c, 0xf5, 0x15, 0xc1, 0x54, 0x73, 0x0b, 0x1e, 0x16, 0xa3, 0xaa, 0xcd, 0x18, 0x55, 0xcd, - 0x2f, 0x98, 0x66, 0x02, 0x57, 0x6d, 0xc6, 0xb8, 0x6a, 0x61, 0x81, 0x93, 0x04, 0xb2, 0xfa, 0x9a, - 0x4f, 0x56, 0x8b, 0x0b, 0xa6, 0x3d, 0xc1, 0x56, 0xef, 0xc5, 0xd9, 0x2a, 0x67, 0x9a, 0x37, 0x13, - 0xad, 0x13, 0xe9, 0xea, 0xf7, 0x23, 0x74, 0x55, 0x4a, 0xe4, 0x8a, 0xdc, 0xc9, 0x0c, 0xbe, 0xda, - 0x8c, 0xf1, 0x55, 0x58, 0xb0, 0x06, 0x09, 0x84, 0xf5, 0xed, 0x28, 0x61, 0x5d, 0x49, 0xe4, 0xbc, - 0x62, 0xd3, 0xcc, 0x62, 0xac, 0xaf, 0x07, 0x8c, 0x75, 0x35, 0x91, 0x72, 0x8b, 0x39, 0x4c, 0x52, - 0xd6, 0xc3, 0x29, 0xca, 0xca, 0x29, 0xe6, 0xb3, 0x89, 0x2e, 0x16, 0x70, 0xd6, 0xc3, 0x29, 0xce, - 0x5a, 0x59, 0xe0, 0x70, 0x01, 0x69, 0xfd, 0xd9, 0x6c, 0xd2, 0x9a, 0x4c, 0x2b, 0xc5, 0x6b, 0x2e, - 0xc7, 0x5a, 0xb5, 0x04, 0xd6, 0xca, 0x99, 0xe5, 0x0b, 0x89, 0xee, 0x97, 0xa6, 0xad, 0xf7, 0x67, - 0xd0, 0xd6, 0x35, 0xe6, 0xfc, 0x56, 0xa2, 0xf3, 0x8b, 0xf0, 0xd6, 0xe7, 0x29, 0x3d, 0x98, 0xc0, - 0x23, 0x0a, 0xb1, 0xc4, 0x71, 0x2c, 0x47, 0x50, 0x42, 0xde, 0x51, 0x6e, 0x51, 0xc2, 0x12, 0x62, - 0xcf, 0x1c, 0x8e, 0xcb, 0x42, 0x59, 0x04, 0x6f, 0x94, 0xdf, 0xa5, 0x43, 0x5b, 0x16, 0xe3, 0xa3, - 0x64, 0x47, 0x12, 0x64, 0x27, 0x42, 0x7d, 0x33, 0x71, 0xea, 0xbb, 0x01, 0x2b, 0x34, 0x44, 0x4d, - 0xb0, 0x5a, 0x6c, 0xfb, 0xac, 0x16, 0xdd, 0x86, 0x35, 0xc6, 0x41, 0x38, 0x62, 0x8b, 0xb8, 0x94, - 0x63, 0x70, 0x5d, 0xa5, 0x03, 0x7c, 0xcf, 0xf3, 0x00, 0xf5, 0x12, 0x5c, 0x8a, 0xe8, 0x06, 0xa1, - 0x8f, 0x53, 0xb9, 0x5a, 0xa0, 0xbd, 0x23, 0x62, 0xe0, 0x7b, 0xe1, 0x02, 0x85, 0x8c, 0x19, 0x41, - 0xae, 0x67, 0xe9, 0x44, 0x04, 0x26, 0xd6, 0xa6, 0x2c, 0x7a, 0x68, 0xf5, 0x45, 0xf8, 0xa1, 0x4d, - 0xaa, 0x15, 0x80, 0xab, 0xc4, 0xb1, 0x53, 0xf9, 0x63, 0x3a, 0xf4, 0x17, 0x92, 0xe8, 0x59, 0x7c, - 0x37, 0xfd, 0xdf, 0xe1, 0xbb, 0x99, 0x6f, 0xcd, 0x77, 0xa3, 0xc4, 0x20, 0x1b, 0x27, 0x06, 0xff, - 0x4c, 0x87, 0x5f, 0x38, 0x60, 0xaf, 0xdf, 0x6e, 0x45, 0xc2, 0x28, 0x9f, 0x67, 0xdf, 0x4b, 0x44, - 0x79, 0x91, 0x93, 0x14, 0xd8, 0x73, 0xe3, 0x39, 0x49, 0x91, 0xc7, 0x7d, 0xd6, 0x41, 0x77, 0x40, - 0x62, 0x25, 0x28, 0xcd, 0xb2, 0x5d, 0x81, 0xe3, 0x4f, 0x45, 0xe7, 0xca, 0x2b, 0x4d, 0x9b, 0x47, - 0x54, 0xe7, 0xd0, 0x76, 0xd5, 0x92, 0x2d, 0x5a, 0x11, 0x02, 0x23, 0xc5, 0x78, 0xf4, 0x35, 0x90, - 0xe8, 0xdb, 0xbb, 0x36, 0xee, 0x11, 0x86, 0xc9, 0x92, 0x1a, 0x0a, 0x94, 0x87, 0x80, 0xa6, 0xa3, - 0x02, 0x6a, 0x43, 0x81, 0x9c, 0x12, 0xd3, 0x73, 0x19, 0x8f, 0x58, 0xd9, 0xbe, 0x32, 0x83, 0xa4, - 0x12, 0xd3, 0x6b, 0xd4, 0xe9, 0x22, 0xff, 0xe3, 0xab, 0x8d, 0x1a, 0xd7, 0x7e, 0xd1, 0x1a, 0x19, - 0x1e, 0x19, 0xd9, 0xde, 0xb9, 0x2a, 0xec, 0x95, 0x5f, 0x64, 0x28, 0x63, 0x8c, 0x45, 0x8c, 0x99, - 0x6b, 0xeb, 0x1f, 0xa0, 0x4c, 0x24, 0x5b, 0x58, 0x6e, 0xbd, 0xd7, 0x01, 0xfa, 0xd8, 0xd5, 0x3e, - 0xc1, 0xa6, 0x47, 0x74, 0xb1, 0xe8, 0x11, 0x09, 0x92, 0xa1, 0x44, 0x7b, 0x63, 0x97, 0xe8, 0x22, - 0x71, 0x09, 0xfa, 0x91, 0x79, 0x16, 0xbf, 0xdb, 0x3c, 0xe3, 0xab, 0x5c, 0x9a, 0x5c, 0xe5, 0x5f, - 0x65, 0xc2, 0x53, 0x12, 0x92, 0xeb, 0xff, 0xbd, 0x75, 0xf8, 0x35, 0xcb, 0xb8, 0xe3, 0xa1, 0x1b, - 0x1d, 0xc3, 0x5a, 0x70, 0x4a, 0xb5, 0x31, 0x3b, 0xbd, 0xfe, 0xbe, 0x5b, 0xf6, 0x98, 0xd7, 0x4e, - 0xe3, 0x62, 0x17, 0xfd, 0x08, 0xae, 0x4e, 0x20, 0x50, 0xe0, 0x3a, 0xb3, 0x24, 0x10, 0x3d, 0x11, - 0x07, 0x22, 0xdf, 0x73, 0xb8, 0x56, 0xd9, 0xef, 0x78, 0x36, 0x76, 0x69, 0x12, 0x17, 0x25, 0x22, - 0x33, 0xbf, 0xfe, 0x4d, 0x28, 0x3b, 0xc4, 0xc3, 0x86, 0xa9, 0xc5, 0xd2, 0xe4, 0x55, 0x2e, 0x14, - 0xc9, 0xf7, 0x11, 0x3c, 0x31, 0x93, 0x90, 0xa0, 0xff, 0x07, 0x29, 0xe4, 0x32, 0xe9, 0x84, 0x8c, - 0x33, 0xc8, 0xa2, 0x42, 0x5d, 0xe5, 0x0f, 0xe9, 0xd0, 0x65, 0x3c, 0x2f, 0x6b, 0x41, 0xc1, 0x21, - 0xee, 0x78, 0xc8, 0x33, 0xa5, 0xca, 0xf6, 0x4b, 0xcb, 0x51, 0x19, 0x2a, 0x1d, 0x0f, 0x3d, 0x55, - 0x18, 0x2b, 0x0f, 0xa1, 0xc0, 0x25, 0x68, 0x05, 0x8a, 0xf7, 0x0f, 0xf6, 0x0e, 0x0e, 0xdf, 0x3f, - 0xa8, 0xa5, 0x10, 0x40, 0x61, 0xa7, 0xd9, 0x6c, 0x1d, 0x75, 0x6a, 0x69, 0x24, 0x41, 0x7e, 0xa7, - 0x71, 0xa8, 0x76, 0x6a, 0x19, 0x2a, 0x56, 0x5b, 0xef, 0xb6, 0x9a, 0x9d, 0x5a, 0x16, 0xad, 0x41, - 0x99, 0xb7, 0xb5, 0x7b, 0x87, 0xea, 0x7b, 0x3b, 0x9d, 0x5a, 0x2e, 0x22, 0x3a, 0x6e, 0x1d, 0xdc, - 0x6d, 0xa9, 0xb5, 0xbc, 0xf2, 0x32, 0x4d, 0xc5, 0x12, 0xc8, 0x4f, 0x98, 0x74, 0xa5, 0x23, 0x49, - 0x97, 0xf2, 0x9b, 0x0c, 0xc8, 0xc9, 0x8c, 0x06, 0xbd, 0x3b, 0x31, 0xf1, 0xed, 0x0b, 0xd0, 0xa1, - 0x89, 0xd9, 0xa3, 0x67, 0xa0, 0xe2, 0x90, 0x13, 0xe2, 0xf5, 0x06, 0x9c, 0x61, 0xf1, 0xc0, 0x56, - 0x56, 0xcb, 0x42, 0xca, 0x8c, 0x5c, 0xae, 0xf6, 0x11, 0xe9, 0x79, 0x1a, 0xcf, 0xff, 0xf8, 0xa6, - 0x93, 0xa8, 0x1a, 0x95, 0x1e, 0x73, 0xa1, 0xf2, 0xe1, 0x85, 0xd6, 0x52, 0x82, 0xbc, 0xda, 0xea, - 0xa8, 0x3f, 0xae, 0x65, 0x11, 0x82, 0x0a, 0x6b, 0x6a, 0xc7, 0x07, 0x3b, 0x47, 0xc7, 0xed, 0x43, - 0xba, 0x96, 0x97, 0xa0, 0xea, 0xaf, 0xa5, 0x2f, 0xcc, 0x2b, 0x77, 0xe0, 0x6a, 0x02, 0x1d, 0x5b, - 0x90, 0x78, 0x2a, 0xff, 0x4e, 0x43, 0x75, 0xe2, 0x68, 0xa1, 0x6d, 0xc8, 0x73, 0x7e, 0x9f, 0x74, - 0x79, 0xc1, 0x90, 0x41, 0x9c, 0x43, 0xae, 0x8a, 0xde, 0x84, 0x12, 0x11, 0x95, 0x91, 0x59, 0x47, - 0x98, 0x57, 0x74, 0xfc, 0xda, 0x89, 0x30, 0x0d, 0x2c, 0xd0, 0x5b, 0x20, 0x05, 0x18, 0x21, 0x92, - 0xca, 0xa7, 0xa7, 0xcd, 0x03, 0x74, 0x11, 0xf6, 0xa1, 0x0d, 0x7a, 0x3d, 0x64, 0x73, 0xb9, 0xe9, - 0xac, 0x42, 0x98, 0x73, 0x05, 0x61, 0xec, 0xeb, 0x2b, 0x4d, 0x58, 0x89, 0xcc, 0x07, 0x3d, 0x05, - 0xd2, 0x08, 0x9f, 0x89, 0x8a, 0x1b, 0xaf, 0x99, 0x94, 0x46, 0xf8, 0x8c, 0x17, 0xdb, 0xae, 0x42, - 0x91, 0x0e, 0xf6, 0xb1, 0x2b, 0xd2, 0xf3, 0xc2, 0x08, 0x9f, 0xbd, 0x83, 0x5d, 0xe5, 0x03, 0xa8, - 0xc4, 0xab, 0x4d, 0x74, 0x0f, 0x3b, 0xd6, 0xd8, 0xd4, 0x99, 0x8f, 0xbc, 0xca, 0x3b, 0xe8, 0x55, - 0xc8, 0x9f, 0x5a, 0x1c, 0xe6, 0x66, 0x1f, 0xf6, 0x07, 0x96, 0x47, 0x22, 0xd5, 0x2a, 0xae, 0xad, - 0x3c, 0x86, 0x3c, 0x83, 0x2d, 0x0a, 0x41, 0xac, 0x6e, 0x24, 0x98, 0x2c, 0x6d, 0xa3, 0x0f, 0x00, - 0xb0, 0xe7, 0x39, 0x46, 0x77, 0x1c, 0x3a, 0xde, 0x98, 0x0d, 0x7b, 0x3b, 0xbe, 0x5e, 0xe3, 0x9a, - 0xc0, 0xbf, 0xcb, 0xa1, 0x69, 0x04, 0x03, 0x23, 0x0e, 0x95, 0x03, 0xa8, 0xc4, 0x6d, 0xa3, 0x15, - 0xdc, 0xd5, 0x19, 0x15, 0xdc, 0x80, 0x2d, 0x05, 0x5c, 0x2b, 0xcb, 0x6b, 0x84, 0xac, 0xa3, 0xfc, - 0x36, 0x0d, 0xa5, 0xce, 0x99, 0x38, 0x10, 0x09, 0xe5, 0xa9, 0xd0, 0x34, 0x13, 0x2d, 0xc6, 0xf0, - 0x7a, 0x57, 0x36, 0xa8, 0xa2, 0xbd, 0x1d, 0x1c, 0xf9, 0xdc, 0xb2, 0xd9, 0xac, 0x5f, 0x4e, 0x14, - 0x07, 0xfd, 0x26, 0x94, 0x2d, 0xc7, 0xe8, 0x1b, 0x26, 0x1e, 0x46, 0x89, 0xf9, 0xaa, 0x2f, 0x64, - 0xfc, 0xf3, 0x0d, 0x90, 0x82, 0xad, 0x47, 0xf3, 0x06, 0xac, 0xeb, 0x0e, 0x71, 0x5d, 0xb1, 0x00, - 0x7e, 0x97, 0x95, 0x44, 0xad, 0x4f, 0x44, 0x4d, 0x28, 0xab, 0xf2, 0x8e, 0xa2, 0x43, 0x75, 0x22, - 0x2a, 0xa2, 0x37, 0xa0, 0x68, 0x8f, 0xbb, 0x9a, 0xbf, 0x86, 0x13, 0x27, 0xcc, 0xe7, 0x90, 0xe3, - 0xee, 0xd0, 0xe8, 0xed, 0x91, 0x73, 0xff, 0x8d, 0xed, 0x71, 0x77, 0x8f, 0x2f, 0x35, 0x7f, 0x4a, - 0x26, 0xfa, 0x94, 0x53, 0x28, 0xf9, 0x3b, 0x07, 0xfd, 0x20, 0x7a, 0x98, 0xfc, 0x42, 0x79, 0x62, - 0xa4, 0x16, 0xee, 0x23, 0x67, 0xe9, 0x36, 0xac, 0xb9, 0x46, 0xdf, 0x24, 0xba, 0x16, 0x66, 0x2e, - 0xec, 0x69, 0x25, 0xb5, 0xca, 0x07, 0xf6, 0xfd, 0xb4, 0x45, 0xf9, 0x57, 0x1a, 0x4a, 0xfe, 0xa9, - 0x46, 0x2f, 0x47, 0x36, 0x67, 0x65, 0x46, 0x79, 0xc7, 0x57, 0x0c, 0xab, 0x9a, 0xf1, 0x77, 0xcd, - 0x5c, 0xfc, 0x5d, 0x93, 0xca, 0xd3, 0xfe, 0x3d, 0x41, 0xee, 0xc2, 0xf7, 0x04, 0x2f, 0x02, 0xf2, - 0x2c, 0x0f, 0x0f, 0xb5, 0x53, 0xcb, 0x33, 0xcc, 0xbe, 0xc6, 0x17, 0x9b, 0x13, 0xb6, 0x1a, 0x1b, - 0x79, 0xc0, 0x06, 0x8e, 0xd8, 0xba, 0xff, 0x3c, 0x0d, 0xa5, 0x20, 0xf4, 0x5e, 0xb4, 0x48, 0x79, - 0x05, 0x0a, 0x22, 0xba, 0xf0, 0x2a, 0xa5, 0xe8, 0x05, 0xf5, 0xf2, 0x5c, 0xa4, 0x5e, 0x2e, 0x43, - 0x69, 0x44, 0x3c, 0xcc, 0x40, 0x9c, 0xef, 0xd1, 0xa0, 0x7f, 0xfb, 0x75, 0x58, 0x89, 0xd4, 0x8b, - 0xe9, 0xf1, 0x3c, 0x68, 0xbd, 0x5f, 0x4b, 0xc9, 0xc5, 0x4f, 0x3f, 0xbf, 0x91, 0x3d, 0x20, 0x9f, - 0xd0, 0x3d, 0xab, 0xb6, 0x9a, 0xed, 0x56, 0x73, 0xaf, 0x96, 0x96, 0x57, 0x3e, 0xfd, 0xfc, 0x46, - 0x51, 0x25, 0xac, 0x2a, 0x74, 0xbb, 0x0d, 0xab, 0xd1, 0xaf, 0x12, 0x0f, 0x50, 0x08, 0x2a, 0x77, - 0xef, 0x1f, 0xed, 0xef, 0x36, 0x77, 0x3a, 0x2d, 0xed, 0xc1, 0x61, 0xa7, 0x55, 0x4b, 0xa3, 0xab, - 0x70, 0x69, 0x7f, 0xf7, 0x9d, 0x76, 0x47, 0x6b, 0xee, 0xef, 0xb6, 0x0e, 0x3a, 0xda, 0x4e, 0xa7, - 0xb3, 0xd3, 0xdc, 0xab, 0x65, 0xb6, 0xff, 0x0e, 0x50, 0xdd, 0x69, 0x34, 0x77, 0x69, 0x70, 0x35, - 0x7a, 0x58, 0x54, 0xdd, 0x72, 0x2c, 0x77, 0x9f, 0x7b, 0xfd, 0x2d, 0xcf, 0x2f, 0x3a, 0xa2, 0x7b, - 0x90, 0x67, 0x69, 0x3d, 0x9a, 0x7f, 0x1f, 0x2e, 0x2f, 0xa8, 0x42, 0xd2, 0x97, 0x61, 0xc7, 0x63, - 0xee, 0x05, 0xb9, 0x3c, 0xbf, 0x28, 0x89, 0x54, 0x90, 0xc2, 0xbc, 0x7c, 0xf1, 0x85, 0xb9, 0xbc, - 0x44, 0xa1, 0x92, 0xfa, 0x0c, 0xb3, 0x8e, 0xc5, 0x17, 0xc8, 0xf2, 0x12, 0x28, 0x87, 0xf6, 0xa1, - 0xe8, 0xe7, 0x73, 0x8b, 0xae, 0xb4, 0xe5, 0x85, 0x45, 0x44, 0xfa, 0x09, 0x78, 0xde, 0x3d, 0xff, - 0x7e, 0x5e, 0x5e, 0x50, 0x11, 0x45, 0xbb, 0x50, 0x10, 0x54, 0x7a, 0xc1, 0x35, 0xb5, 0xbc, 0xa8, - 0x28, 0x48, 0x17, 0x2d, 0x2c, 0x68, 0x2c, 0xfe, 0xeb, 0x40, 0x5e, 0xa2, 0xd8, 0x8b, 0xee, 0x03, - 0x44, 0xb2, 0xec, 0x25, 0x7e, 0x27, 0x90, 0x97, 0x29, 0xe2, 0xa2, 0x43, 0x28, 0x05, 0xd9, 0xd4, - 0xc2, 0xcb, 0x7d, 0x79, 0x71, 0x35, 0x15, 0x3d, 0x84, 0x72, 0x3c, 0x8d, 0x58, 0xee, 0xca, 0x5e, - 0x5e, 0xb2, 0x4c, 0x4a, 0xfd, 0xc7, 0x73, 0x8a, 0xe5, 0xae, 0xf0, 0xe5, 0x25, 0xab, 0xa6, 0xe8, - 0x23, 0x58, 0x9b, 0xe6, 0xfc, 0xcb, 0xdf, 0xe8, 0xcb, 0x17, 0xa8, 0xa3, 0xa2, 0x11, 0xa0, 0x19, - 0xb9, 0xc2, 0x05, 0x2e, 0xf8, 0xe5, 0x8b, 0x94, 0x55, 0x91, 0x0e, 0xd5, 0x49, 0x02, 0xbe, 0xec, - 0x85, 0xbf, 0xbc, 0x74, 0x89, 0xb5, 0xd1, 0xfa, 0xe2, 0xeb, 0xf5, 0xf4, 0x97, 0x5f, 0xaf, 0xa7, - 0xff, 0xfa, 0xf5, 0x7a, 0xfa, 0xb3, 0x6f, 0xd6, 0x53, 0x5f, 0x7e, 0xb3, 0x9e, 0xfa, 0xf3, 0x37, - 0xeb, 0xa9, 0x9f, 0xbc, 0xd0, 0x37, 0xbc, 0xc1, 0xb8, 0xbb, 0xd9, 0xb3, 0x46, 0x5b, 0xd1, 0x7f, - 0x9c, 0x66, 0xfd, 0x77, 0xd5, 0x2d, 0xb0, 0x70, 0xf8, 0xca, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, - 0x7c, 0x3f, 0xc8, 0x2a, 0x97, 0x25, 0x00, 0x00, + // 2968 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x5a, 0x4b, 0x73, 0xdb, 0xd6, + 0x15, 0xe6, 0x9b, 0xc4, 0xa1, 0xf8, 0xd0, 0xb5, 0x63, 0x33, 0x88, 0x2d, 0x39, 0xf0, 0x24, 0x71, + 0x9c, 0x44, 0x6a, 0x94, 0x49, 0xea, 0x34, 0x69, 0x13, 0x91, 0xa6, 0x43, 0xc5, 0x8a, 0xa4, 0x42, + 0xb4, 0xd3, 0x57, 0x8c, 0x80, 0xc4, 0x15, 0x89, 0x98, 0x04, 0x10, 0xe0, 0x52, 0x91, 0xbc, 0xec, + 0x63, 0x93, 0x6e, 0x32, 0xd3, 0x4d, 0x37, 0xf9, 0x09, 0x9d, 0x6e, 0xbb, 0x69, 0x37, 0xdd, 0x64, + 0xa6, 0x8b, 0x66, 0xd9, 0x55, 0xda, 0x89, 0x77, 0xfd, 0x03, 0x5d, 0x75, 0xda, 0xb9, 0x0f, 0xbc, + 0x48, 0x42, 0xa4, 0x92, 0xee, 0xba, 0xc3, 0x3d, 0x38, 0xe7, 0x03, 0xee, 0xc1, 0xbd, 0xe7, 0x7c, + 0xe7, 0xe0, 0xc2, 0x53, 0x04, 0x5b, 0x06, 0x76, 0xc7, 0xa6, 0x45, 0x36, 0xf5, 0x5e, 0xdf, 0xdc, + 0x24, 0xa7, 0x0e, 0xf6, 0x36, 0x1c, 0xd7, 0x26, 0x36, 0xaa, 0x85, 0x37, 0x37, 0xe8, 0x4d, 0xf9, + 0x6a, 0x44, 0xbb, 0xef, 0x9e, 0x3a, 0xc4, 0xde, 0x74, 0x5c, 0xdb, 0x3e, 0xe2, 0xfa, 0xf2, 0x95, + 0xc8, 0x6d, 0x86, 0x13, 0x45, 0x8b, 0xdd, 0x15, 0xc6, 0x0f, 0xf1, 0xa9, 0x7f, 0xf7, 0xea, 0x8c, + 0xad, 0xa3, 0xbb, 0xfa, 0xd8, 0xbf, 0xbd, 0x3e, 0xb0, 0xed, 0xc1, 0x08, 0x6f, 0xb2, 0x51, 0x6f, + 0x72, 0xb4, 0x49, 0xcc, 0x31, 0xf6, 0x88, 0x3e, 0x76, 0x84, 0xc2, 0xc5, 0x81, 0x3d, 0xb0, 0xd9, + 0xe5, 0x26, 0xbd, 0xe2, 0x52, 0xe5, 0x8f, 0x12, 0x14, 0x55, 0xfc, 0xf1, 0x04, 0x7b, 0x04, 0x6d, + 0x41, 0x0e, 0xf7, 0x87, 0x76, 0x23, 0x7d, 0x2d, 0x7d, 0xa3, 0xbc, 0x75, 0x65, 0x63, 0x6a, 0x72, + 0x1b, 0x42, 0xaf, 0xdd, 0x1f, 0xda, 0x9d, 0x94, 0xca, 0x74, 0xd1, 0xab, 0x90, 0x3f, 0x1a, 0x4d, + 0xbc, 0x61, 0x23, 0xc3, 0x8c, 0xae, 0x26, 0x19, 0xdd, 0xa1, 0x4a, 0x9d, 0x94, 0xca, 0xb5, 0xe9, + 0xa3, 0x4c, 0xeb, 0xc8, 0x6e, 0x64, 0xcf, 0x7e, 0xd4, 0x8e, 0x75, 0xc4, 0x1e, 0x45, 0x75, 0x51, + 0x13, 0xc0, 0xc3, 0x44, 0xb3, 0x1d, 0x62, 0xda, 0x56, 0x23, 0xc7, 0x2c, 0x9f, 0x4e, 0xb2, 0x3c, + 0xc4, 0x64, 0x9f, 0x29, 0x76, 0x52, 0xaa, 0xe4, 0xf9, 0x03, 0x8a, 0x61, 0x5a, 0x26, 0xd1, 0xfa, + 0x43, 0xdd, 0xb4, 0x1a, 0xf9, 0xb3, 0x31, 0x76, 0x2c, 0x93, 0xb4, 0xa8, 0x22, 0xc5, 0x30, 0xfd, + 0x01, 0x9d, 0xf2, 0xc7, 0x13, 0xec, 0x9e, 0x36, 0x0a, 0x67, 0x4f, 0xf9, 0x87, 0x54, 0x89, 0x4e, + 0x99, 0x69, 0xa3, 0x36, 0x94, 0x7b, 0x78, 0x60, 0x5a, 0x5a, 0x6f, 0x64, 0xf7, 0x1f, 0x36, 0x8a, + 0xcc, 0x58, 0x49, 0x32, 0x6e, 0x52, 0xd5, 0x26, 0xd5, 0xec, 0xa4, 0x54, 0xe8, 0x05, 0x23, 0xf4, + 0x26, 0x94, 0xfa, 0x43, 0xdc, 0x7f, 0xa8, 0x91, 0x93, 0x46, 0x89, 0x61, 0xac, 0x27, 0x61, 0xb4, + 0xa8, 0x5e, 0xf7, 0xa4, 0x93, 0x52, 0x8b, 0x7d, 0x7e, 0x49, 0xe7, 0x6f, 0xe0, 0x91, 0x79, 0x8c, + 0x5d, 0x6a, 0x2f, 0x9d, 0x3d, 0xff, 0xdb, 0x5c, 0x93, 0x21, 0x48, 0x86, 0x3f, 0x40, 0x6f, 0x81, + 0x84, 0x2d, 0x43, 0x4c, 0x03, 0x18, 0xc4, 0xb5, 0xc4, 0xb5, 0x62, 0x19, 0xfe, 0x24, 0x4a, 0x58, + 0x5c, 0xa3, 0x5b, 0x50, 0xe8, 0xdb, 0xe3, 0xb1, 0x49, 0x1a, 0x65, 0x66, 0xbd, 0x96, 0x38, 0x01, + 0xa6, 0xd5, 0x49, 0xa9, 0x42, 0x1f, 0xed, 0x41, 0x75, 0x64, 0x7a, 0x44, 0xf3, 0x2c, 0xdd, 0xf1, + 0x86, 0x36, 0xf1, 0x1a, 0x2b, 0x0c, 0xe1, 0x99, 0x24, 0x84, 0x5d, 0xd3, 0x23, 0x87, 0xbe, 0x72, + 0x27, 0xa5, 0x56, 0x46, 0x51, 0x01, 0xc5, 0xb3, 0x8f, 0x8e, 0xb0, 0x1b, 0x00, 0x36, 0x2a, 0x67, + 0xe3, 0xed, 0x53, 0x6d, 0xdf, 0x9e, 0xe2, 0xd9, 0x51, 0x01, 0xfa, 0x29, 0x5c, 0x18, 0xd9, 0xba, + 0x11, 0xc0, 0x69, 0xfd, 0xe1, 0xc4, 0x7a, 0xd8, 0xa8, 0x32, 0xd0, 0xe7, 0x13, 0x5f, 0xd2, 0xd6, + 0x0d, 0x1f, 0xa2, 0x45, 0x0d, 0x3a, 0x29, 0x75, 0x75, 0x34, 0x2d, 0x44, 0x0f, 0xe0, 0xa2, 0xee, + 0x38, 0xa3, 0xd3, 0x69, 0xf4, 0x1a, 0x43, 0xbf, 0x99, 0x84, 0xbe, 0x4d, 0x6d, 0xa6, 0xe1, 0x91, + 0x3e, 0x23, 0x45, 0x5d, 0xa8, 0x3b, 0x2e, 0x76, 0x74, 0x17, 0x6b, 0x8e, 0x6b, 0x3b, 0xb6, 0xa7, + 0x8f, 0x1a, 0x75, 0x86, 0xfd, 0x5c, 0x12, 0xf6, 0x01, 0xd7, 0x3f, 0x10, 0xea, 0x9d, 0x94, 0x5a, + 0x73, 0xe2, 0x22, 0x8e, 0x6a, 0xf7, 0xb1, 0xe7, 0x85, 0xa8, 0xab, 0x8b, 0x50, 0x99, 0x7e, 0x1c, + 0x35, 0x26, 0x6a, 0x16, 0x21, 0x7f, 0xac, 0x8f, 0x26, 0x58, 0x79, 0x0e, 0xca, 0x91, 0xb0, 0x84, + 0x1a, 0x50, 0x1c, 0x63, 0xcf, 0xd3, 0x07, 0x98, 0x45, 0x31, 0x49, 0xf5, 0x87, 0x4a, 0x15, 0x56, + 0xa2, 0xa1, 0x48, 0x19, 0x07, 0x86, 0x34, 0xc8, 0x50, 0xc3, 0x63, 0xec, 0x7a, 0x34, 0xb2, 0x08, + 0x43, 0x31, 0x44, 0xd7, 0xa1, 0xc2, 0x96, 0xba, 0xe6, 0xdf, 0xa7, 0x91, 0x2e, 0xa7, 0xae, 0x30, + 0xe1, 0x7d, 0xa1, 0xb4, 0x0e, 0x65, 0x67, 0xcb, 0x09, 0x54, 0xb2, 0x4c, 0x05, 0x9c, 0x2d, 0x47, + 0x28, 0x28, 0xdf, 0x83, 0xfa, 0x74, 0x64, 0x42, 0x75, 0xc8, 0x3e, 0xc4, 0xa7, 0xe2, 0x79, 0xf4, + 0x12, 0x5d, 0x14, 0xd3, 0x62, 0xcf, 0x90, 0x54, 0x31, 0xc7, 0xbf, 0x64, 0x02, 0xe3, 0x20, 0x24, + 0xa1, 0x5b, 0x90, 0xa3, 0x11, 0x5e, 0x04, 0x6b, 0x79, 0x83, 0x87, 0xff, 0x0d, 0x3f, 0xfc, 0x6f, + 0x74, 0xfd, 0xf0, 0xdf, 0x2c, 0x7d, 0xf1, 0xd5, 0x7a, 0xea, 0xb3, 0xbf, 0xaf, 0xa7, 0x55, 0x66, + 0x81, 0x9e, 0xa4, 0x11, 0x44, 0x37, 0x2d, 0xcd, 0x34, 0xc4, 0x73, 0x8a, 0x6c, 0xbc, 0x63, 0xa0, + 0xbb, 0x50, 0xef, 0xdb, 0x96, 0x87, 0x2d, 0x6f, 0xe2, 0x69, 0x3c, 0xbd, 0x88, 0x10, 0x3d, 0xbb, + 0xc3, 0x5b, 0xbe, 0xe2, 0x01, 0xd3, 0x53, 0x6b, 0xfd, 0xb8, 0x00, 0xdd, 0x01, 0x38, 0xd6, 0x47, + 0xa6, 0xa1, 0x13, 0xdb, 0xf5, 0x1a, 0xb9, 0x6b, 0xd9, 0xb9, 0x30, 0xf7, 0x7d, 0x95, 0x7b, 0x8e, + 0xa1, 0x13, 0xdc, 0xcc, 0xd1, 0xb7, 0x55, 0x23, 0x96, 0xe8, 0x59, 0xa8, 0xe9, 0x8e, 0xa3, 0x79, + 0x44, 0x27, 0x58, 0xeb, 0x9d, 0x12, 0xec, 0xb1, 0xc0, 0xbd, 0xa2, 0x56, 0x74, 0xc7, 0x39, 0xa4, + 0xd2, 0x26, 0x15, 0xa2, 0x67, 0xa0, 0x4a, 0x83, 0xb4, 0xa9, 0x8f, 0xb4, 0x21, 0x36, 0x07, 0x43, + 0xc2, 0x02, 0x74, 0x56, 0xad, 0x08, 0x69, 0x87, 0x09, 0x15, 0x23, 0x58, 0x08, 0x2c, 0x40, 0x23, + 0x04, 0x39, 0x43, 0x27, 0x3a, 0x73, 0xe4, 0x8a, 0xca, 0xae, 0xa9, 0xcc, 0xd1, 0xc9, 0x50, 0xb8, + 0x87, 0x5d, 0xa3, 0x4b, 0x50, 0x10, 0xb0, 0x59, 0x06, 0x2b, 0x46, 0xf4, 0x9b, 0x39, 0xae, 0x7d, + 0x8c, 0x59, 0x46, 0x2a, 0xa9, 0x7c, 0xa0, 0xfc, 0x32, 0x03, 0xab, 0x33, 0xa1, 0x9c, 0xe2, 0x0e, + 0x75, 0x6f, 0xe8, 0x3f, 0x8b, 0x5e, 0xa3, 0xd7, 0x28, 0xae, 0x6e, 0x60, 0x57, 0xa4, 0xd0, 0x46, + 0xd4, 0x45, 0x9c, 0x1e, 0x74, 0xd8, 0x7d, 0xe1, 0x1a, 0xa1, 0x8d, 0xf6, 0xa1, 0x3e, 0xd2, 0x3d, + 0xa2, 0xf1, 0xd0, 0xa8, 0x45, 0xd2, 0xe9, 0x6c, 0x42, 0xd8, 0xd5, 0xfd, 0x60, 0x4a, 0x17, 0xbb, + 0x00, 0xaa, 0x8e, 0x62, 0x52, 0xa4, 0xc2, 0xc5, 0xde, 0xe9, 0x23, 0xdd, 0x22, 0xa6, 0x85, 0xb5, + 0x99, 0x2f, 0xf7, 0xe4, 0x0c, 0x68, 0xfb, 0xd8, 0x34, 0xb0, 0xd5, 0xf7, 0x3f, 0xd9, 0x85, 0xc0, + 0x38, 0xf8, 0xa4, 0x9e, 0xa2, 0x42, 0x35, 0x9e, 0x8c, 0x50, 0x15, 0x32, 0xe4, 0x44, 0x38, 0x20, + 0x43, 0x4e, 0xd0, 0x77, 0x20, 0x47, 0x27, 0xc9, 0x26, 0x5f, 0x9d, 0xc3, 0x04, 0x84, 0x5d, 0xf7, + 0xd4, 0xc1, 0x2a, 0xd3, 0x54, 0x94, 0x60, 0x37, 0x04, 0x09, 0x6a, 0x1a, 0x55, 0x79, 0x1e, 0x6a, + 0x53, 0x19, 0x28, 0xf2, 0xfd, 0xd2, 0xd1, 0xef, 0xa7, 0xd4, 0xa0, 0x12, 0x4b, 0x37, 0xca, 0x25, + 0xb8, 0x38, 0x2f, 0x7b, 0x28, 0xc3, 0x40, 0x1e, 0xcb, 0x02, 0xe8, 0x55, 0x28, 0x05, 0xe9, 0x83, + 0xef, 0xc6, 0x59, 0x5f, 0xf9, 0xca, 0x6a, 0xa0, 0x4a, 0xb7, 0x21, 0x5d, 0xd6, 0x6c, 0x3d, 0x64, + 0xd8, 0x8b, 0x17, 0x75, 0xc7, 0xe9, 0xe8, 0xde, 0x50, 0xf9, 0x10, 0x1a, 0x49, 0xa9, 0x61, 0x6a, + 0x1a, 0xb9, 0x60, 0x19, 0x5e, 0x82, 0xc2, 0x91, 0xed, 0x8e, 0x75, 0xc2, 0xc0, 0x2a, 0xaa, 0x18, + 0xd1, 0xe5, 0xc9, 0xd3, 0x44, 0x96, 0x89, 0xf9, 0x40, 0xd1, 0xe0, 0xc9, 0xc4, 0xf4, 0x40, 0x4d, + 0x4c, 0xcb, 0xc0, 0xdc, 0x9f, 0x15, 0x95, 0x0f, 0x42, 0x20, 0xfe, 0xb2, 0x7c, 0x40, 0x1f, 0xeb, + 0xb1, 0xb9, 0x32, 0x7c, 0x49, 0x15, 0x23, 0x45, 0x83, 0x4b, 0xf3, 0x73, 0x04, 0xba, 0x0a, 0xc0, + 0xe3, 0xa9, 0xd8, 0x75, 0xd9, 0x1b, 0x2b, 0xaa, 0xc4, 0x24, 0xb7, 0xe9, 0xd6, 0x7b, 0x16, 0x6a, + 0xe1, 0x6d, 0xcd, 0x33, 0x1f, 0xf1, 0xa5, 0x91, 0x55, 0x2b, 0x81, 0xce, 0xa1, 0xf9, 0x08, 0x2b, + 0xbd, 0xc8, 0x03, 0x62, 0xb9, 0x21, 0xb2, 0xa1, 0xd2, 0xe7, 0xda, 0x50, 0x75, 0xc8, 0x92, 0x13, + 0xaf, 0x91, 0x61, 0x6f, 0x44, 0x2f, 0x95, 0xdf, 0x00, 0x94, 0x54, 0xec, 0x39, 0x34, 0xb0, 0xa1, + 0x26, 0x48, 0xf8, 0xa4, 0x8f, 0x39, 0xfb, 0x4c, 0x27, 0xb2, 0x37, 0xae, 0xdd, 0xf6, 0x35, 0x29, + 0x75, 0x0a, 0xcc, 0xd0, 0x2b, 0x82, 0x61, 0x27, 0x93, 0x65, 0x61, 0x1e, 0xa5, 0xd8, 0xaf, 0xf9, + 0x14, 0x3b, 0x9b, 0xc8, 0x96, 0xb8, 0xd5, 0x14, 0xc7, 0x7e, 0x45, 0x70, 0xec, 0xdc, 0x82, 0x87, + 0xc5, 0x48, 0x76, 0x2b, 0x46, 0xb2, 0xf3, 0x0b, 0xa6, 0x99, 0xc0, 0xb2, 0x5b, 0x31, 0x96, 0x5d, + 0x58, 0x00, 0x92, 0x40, 0xb3, 0x5f, 0xf3, 0x69, 0x76, 0x71, 0xc1, 0xb4, 0xa7, 0x78, 0xf6, 0x9d, + 0x38, 0xcf, 0xe6, 0x1c, 0xf9, 0x7a, 0xa2, 0x75, 0x22, 0xd1, 0xfe, 0x7e, 0x84, 0x68, 0x4b, 0x89, + 0x2c, 0x97, 0x83, 0xcc, 0x61, 0xda, 0xad, 0x18, 0xd3, 0x86, 0x05, 0x3e, 0x48, 0xa0, 0xda, 0x6f, + 0x47, 0xa9, 0x76, 0x39, 0x91, 0xad, 0x8b, 0x45, 0x33, 0x8f, 0x6b, 0xbf, 0x1e, 0x70, 0xed, 0x95, + 0xc4, 0x62, 0x41, 0xcc, 0x61, 0x9a, 0x6c, 0xef, 0xcf, 0x90, 0x6d, 0x4e, 0x8e, 0x9f, 0x4d, 0x84, + 0x58, 0xc0, 0xb6, 0xf7, 0x67, 0xd8, 0x76, 0x75, 0x01, 0xe0, 0x02, 0xba, 0xfd, 0xb3, 0xf9, 0x74, + 0x3b, 0x99, 0x10, 0x8b, 0xd7, 0x5c, 0x8e, 0x6f, 0x6b, 0x09, 0x7c, 0x9b, 0x73, 0xe2, 0x17, 0x12, + 0xe1, 0x97, 0x26, 0xdc, 0xf7, 0xe6, 0x10, 0x6e, 0x4e, 0x8d, 0x6f, 0x24, 0x82, 0x2f, 0xc1, 0xb8, + 0xef, 0xcd, 0x61, 0xdc, 0x68, 0x21, 0xec, 0xf2, 0x94, 0xfb, 0x79, 0xca, 0x6c, 0xa6, 0xc2, 0x1c, + 0xcd, 0x0e, 0xd8, 0x75, 0x6d, 0x57, 0xb0, 0x59, 0x3e, 0x50, 0x6e, 0x50, 0xae, 0x15, 0x86, 0xb4, + 0x33, 0xe8, 0x39, 0xcb, 0xc2, 0x91, 0x30, 0xa6, 0xfc, 0x21, 0x1d, 0xda, 0x32, 0x7a, 0x12, 0xe5, + 0x69, 0x92, 0xe0, 0x69, 0x11, 0xd6, 0x9e, 0x89, 0xb3, 0xf6, 0x75, 0x28, 0xd3, 0xec, 0x3a, 0x45, + 0xc8, 0x75, 0xc7, 0x27, 0xe4, 0xe8, 0x26, 0xac, 0x32, 0xfa, 0xc4, 0x93, 0x8d, 0x48, 0xa9, 0x39, + 0x96, 0x69, 0x6a, 0xf4, 0x06, 0xdf, 0x4a, 0x3c, 0xb7, 0xbe, 0x04, 0x17, 0x22, 0xba, 0x41, 0xd6, + 0xe6, 0x2c, 0xb4, 0x1e, 0x68, 0x6f, 0x8b, 0xf4, 0xfd, 0x5e, 0xe8, 0xa0, 0x90, 0xec, 0x23, 0xc8, + 0xf5, 0x6d, 0x03, 0x8b, 0x9c, 0xca, 0xae, 0x69, 0xc6, 0x19, 0xd9, 0x03, 0x91, 0x39, 0xe9, 0x25, + 0xd5, 0x0a, 0x62, 0xb6, 0xc4, 0x43, 0xb2, 0xf2, 0xe7, 0x74, 0x88, 0x17, 0xf2, 0xff, 0x79, 0x54, + 0x3d, 0xfd, 0xbf, 0xa1, 0xea, 0x99, 0x6f, 0x4c, 0xd5, 0xa3, 0x9c, 0x26, 0x1b, 0xe7, 0x34, 0xff, + 0x4a, 0x87, 0x5f, 0x38, 0x20, 0xde, 0xdf, 0xcc, 0x23, 0x21, 0x41, 0xc9, 0xb3, 0xef, 0x25, 0x08, + 0x8a, 0x28, 0xa7, 0x0a, 0xec, 0xb9, 0xf1, 0x72, 0xaa, 0xc8, 0x29, 0x0b, 0x1b, 0xa0, 0x5b, 0x20, + 0xb1, 0x9e, 0x9c, 0x66, 0x3b, 0x9e, 0x48, 0x0f, 0x4f, 0x45, 0xe7, 0xca, 0x5b, 0x6f, 0x1b, 0x07, + 0x54, 0x67, 0xdf, 0xf1, 0xd4, 0x92, 0x23, 0xae, 0x22, 0xdc, 0x4b, 0x8a, 0x95, 0x00, 0x57, 0x40, + 0xa2, 0x6f, 0xef, 0x39, 0x7a, 0x1f, 0xb3, 0x50, 0x2f, 0xa9, 0xa1, 0x40, 0x79, 0x00, 0x68, 0x36, + 0xd9, 0xa0, 0x0e, 0x14, 0xf0, 0x31, 0xb6, 0x88, 0xc7, 0x28, 0x50, 0x79, 0xeb, 0xd2, 0x1c, 0x7e, + 0x8d, 0x2d, 0xd2, 0x6c, 0x50, 0x27, 0xff, 0xf3, 0xab, 0xf5, 0x3a, 0xd7, 0x7e, 0xd1, 0x1e, 0x9b, + 0x04, 0x8f, 0x1d, 0x72, 0xaa, 0x0a, 0x7b, 0xe5, 0x17, 0x19, 0x4a, 0x76, 0x63, 0x89, 0x68, 0xae, + 0x6f, 0xfd, 0x0d, 0x94, 0x89, 0x14, 0x3a, 0xcb, 0xf9, 0x7b, 0x0d, 0x60, 0xa0, 0x7b, 0xda, 0x27, + 0xba, 0x45, 0xb0, 0x21, 0x9c, 0x1e, 0x91, 0x20, 0x19, 0x4a, 0x74, 0x34, 0xf1, 0xb0, 0x21, 0x6a, + 0xae, 0x60, 0x1c, 0x99, 0x67, 0xf1, 0xdb, 0xcd, 0x33, 0xee, 0xe5, 0xd2, 0xb4, 0x97, 0x7f, 0x95, + 0x09, 0x77, 0x49, 0x58, 0x17, 0xfc, 0xff, 0xf9, 0xe1, 0xd7, 0xac, 0x59, 0x10, 0x67, 0x04, 0xe8, + 0x10, 0x56, 0x83, 0x5d, 0xaa, 0x4d, 0xd8, 0xee, 0xf5, 0xd7, 0xdd, 0xb2, 0xdb, 0xbc, 0x7e, 0x1c, + 0x17, 0x7b, 0xe8, 0x47, 0x70, 0x79, 0x2a, 0x02, 0x05, 0xd0, 0x99, 0x25, 0x03, 0xd1, 0x13, 0xf1, + 0x40, 0xe4, 0x23, 0x87, 0xbe, 0xca, 0x7e, 0xcb, 0xbd, 0xb1, 0x43, 0xeb, 0xcf, 0x28, 0xbf, 0x99, + 0xfb, 0xf5, 0xaf, 0x43, 0xc5, 0xc5, 0x44, 0x37, 0x2d, 0x2d, 0x56, 0xe1, 0xaf, 0x70, 0xa1, 0xe8, + 0x1b, 0x1c, 0xc0, 0x13, 0x73, 0x79, 0x0e, 0xfa, 0x2e, 0x48, 0x21, 0x45, 0x4a, 0x27, 0x14, 0xcb, + 0x41, 0x01, 0x18, 0xea, 0x2a, 0x7f, 0x4a, 0x87, 0x90, 0xf1, 0x92, 0xb2, 0x0d, 0x05, 0x17, 0x7b, + 0x93, 0x11, 0x2f, 0xf2, 0xaa, 0x5b, 0x2f, 0x2d, 0xc7, 0x90, 0xa8, 0x74, 0x32, 0x22, 0xaa, 0x30, + 0x56, 0x1e, 0x40, 0x81, 0x4b, 0x50, 0x19, 0x8a, 0xf7, 0xf6, 0xee, 0xee, 0xed, 0xbf, 0xbf, 0x57, + 0x4f, 0x21, 0x80, 0xc2, 0x76, 0xab, 0xd5, 0x3e, 0xe8, 0xd6, 0xd3, 0x48, 0x82, 0xfc, 0x76, 0x73, + 0x5f, 0xed, 0xd6, 0x33, 0x54, 0xac, 0xb6, 0xdf, 0x6d, 0xb7, 0xba, 0xf5, 0x2c, 0x5a, 0x85, 0x0a, + 0xbf, 0xd6, 0xee, 0xec, 0xab, 0xef, 0x6d, 0x77, 0xeb, 0xb9, 0x88, 0xe8, 0xb0, 0xbd, 0x77, 0xbb, + 0xad, 0xd6, 0xf3, 0xca, 0xcb, 0xb4, 0x8a, 0x4c, 0xe0, 0x54, 0x61, 0xbd, 0x98, 0x8e, 0xd4, 0x8b, + 0xca, 0x6f, 0x33, 0x20, 0x27, 0x13, 0x25, 0xf4, 0xee, 0xd4, 0xc4, 0xb7, 0xce, 0xc1, 0xb2, 0xa6, + 0x66, 0x8f, 0x9e, 0x81, 0xaa, 0x8b, 0x8f, 0x30, 0xe9, 0x0f, 0x39, 0x71, 0xe3, 0x89, 0xad, 0xa2, + 0x56, 0x84, 0x94, 0x19, 0x79, 0x5c, 0xed, 0x23, 0xdc, 0x27, 0x1a, 0x2f, 0x5d, 0xf9, 0xa2, 0x93, + 0xa8, 0x1a, 0x95, 0x1e, 0x72, 0xa1, 0xf2, 0xe1, 0xb9, 0x7c, 0x29, 0x41, 0x5e, 0x6d, 0x77, 0xd5, + 0x1f, 0xd7, 0xb3, 0x08, 0x41, 0x95, 0x5d, 0x6a, 0x87, 0x7b, 0xdb, 0x07, 0x87, 0x9d, 0x7d, 0xea, + 0xcb, 0x0b, 0x50, 0xf3, 0x7d, 0xe9, 0x0b, 0xf3, 0xca, 0x2d, 0xb8, 0x9c, 0xc0, 0xf2, 0x16, 0xd4, + 0xcc, 0xca, 0xef, 0xd2, 0x51, 0xd3, 0x78, 0x35, 0xfc, 0xce, 0x94, 0x47, 0x37, 0x97, 0xe5, 0x80, + 0xd3, 0xee, 0x94, 0xa1, 0x84, 0x45, 0xc7, 0x47, 0xd4, 0xc8, 0xc1, 0x58, 0x79, 0x69, 0xb1, 0x73, + 0xc2, 0xd5, 0x95, 0x51, 0xfe, 0x93, 0x86, 0xda, 0x54, 0x28, 0x40, 0x5b, 0x90, 0xe7, 0x65, 0x4e, + 0xd2, 0xdf, 0x27, 0x16, 0xc9, 0x44, 0xdc, 0xe0, 0xaa, 0xe8, 0xcd, 0xd8, 0x2b, 0xcd, 0x84, 0x1c, + 0x5e, 0xeb, 0xfb, 0x6d, 0x2a, 0x61, 0x1a, 0x58, 0xa0, 0xb7, 0x40, 0x0a, 0x62, 0x9a, 0xa8, 0xad, + 0x9f, 0x9e, 0x35, 0x0f, 0xa2, 0xa1, 0xb0, 0x0f, 0x6d, 0xd0, 0xeb, 0x21, 0xfb, 0xcc, 0xcd, 0x16, + 0x57, 0xc2, 0x9c, 0x2b, 0x08, 0x63, 0x5f, 0x5f, 0x69, 0x41, 0x39, 0x32, 0x1f, 0xf4, 0x14, 0x48, + 0x63, 0xfd, 0x44, 0x34, 0x37, 0x79, 0x7b, 0xaa, 0x34, 0xd6, 0x4f, 0x78, 0x5f, 0xf3, 0x32, 0x14, + 0xe9, 0xcd, 0x81, 0xee, 0x89, 0x4e, 0x48, 0x61, 0xac, 0x9f, 0xbc, 0xa3, 0x7b, 0xca, 0x07, 0x50, + 0x8d, 0x37, 0xf6, 0xe8, 0x9e, 0x73, 0xed, 0x89, 0x65, 0x30, 0x8c, 0xbc, 0xca, 0x07, 0xe8, 0x55, + 0xc8, 0x1f, 0xdb, 0x3c, 0x2c, 0xcf, 0x0f, 0x4e, 0xf7, 0x6d, 0x82, 0x23, 0x8d, 0x41, 0xae, 0xad, + 0x3c, 0x82, 0x3c, 0x0b, 0xb3, 0x34, 0x64, 0xb2, 0x16, 0x9d, 0x60, 0xde, 0xf4, 0x1a, 0x7d, 0x00, + 0xa0, 0x13, 0xe2, 0x9a, 0xbd, 0x49, 0x08, 0xbc, 0x3e, 0x3f, 0x4c, 0x6f, 0xfb, 0x7a, 0xcd, 0x2b, + 0x22, 0x5e, 0x5f, 0x0c, 0x4d, 0x23, 0x31, 0x3b, 0x02, 0xa8, 0xec, 0x41, 0x35, 0x6e, 0x1b, 0x6d, + 0x96, 0xaf, 0xcc, 0x69, 0x96, 0x07, 0xec, 0x2e, 0xe0, 0x86, 0x59, 0xde, 0x8e, 0x65, 0x03, 0xe5, + 0xf7, 0x69, 0x28, 0x75, 0x4f, 0xc4, 0x1a, 0x4d, 0xe8, 0x04, 0x86, 0xa6, 0x99, 0x68, 0xdf, 0x8b, + 0xb7, 0x16, 0xb3, 0x41, 0xc3, 0xf2, 0xed, 0x60, 0x43, 0xe5, 0x96, 0x2d, 0xea, 0xfd, 0x46, 0x93, + 0xd8, 0x49, 0xd7, 0xa1, 0x62, 0xbb, 0xe6, 0xc0, 0xb4, 0xf4, 0x51, 0xb4, 0x90, 0x58, 0xf1, 0x85, + 0x8c, 0x2f, 0xbf, 0x01, 0x52, 0xb0, 0xf4, 0x68, 0x9d, 0xa3, 0x1b, 0x86, 0x8b, 0x3d, 0x4f, 0x38, + 0xc0, 0x1f, 0xb2, 0xee, 0xb3, 0xfd, 0x89, 0x68, 0xbf, 0x65, 0x55, 0x3e, 0x50, 0x0c, 0xa8, 0x4d, + 0x65, 0x71, 0xf4, 0x06, 0x14, 0x9d, 0x49, 0x4f, 0xf3, 0x7d, 0x38, 0xb5, 0xc3, 0x7c, 0xce, 0x3b, + 0xe9, 0x8d, 0xcc, 0xfe, 0x5d, 0x7c, 0xea, 0xbf, 0xb1, 0x33, 0xe9, 0xdd, 0xe5, 0xae, 0xe6, 0x4f, + 0xc9, 0x44, 0x9f, 0x72, 0x0c, 0x25, 0x7f, 0xe5, 0xa0, 0x1f, 0x44, 0x37, 0x93, 0xff, 0x4f, 0x22, + 0x91, 0x59, 0x08, 0xf8, 0xc8, 0x5e, 0xba, 0x09, 0xab, 0x9e, 0x39, 0xb0, 0xb0, 0xa1, 0x85, 0x95, + 0x16, 0x7b, 0x5a, 0x49, 0xad, 0xf1, 0x1b, 0xbb, 0x7e, 0x99, 0xa5, 0xfc, 0x3b, 0x0d, 0x25, 0x7f, + 0x57, 0xa3, 0x97, 0x23, 0x8b, 0xb3, 0x3a, 0xa7, 0xcb, 0xe5, 0x2b, 0x86, 0x0d, 0xe4, 0xf8, 0xbb, + 0x66, 0xce, 0xff, 0xae, 0x49, 0x7f, 0x02, 0xfc, 0x5f, 0x32, 0xb9, 0x73, 0xff, 0x92, 0x79, 0x11, + 0x10, 0xb1, 0x89, 0x3e, 0xd2, 0x8e, 0x6d, 0x62, 0x5a, 0x03, 0x8d, 0x3b, 0x9b, 0x13, 0xcc, 0x3a, + 0xbb, 0x73, 0x9f, 0xdd, 0x38, 0x60, 0x7e, 0xff, 0x79, 0x1a, 0x4a, 0x01, 0x55, 0x38, 0x6f, 0x3f, + 0xf8, 0x12, 0x14, 0x44, 0x36, 0xe4, 0x0d, 0x61, 0x31, 0x0a, 0x7e, 0x4d, 0xe4, 0x22, 0xbf, 0x26, + 0x64, 0x28, 0x8d, 0x31, 0xd1, 0x59, 0xd2, 0xe1, 0x6b, 0x34, 0x18, 0xdf, 0x7c, 0x1d, 0xca, 0x91, + 0xd6, 0x3c, 0xdd, 0x9e, 0x7b, 0xed, 0xf7, 0xeb, 0x29, 0xb9, 0xf8, 0xe9, 0xe7, 0xd7, 0xb2, 0x7b, + 0xf8, 0x13, 0xba, 0x66, 0xd5, 0x76, 0xab, 0xd3, 0x6e, 0xdd, 0xad, 0xa7, 0xe5, 0xf2, 0xa7, 0x9f, + 0x5f, 0x2b, 0xaa, 0x98, 0x35, 0xc7, 0x6e, 0x76, 0x60, 0x25, 0xfa, 0x55, 0xe2, 0x39, 0x03, 0x41, + 0xf5, 0xf6, 0xbd, 0x83, 0xdd, 0x9d, 0xd6, 0x76, 0xb7, 0xad, 0xdd, 0xdf, 0xef, 0xb6, 0xeb, 0x69, + 0x74, 0x19, 0x2e, 0xec, 0xee, 0xbc, 0xd3, 0xe9, 0x6a, 0xad, 0xdd, 0x9d, 0xf6, 0x5e, 0x57, 0xdb, + 0xee, 0x76, 0xb7, 0x5b, 0x77, 0xeb, 0x99, 0xad, 0xbf, 0x96, 0xa1, 0xb6, 0xdd, 0x6c, 0xed, 0x50, + 0x32, 0x60, 0xf6, 0x75, 0xd1, 0x7c, 0xcc, 0xb1, 0x5e, 0xc3, 0x99, 0xe7, 0x17, 0xe4, 0xb3, 0x7b, + 0xaf, 0xe8, 0x0e, 0xe4, 0x59, 0x1b, 0x02, 0x9d, 0x7d, 0xa0, 0x41, 0x5e, 0xd0, 0x8c, 0xa5, 0x2f, + 0xc3, 0xb6, 0xc7, 0x99, 0x27, 0x1c, 0xe4, 0xb3, 0x7b, 0xb3, 0x48, 0x05, 0x29, 0xec, 0x23, 0x2c, + 0x3e, 0xf1, 0x20, 0x2f, 0xd1, 0xaf, 0xa5, 0x98, 0x61, 0x95, 0xb4, 0xf8, 0x04, 0x80, 0xbc, 0x44, + 0x94, 0x43, 0xbb, 0x50, 0xf4, 0xeb, 0xcf, 0x45, 0x67, 0x12, 0xe4, 0x85, 0xbd, 0x54, 0xfa, 0x09, + 0x78, 0x9f, 0xe0, 0xec, 0x03, 0x16, 0xf2, 0x82, 0xc6, 0x30, 0xda, 0x81, 0x82, 0xa0, 0xfe, 0x0b, + 0xce, 0x19, 0xc8, 0x8b, 0x7a, 0xa3, 0xd4, 0x69, 0x61, 0x03, 0x66, 0xf1, 0xb1, 0x11, 0x79, 0x89, + 0x9e, 0x37, 0xba, 0x07, 0x10, 0xe9, 0x0a, 0x2c, 0x71, 0x1e, 0x44, 0x5e, 0xa6, 0x97, 0x8d, 0xf6, + 0xa1, 0x14, 0x54, 0x7f, 0x0b, 0x4f, 0x67, 0xc8, 0x8b, 0x9b, 0xca, 0xe8, 0x01, 0x54, 0xe2, 0x65, + 0xcf, 0x72, 0x67, 0x2e, 0xe4, 0x25, 0xbb, 0xc5, 0x14, 0x3f, 0x5e, 0x03, 0x2d, 0x77, 0x06, 0x43, + 0x5e, 0xb2, 0x79, 0x8c, 0x3e, 0x82, 0xd5, 0xd9, 0x1a, 0x65, 0xf9, 0x23, 0x19, 0xf2, 0x39, 0xda, + 0xc9, 0x68, 0x0c, 0x68, 0x4e, 0x6d, 0x73, 0x8e, 0x13, 0x1a, 0xf2, 0x79, 0xba, 0xcb, 0xc8, 0x80, + 0xda, 0x74, 0xc1, 0xb0, 0xec, 0x89, 0x0d, 0x79, 0xe9, 0x4e, 0x33, 0x7f, 0x4a, 0xbc, 0xb6, 0x58, + 0xf6, 0x04, 0x87, 0xbc, 0x74, 0xe3, 0xb9, 0xd9, 0xfe, 0xe2, 0xeb, 0xb5, 0xf4, 0x97, 0x5f, 0xaf, + 0xa5, 0xff, 0xf1, 0xf5, 0x5a, 0xfa, 0xb3, 0xc7, 0x6b, 0xa9, 0x2f, 0x1f, 0xaf, 0xa5, 0xfe, 0xf6, + 0x78, 0x2d, 0xf5, 0x93, 0x17, 0x06, 0x26, 0x19, 0x4e, 0x7a, 0x1b, 0x7d, 0x7b, 0xbc, 0x19, 0x3d, + 0x0a, 0x37, 0xef, 0x78, 0x5e, 0xaf, 0xc0, 0x92, 0xee, 0x2b, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, + 0x02, 0x09, 0x08, 0x34, 0xbe, 0x27, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -3546,6 +3713,7 @@ type ABCIApplicationClient interface { LoadSnapshotChunk(ctx context.Context, in *RequestLoadSnapshotChunk, opts ...grpc.CallOption) (*ResponseLoadSnapshotChunk, error) ApplySnapshotChunk(ctx context.Context, in *RequestApplySnapshotChunk, opts ...grpc.CallOption) (*ResponseApplySnapshotChunk, error) PrepareProposal(ctx context.Context, in *RequestPrepareProposal, opts ...grpc.CallOption) (*ResponsePrepareProposal, error) + ProcessProposal(ctx context.Context, in *RequestProcessProposal, opts ...grpc.CallOption) (*ResponseProcessProposal, error) } type aBCIApplicationClient struct { @@ -3700,6 +3868,15 @@ func (c *aBCIApplicationClient) PrepareProposal(ctx context.Context, in *Request return out, nil } +func (c *aBCIApplicationClient) ProcessProposal(ctx context.Context, in *RequestProcessProposal, opts ...grpc.CallOption) (*ResponseProcessProposal, error) { + out := new(ResponseProcessProposal) + err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/ProcessProposal", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // ABCIApplicationServer is the server API for ABCIApplication service. type ABCIApplicationServer interface { Echo(context.Context, *RequestEcho) (*ResponseEcho, error) @@ -3718,6 +3895,7 @@ type ABCIApplicationServer interface { LoadSnapshotChunk(context.Context, *RequestLoadSnapshotChunk) (*ResponseLoadSnapshotChunk, error) ApplySnapshotChunk(context.Context, *RequestApplySnapshotChunk) (*ResponseApplySnapshotChunk, error) PrepareProposal(context.Context, *RequestPrepareProposal) (*ResponsePrepareProposal, error) + ProcessProposal(context.Context, *RequestProcessProposal) (*ResponseProcessProposal, error) } // UnimplementedABCIApplicationServer can be embedded to have forward compatible implementations. @@ -3772,6 +3950,9 @@ func (*UnimplementedABCIApplicationServer) ApplySnapshotChunk(ctx context.Contex func (*UnimplementedABCIApplicationServer) PrepareProposal(ctx context.Context, req *RequestPrepareProposal) (*ResponsePrepareProposal, error) { return nil, status.Errorf(codes.Unimplemented, "method PrepareProposal not implemented") } +func (*UnimplementedABCIApplicationServer) ProcessProposal(ctx context.Context, req *RequestProcessProposal) (*ResponseProcessProposal, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProcessProposal not implemented") +} func RegisterABCIApplicationServer(s *grpc.Server, srv ABCIApplicationServer) { s.RegisterService(&_ABCIApplication_serviceDesc, srv) @@ -4065,6 +4246,24 @@ func _ABCIApplication_PrepareProposal_Handler(srv interface{}, ctx context.Conte return interceptor(ctx, in, info, handler) } +func _ABCIApplication_ProcessProposal_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RequestProcessProposal) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ABCIApplicationServer).ProcessProposal(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/tendermint.abci.ABCIApplication/ProcessProposal", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ABCIApplicationServer).ProcessProposal(ctx, req.(*RequestProcessProposal)) + } + return interceptor(ctx, in, info, handler) +} + var _ABCIApplication_serviceDesc = grpc.ServiceDesc{ ServiceName: "tendermint.abci.ABCIApplication", HandlerType: (*ABCIApplicationServer)(nil), @@ -4133,6 +4332,10 @@ var _ABCIApplication_serviceDesc = grpc.ServiceDesc{ MethodName: "PrepareProposal", Handler: _ABCIApplication_PrepareProposal_Handler, }, + { + MethodName: "ProcessProposal", + Handler: _ABCIApplication_ProcessProposal_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "tendermint/abci/types.proto", @@ -4508,6 +4711,29 @@ func (m *Request_PrepareProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) } return len(dAtA) - i, nil } +func (m *Request_ProcessProposal) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Request_ProcessProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + if m.ProcessProposal != nil { + { + size, err := m.ProcessProposal.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 + } + return len(dAtA) - i, nil +} func (m *RequestEcho) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -4703,12 +4929,12 @@ func (m *RequestInitChain) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x12 } - n18, err18 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) - if err18 != nil { - return 0, err18 + n19, err19 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) + if err19 != nil { + return 0, err19 } - i -= n18 - i = encodeVarintTypes(dAtA, i, uint64(n18)) + i -= n19 + i = encodeVarintTypes(dAtA, i, uint64(n19)) i-- dAtA[i] = 0xa return len(dAtA) - i, nil @@ -5128,6 +5354,48 @@ func (m *RequestPrepareProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } +func (m *RequestProcessProposal) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RequestProcessProposal) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *RequestProcessProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Txs) > 0 { + for iNdEx := len(m.Txs) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Txs[iNdEx]) + copy(dAtA[i:], m.Txs[iNdEx]) + i = encodeVarintTypes(dAtA, i, uint64(len(m.Txs[iNdEx]))) + i-- + dAtA[i] = 0x12 + } + } + { + size, err := m.Header.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTypes(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + func (m *Response) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -5521,6 +5789,29 @@ func (m *Response_PrepareProposal) MarshalToSizedBuffer(dAtA []byte) (int, error } return len(dAtA) - i, nil } +func (m *Response_ProcessProposal) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Response_ProcessProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + if m.ProcessProposal != nil { + { + size, err := m.ProcessProposal.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTypes(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x92 + } + return len(dAtA) - i, nil +} func (m *ResponseException) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -6261,20 +6552,20 @@ func (m *ResponseApplySnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, err } } if len(m.RefetchChunks) > 0 { - dAtA43 := make([]byte, len(m.RefetchChunks)*10) - var j42 int + dAtA46 := make([]byte, len(m.RefetchChunks)*10) + var j45 int for _, num := range m.RefetchChunks { for num >= 1<<7 { - dAtA43[j42] = uint8(uint64(num)&0x7f | 0x80) + dAtA46[j45] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j42++ + j45++ } - dAtA43[j42] = uint8(num) - j42++ + dAtA46[j45] = uint8(num) + j45++ } - i -= j42 - copy(dAtA[i:], dAtA43[:j42]) - i = encodeVarintTypes(dAtA, i, uint64(j42)) + i -= j45 + copy(dAtA[i:], dAtA46[:j45]) + i = encodeVarintTypes(dAtA, i, uint64(j45)) i-- dAtA[i] = 0x12 } @@ -6318,7 +6609,7 @@ func (m *ResponsePrepareProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *ConsensusParams) Marshal() (dAtA []byte, err error) { +func (m *ResponseProcessProposal) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6328,30 +6619,67 @@ func (m *ConsensusParams) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *ConsensusParams) MarshalTo(dAtA []byte) (int, error) { +func (m *ResponseProcessProposal) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *ConsensusParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *ResponseProcessProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.Version != nil { - { - size, err := m.Version.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTypes(dAtA, i, uint64(size)) + if len(m.Evidence) > 0 { + for iNdEx := len(m.Evidence) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Evidence[iNdEx]) + copy(dAtA[i:], m.Evidence[iNdEx]) + i = encodeVarintTypes(dAtA, i, uint64(len(m.Evidence[iNdEx]))) + i-- + dAtA[i] = 0x12 } - i-- - dAtA[i] = 0x22 } - if m.Validator != nil { - { + if m.Result != 0 { + i = encodeVarintTypes(dAtA, i, uint64(m.Result)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ConsensusParams) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ConsensusParams) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ConsensusParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Version != nil { + { + size, err := m.Version.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTypes(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + } + if m.Validator != nil { + { size, err := m.Validator.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err @@ -6753,12 +7081,12 @@ func (m *Evidence) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x28 } - n51, err51 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) - if err51 != nil { - return 0, err51 + n54, err54 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) + if err54 != nil { + return 0, err54 } - i -= n51 - i = encodeVarintTypes(dAtA, i, uint64(n51)) + i -= n54 + i = encodeVarintTypes(dAtA, i, uint64(n54)) i-- dAtA[i] = 0x22 if m.Height != 0 { @@ -7051,6 +7379,18 @@ func (m *Request_PrepareProposal) Size() (n int) { } return n } +func (m *Request_ProcessProposal) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.ProcessProposal != nil { + l = m.ProcessProposal.Size() + n += 2 + l + sovTypes(uint64(l)) + } + return n +} func (m *RequestEcho) Size() (n int) { if m == nil { return 0 @@ -7319,6 +7659,23 @@ func (m *RequestPrepareProposal) Size() (n int) { return n } +func (m *RequestProcessProposal) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Header.Size() + n += 1 + l + sovTypes(uint64(l)) + if len(m.Txs) > 0 { + for _, b := range m.Txs { + l = len(b) + n += 1 + l + sovTypes(uint64(l)) + } + } + return n +} + func (m *Response) Size() (n int) { if m == nil { return 0 @@ -7535,6 +7892,18 @@ func (m *Response_PrepareProposal) Size() (n int) { } return n } +func (m *Response_ProcessProposal) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.ProcessProposal != nil { + l = m.ProcessProposal.Size() + n += 2 + l + sovTypes(uint64(l)) + } + return n +} func (m *ResponseException) Size() (n int) { if m == nil { return 0 @@ -7898,6 +8267,24 @@ func (m *ResponsePrepareProposal) Size() (n int) { return n } +func (m *ResponseProcessProposal) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Result != 0 { + n += 1 + sovTypes(uint64(m.Result)) + } + if len(m.Evidence) > 0 { + for _, b := range m.Evidence { + l = len(b) + n += 1 + l + sovTypes(uint64(l)) + } + } + return n +} + func (m *ConsensusParams) Size() (n int) { if m == nil { return 0 @@ -8707,6 +9094,41 @@ func (m *Request) Unmarshal(dAtA []byte) error { } m.Value = &Request_PrepareProposal{v} iNdEx = postIndex + case 17: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProcessProposal", 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 + } + v := &RequestProcessProposal{} + if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Value = &Request_ProcessProposal{v} + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTypes(dAtA[iNdEx:]) @@ -10490,6 +10912,121 @@ func (m *RequestPrepareProposal) Unmarshal(dAtA []byte) error { } 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 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: 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 Header", 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.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + 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 + 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 *Response) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -11114,6 +11651,41 @@ func (m *Response) Unmarshal(dAtA []byte) error { } m.Value = &Response_PrepareProposal{v} iNdEx = postIndex + case 18: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProcessProposal", 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 + } + v := &ResponseProcessProposal{} + if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Value = &Response_ProcessProposal{v} + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTypes(dAtA[iNdEx:]) @@ -13508,6 +14080,107 @@ func (m *ResponsePrepareProposal) Unmarshal(dAtA []byte) error { } return nil } +func (m *ResponseProcessProposal) 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: ResponseProcessProposal: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ResponseProcessProposal: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Result", wireType) + } + m.Result = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Result |= ResponseProcessProposal_Result(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Evidence", 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.Evidence = append(m.Evidence, make([]byte, postIndex-iNdEx)) + copy(m.Evidence[len(m.Evidence)-1], dAtA[iNdEx:postIndex]) + 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 *ConsensusParams) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/consensus/byzantine_test.go b/consensus/byzantine_test.go index f5e372ae22..f7aac09452 100644 --- a/consensus/byzantine_test.go +++ b/consensus/byzantine_test.go @@ -202,7 +202,7 @@ func TestByzantinePrevoteEquivocation(t *testing.T) { // Make proposal propBlockID := types.BlockID{Hash: block.Hash(), PartSetHeader: blockParts.Header()} - proposal := types.NewProposal(height, round, lazyProposer.ValidRound, propBlockID) + proposal := types.NewProposal(height, round, lazyProposer.TwoThirdPrevoteRound, propBlockID) p := proposal.ToProto() if err := lazyProposer.privValidator.SignProposal(lazyProposer.state.ChainID, p); err == nil { proposal.Signature = p.Signature @@ -441,7 +441,7 @@ func byzantineDecideProposalFunc(t *testing.T, height int64, round int32, cs *St // Create a new proposal block from state/txs from the mempool. block1, blockParts1 := cs.createProposalBlock() - polRound, propBlockID := cs.ValidRound, types.BlockID{Hash: block1.Hash(), PartSetHeader: blockParts1.Header()} + polRound, propBlockID := cs.TwoThirdPrevoteRound, types.BlockID{Hash: block1.Hash(), PartSetHeader: blockParts1.Header()} proposal1 := types.NewProposal(height, round, polRound, propBlockID) p1 := proposal1.ToProto() if err := cs.privValidator.SignProposal(cs.state.ChainID, p1); err != nil { @@ -455,7 +455,7 @@ func byzantineDecideProposalFunc(t *testing.T, height int64, round int32, cs *St // Create a new proposal block from state/txs from the mempool. block2, blockParts2 := cs.createProposalBlock() - polRound, propBlockID = cs.ValidRound, types.BlockID{Hash: block2.Hash(), PartSetHeader: blockParts2.Header()} + polRound, propBlockID = cs.TwoThirdPrevoteRound, types.BlockID{Hash: block2.Hash(), PartSetHeader: blockParts2.Header()} proposal2 := types.NewProposal(height, round, polRound, propBlockID) p2 := proposal2.ToProto() if err := cs.privValidator.SignProposal(cs.state.ChainID, p2); err != nil { diff --git a/consensus/common_test.go b/consensus/common_test.go index 60bb9eed5c..428f4ec5ba 100644 --- a/consensus/common_test.go +++ b/consensus/common_test.go @@ -206,7 +206,7 @@ func decideProposal( ) (proposal *types.Proposal, block *types.Block) { cs1.mtx.Lock() block, blockParts := cs1.createProposalBlock() - validRound := cs1.ValidRound + validRound := cs1.TwoThirdPrevoteRound chainID := cs1.state.ChainID cs1.mtx.Unlock() if block == nil { diff --git a/consensus/state.go b/consensus/state.go index ac016c91a1..3d9f6316a2 100644 --- a/consensus/state.go +++ b/consensus/state.go @@ -666,9 +666,9 @@ func (cs *State) updateToState(state sm.State) { cs.LockedRound = -1 cs.LockedBlock = nil cs.LockedBlockParts = nil - cs.ValidRound = -1 - cs.ValidBlock = nil - cs.ValidBlockParts = nil + cs.TwoThirdPrevoteRound = -1 + cs.TwoThirdPrevoteBlock = nil + cs.TwoThirdPrevoteBlockParts = nil cs.Votes = cstypes.NewHeightVoteSet(state.ChainID, height, validators) cs.CommitRound = -1 cs.LastValidators = state.LastValidators @@ -1108,9 +1108,9 @@ func (cs *State) defaultDecideProposal(height int64, round int32) { var blockParts *types.PartSet // Decide on block - if cs.ValidBlock != nil { + if cs.TwoThirdPrevoteBlock != nil { // If there is valid block, choose that. - block, blockParts = cs.ValidBlock, cs.ValidBlockParts + block, blockParts = cs.TwoThirdPrevoteBlock, cs.TwoThirdPrevoteBlockParts } else { // Create a new proposal block from state/txs from the mempool. block, blockParts = cs.createProposalBlock() @@ -1127,7 +1127,7 @@ func (cs *State) defaultDecideProposal(height int64, round int32) { // Make proposal propBlockID := types.BlockID{Hash: block.Hash(), PartSetHeader: blockParts.Header()} - proposal := types.NewProposal(height, round, cs.ValidRound, propBlockID) + proposal := types.NewProposal(height, round, cs.TwoThirdPrevoteRound, propBlockID) p := proposal.ToProto() if err := cs.privValidator.SignProposal(cs.state.ChainID, p); err == nil { proposal.Signature = p.Signature @@ -1258,6 +1258,19 @@ func (cs *State) defaultDoPrevote(height int64, round int32) { return } + stateMachineValidBlock, err := cs.blockExec.ProcessProposal(cs.ProposalBlock) + if err != nil { + cs.Logger.Error("state machine returned an error when trying to process proposal block", "err", err) + } + + // Vote nil if application invalidated the block + if !stateMachineValidBlock { + // Consensus says we must vote nil + logger.Error("prevote step: consensus deems this block to be mustVoteNil", "err", err) + cs.signAddVote(tmproto.PrevoteType, nil, types.PartSetHeader{}) + return + } + // Prevote cs.ProposalBlock // NOTE: the proposal signature is validated when it is received, // and the proposal block parts are validated as they are received (against the merkle hash in the proposal) @@ -1879,6 +1892,7 @@ func (cs *State) addProposalBlockPart(msg *BlockPartMessage, peerID p2p.ID) (add cs.ProposalBlock = block + // NOTE: it's possible to receive complete proposal blocks for future rounds without having the proposal cs.Logger.Info("received complete proposal block", "height", cs.ProposalBlock.Height, "hash", cs.ProposalBlock.Hash()) @@ -1889,7 +1903,7 @@ func (cs *State) addProposalBlockPart(msg *BlockPartMessage, peerID p2p.ID) (add // Update Valid* if we can. prevotes := cs.Votes.Prevotes(cs.Round) blockID, hasTwoThirds := prevotes.TwoThirdsMajority() - if hasTwoThirds && !blockID.IsZero() && (cs.ValidRound < cs.Round) { + if hasTwoThirds && !blockID.IsZero() && (cs.TwoThirdPrevoteRound < cs.Round) { if cs.ProposalBlock.HashesTo(blockID.Hash) { cs.Logger.Debug( "updating valid block to new proposal block", @@ -1897,9 +1911,9 @@ func (cs *State) addProposalBlockPart(msg *BlockPartMessage, peerID p2p.ID) (add "valid_block_hash", cs.ProposalBlock.Hash(), ) - cs.ValidRound = cs.Round - cs.ValidBlock = cs.ProposalBlock - cs.ValidBlockParts = cs.ProposalBlockParts + cs.TwoThirdPrevoteRound = cs.Round + cs.TwoThirdPrevoteBlock = cs.ProposalBlock + cs.TwoThirdPrevoteBlockParts = cs.ProposalBlockParts } // TODO: In case there is +2/3 majority in Prevotes set for some // block and cs.ProposalBlock contains different block, either @@ -2064,12 +2078,12 @@ func (cs *State) addVote(vote *types.Vote, peerID p2p.ID) (added bool, err error // Update Valid* if we can. // NOTE: our proposal block may be nil or not what received a polka.. - if len(blockID.Hash) != 0 && (cs.ValidRound < vote.Round) && (vote.Round == cs.Round) { + if len(blockID.Hash) != 0 && (cs.TwoThirdPrevoteRound < vote.Round) && (vote.Round == cs.Round) { if cs.ProposalBlock.HashesTo(blockID.Hash) { - cs.Logger.Debug("updating valid block because of POL", "valid_round", cs.ValidRound, "pol_round", vote.Round) - cs.ValidRound = vote.Round - cs.ValidBlock = cs.ProposalBlock - cs.ValidBlockParts = cs.ProposalBlockParts + cs.Logger.Debug("updating valid block because of POL", "valid_round", cs.TwoThirdPrevoteRound, "pol_round", vote.Round) + cs.TwoThirdPrevoteRound = vote.Round + cs.TwoThirdPrevoteBlock = cs.ProposalBlock + cs.TwoThirdPrevoteBlockParts = cs.ProposalBlockParts } else { cs.Logger.Debug( "valid block we do not know about; set ProposalBlock=nil", diff --git a/consensus/state_test.go b/consensus/state_test.go index 1e3887fd97..8403f49506 100644 --- a/consensus/state_test.go +++ b/consensus/state_test.go @@ -1199,9 +1199,9 @@ func TestProposeValidBlock(t *testing.T) { rs = cs1.GetRoundState() assert.True(t, bytes.Equal(rs.ProposalBlock.Hash(), propBlockHash)) - assert.True(t, bytes.Equal(rs.ProposalBlock.Hash(), rs.ValidBlock.Hash())) - assert.True(t, rs.Proposal.POLRound == rs.ValidRound) - assert.True(t, bytes.Equal(rs.Proposal.BlockID.Hash, rs.ValidBlock.Hash())) + assert.True(t, bytes.Equal(rs.ProposalBlock.Hash(), rs.TwoThirdPrevoteBlock.Hash())) + assert.True(t, rs.Proposal.POLRound == rs.TwoThirdPrevoteRound) + assert.True(t, bytes.Equal(rs.Proposal.BlockID.Hash, rs.TwoThirdPrevoteBlock.Hash())) } // What we want: @@ -1249,9 +1249,9 @@ func TestSetValidBlockOnDelayedPrevote(t *testing.T) { rs = cs1.GetRoundState() - assert.True(t, rs.ValidBlock == nil) - assert.True(t, rs.ValidBlockParts == nil) - assert.True(t, rs.ValidRound == -1) + assert.True(t, rs.TwoThirdPrevoteBlock == nil) + assert.True(t, rs.TwoThirdPrevoteBlockParts == nil) + assert.True(t, rs.TwoThirdPrevoteRound == -1) // vs2 send (delayed) prevote for propBlock signAddVotes(cs1, tmproto.PrevoteType, propBlockHash, propBlockParts.Header(), vs4) @@ -1260,9 +1260,9 @@ func TestSetValidBlockOnDelayedPrevote(t *testing.T) { rs = cs1.GetRoundState() - assert.True(t, bytes.Equal(rs.ValidBlock.Hash(), propBlockHash)) - assert.True(t, rs.ValidBlockParts.Header().Equals(propBlockParts.Header())) - assert.True(t, rs.ValidRound == round) + assert.True(t, bytes.Equal(rs.TwoThirdPrevoteBlock.Hash(), propBlockHash)) + assert.True(t, rs.TwoThirdPrevoteBlockParts.Header().Equals(propBlockParts.Header())) + assert.True(t, rs.TwoThirdPrevoteRound == round) } // What we want: @@ -1316,9 +1316,9 @@ func TestSetValidBlockOnDelayedProposal(t *testing.T) { ensureNewProposal(proposalCh, height, round) rs := cs1.GetRoundState() - assert.True(t, bytes.Equal(rs.ValidBlock.Hash(), propBlockHash)) - assert.True(t, rs.ValidBlockParts.Header().Equals(propBlockParts.Header())) - assert.True(t, rs.ValidRound == round) + assert.True(t, bytes.Equal(rs.TwoThirdPrevoteBlock.Hash(), propBlockHash)) + assert.True(t, rs.TwoThirdPrevoteBlockParts.Header().Equals(propBlockParts.Header())) + assert.True(t, rs.TwoThirdPrevoteRound == round) } // 4 vals, 3 Nil Precommits at P0 diff --git a/consensus/types/round_state.go b/consensus/types/round_state.go index 9e67b76c07..48e0f4ad67 100644 --- a/consensus/types/round_state.go +++ b/consensus/types/round_state.go @@ -81,11 +81,11 @@ type RoundState struct { LockedBlockParts *types.PartSet `json:"locked_block_parts"` // Last known round with POL for non-nil valid block. - ValidRound int32 `json:"valid_round"` - ValidBlock *types.Block `json:"valid_block"` // Last known block of POL mentioned above. + TwoThirdPrevoteRound int32 `json:"valid_round"` + TwoThirdPrevoteBlock *types.Block `json:"valid_block"` // Last known block of POL mentioned above. // Last known block parts of POL mentioned above. - ValidBlockParts *types.PartSet `json:"valid_block_parts"` + TwoThirdPrevoteBlockParts *types.PartSet `json:"valid_block_parts"` Votes *HeightVoteSet `json:"votes"` CommitRound int32 `json:"commit_round"` // LastCommit *types.VoteSet `json:"last_commit"` // Last precommits at Height-1 @@ -119,7 +119,7 @@ func (rs *RoundState) RoundStateSimple() RoundStateSimple { StartTime: rs.StartTime, ProposalBlockHash: rs.ProposalBlock.Hash(), LockedBlockHash: rs.LockedBlock.Hash(), - ValidBlockHash: rs.ValidBlock.Hash(), + ValidBlockHash: rs.TwoThirdPrevoteBlock.Hash(), Votes: votesJSON, Proposer: types.ValidatorInfo{ Address: addr, @@ -186,8 +186,8 @@ func (rs *RoundState) StringIndented(indent string) string { %s ProposalBlock: %v %v %s LockedRound: %v %s LockedBlock: %v %v -%s ValidRound: %v -%s ValidBlock: %v %v +%s TwoThirdPrevoteRound: %v +%s TwoThirdPrevoteBlock: %v %v %s Votes: %v %s LastCommit: %v %s LastValidators:%v @@ -200,8 +200,8 @@ func (rs *RoundState) StringIndented(indent string) string { indent, rs.ProposalBlockParts.StringShort(), rs.ProposalBlock.StringShort(), indent, rs.LockedRound, indent, rs.LockedBlockParts.StringShort(), rs.LockedBlock.StringShort(), - indent, rs.ValidRound, - indent, rs.ValidBlockParts.StringShort(), rs.ValidBlock.StringShort(), + indent, rs.TwoThirdPrevoteRound, + indent, rs.TwoThirdPrevoteBlockParts.StringShort(), rs.TwoThirdPrevoteBlock.StringShort(), indent, rs.Votes.StringIndented(indent+" "), indent, rs.LastCommit.StringShort(), indent, rs.LastValidators.StringIndented(indent+" "), diff --git a/proto/tendermint/abci/types.pb.go b/proto/tendermint/abci/types.pb.go index 7313c47145..139a7e238a 100644 --- a/proto/tendermint/abci/types.pb.go +++ b/proto/tendermint/abci/types.pb.go @@ -120,7 +120,7 @@ func (x ResponseOfferSnapshot_Result) String() string { } func (ResponseOfferSnapshot_Result) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{31, 0} + return fileDescriptor_252557cfdd89a31a, []int{32, 0} } type ResponseApplySnapshotChunk_Result int32 @@ -157,7 +157,35 @@ func (x ResponseApplySnapshotChunk_Result) String() string { } func (ResponseApplySnapshotChunk_Result) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{33, 0} + return fileDescriptor_252557cfdd89a31a, []int{34, 0} +} + +type ResponseProcessProposal_Result int32 + +const ( + ResponseProcessProposal_UNKNOWN ResponseProcessProposal_Result = 0 + ResponseProcessProposal_ACCEPT ResponseProcessProposal_Result = 1 + ResponseProcessProposal_REJECT ResponseProcessProposal_Result = 2 +) + +var ResponseProcessProposal_Result_name = map[int32]string{ + 0: "UNKNOWN", + 1: "ACCEPT", + 2: "REJECT", +} + +var ResponseProcessProposal_Result_value = map[string]int32{ + "UNKNOWN": 0, + "ACCEPT": 1, + "REJECT": 2, +} + +func (x ResponseProcessProposal_Result) String() string { + return proto.EnumName(ResponseProcessProposal_Result_name, int32(x)) +} + +func (ResponseProcessProposal_Result) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_252557cfdd89a31a, []int{36, 0} } type Request struct { @@ -178,6 +206,7 @@ type Request struct { // *Request_LoadSnapshotChunk // *Request_ApplySnapshotChunk // *Request_PrepareProposal + // *Request_ProcessProposal Value isRequest_Value `protobuf_oneof:"value"` } @@ -268,6 +297,9 @@ type Request_ApplySnapshotChunk struct { type Request_PrepareProposal struct { PrepareProposal *RequestPrepareProposal `protobuf:"bytes,16,opt,name=prepare_proposal,json=prepareProposal,proto3,oneof" json:"prepare_proposal,omitempty"` } +type Request_ProcessProposal struct { + ProcessProposal *RequestProcessProposal `protobuf:"bytes,17,opt,name=process_proposal,json=processProposal,proto3,oneof" json:"process_proposal,omitempty"` +} func (*Request_Echo) isRequest_Value() {} func (*Request_Flush) isRequest_Value() {} @@ -285,6 +317,7 @@ func (*Request_OfferSnapshot) isRequest_Value() {} func (*Request_LoadSnapshotChunk) isRequest_Value() {} func (*Request_ApplySnapshotChunk) isRequest_Value() {} func (*Request_PrepareProposal) isRequest_Value() {} +func (*Request_ProcessProposal) isRequest_Value() {} func (m *Request) GetValue() isRequest_Value { if m != nil { @@ -405,6 +438,13 @@ func (m *Request) GetPrepareProposal() *RequestPrepareProposal { return nil } +func (m *Request) GetProcessProposal() *RequestProcessProposal { + if x, ok := m.GetValue().(*Request_ProcessProposal); ok { + return x.ProcessProposal + } + return nil +} + // XXX_OneofWrappers is for the internal use of the proto package. func (*Request) XXX_OneofWrappers() []interface{} { return []interface{}{ @@ -424,6 +464,7 @@ func (*Request) XXX_OneofWrappers() []interface{} { (*Request_LoadSnapshotChunk)(nil), (*Request_ApplySnapshotChunk)(nil), (*Request_PrepareProposal)(nil), + (*Request_ProcessProposal)(nil), } } @@ -1284,6 +1325,58 @@ func (m *RequestPrepareProposal) GetBlockDataSize() int64 { return 0 } +type RequestProcessProposal struct { + Header types1.Header `protobuf:"bytes,1,opt,name=header,proto3" json:"header"` + Txs [][]byte `protobuf:"bytes,2,rep,name=txs,proto3" json:"txs,omitempty"` +} + +func (m *RequestProcessProposal) Reset() { *m = RequestProcessProposal{} } +func (m *RequestProcessProposal) String() string { return proto.CompactTextString(m) } +func (*RequestProcessProposal) ProtoMessage() {} +func (*RequestProcessProposal) Descriptor() ([]byte, []int) { + return fileDescriptor_252557cfdd89a31a, []int{17} +} +func (m *RequestProcessProposal) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RequestProcessProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RequestProcessProposal.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *RequestProcessProposal) XXX_Merge(src proto.Message) { + xxx_messageInfo_RequestProcessProposal.Merge(m, src) +} +func (m *RequestProcessProposal) XXX_Size() int { + return m.Size() +} +func (m *RequestProcessProposal) XXX_DiscardUnknown() { + xxx_messageInfo_RequestProcessProposal.DiscardUnknown(m) +} + +var xxx_messageInfo_RequestProcessProposal proto.InternalMessageInfo + +func (m *RequestProcessProposal) GetHeader() types1.Header { + if m != nil { + return m.Header + } + return types1.Header{} +} + +func (m *RequestProcessProposal) GetTxs() [][]byte { + if m != nil { + return m.Txs + } + return nil +} + type Response struct { // Types that are valid to be assigned to Value: // *Response_Exception @@ -1303,6 +1396,7 @@ type Response struct { // *Response_LoadSnapshotChunk // *Response_ApplySnapshotChunk // *Response_PrepareProposal + // *Response_ProcessProposal Value isResponse_Value `protobuf_oneof:"value"` } @@ -1310,7 +1404,7 @@ func (m *Response) Reset() { *m = Response{} } func (m *Response) String() string { return proto.CompactTextString(m) } func (*Response) ProtoMessage() {} func (*Response) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{17} + return fileDescriptor_252557cfdd89a31a, []int{18} } func (m *Response) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1396,6 +1490,9 @@ type Response_ApplySnapshotChunk struct { type Response_PrepareProposal struct { PrepareProposal *ResponsePrepareProposal `protobuf:"bytes,17,opt,name=prepare_proposal,json=prepareProposal,proto3,oneof" json:"prepare_proposal,omitempty"` } +type Response_ProcessProposal struct { + ProcessProposal *ResponseProcessProposal `protobuf:"bytes,18,opt,name=process_proposal,json=processProposal,proto3,oneof" json:"process_proposal,omitempty"` +} func (*Response_Exception) isResponse_Value() {} func (*Response_Echo) isResponse_Value() {} @@ -1414,6 +1511,7 @@ func (*Response_OfferSnapshot) isResponse_Value() {} func (*Response_LoadSnapshotChunk) isResponse_Value() {} func (*Response_ApplySnapshotChunk) isResponse_Value() {} func (*Response_PrepareProposal) isResponse_Value() {} +func (*Response_ProcessProposal) isResponse_Value() {} func (m *Response) GetValue() isResponse_Value { if m != nil { @@ -1541,6 +1639,13 @@ func (m *Response) GetPrepareProposal() *ResponsePrepareProposal { return nil } +func (m *Response) GetProcessProposal() *ResponseProcessProposal { + if x, ok := m.GetValue().(*Response_ProcessProposal); ok { + return x.ProcessProposal + } + return nil +} + // XXX_OneofWrappers is for the internal use of the proto package. func (*Response) XXX_OneofWrappers() []interface{} { return []interface{}{ @@ -1561,6 +1666,7 @@ func (*Response) XXX_OneofWrappers() []interface{} { (*Response_LoadSnapshotChunk)(nil), (*Response_ApplySnapshotChunk)(nil), (*Response_PrepareProposal)(nil), + (*Response_ProcessProposal)(nil), } } @@ -1573,7 +1679,7 @@ func (m *ResponseException) Reset() { *m = ResponseException{} } func (m *ResponseException) String() string { return proto.CompactTextString(m) } func (*ResponseException) ProtoMessage() {} func (*ResponseException) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{18} + return fileDescriptor_252557cfdd89a31a, []int{19} } func (m *ResponseException) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1617,7 +1723,7 @@ func (m *ResponseEcho) Reset() { *m = ResponseEcho{} } func (m *ResponseEcho) String() string { return proto.CompactTextString(m) } func (*ResponseEcho) ProtoMessage() {} func (*ResponseEcho) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{19} + return fileDescriptor_252557cfdd89a31a, []int{20} } func (m *ResponseEcho) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1660,7 +1766,7 @@ func (m *ResponseFlush) Reset() { *m = ResponseFlush{} } func (m *ResponseFlush) String() string { return proto.CompactTextString(m) } func (*ResponseFlush) ProtoMessage() {} func (*ResponseFlush) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{20} + return fileDescriptor_252557cfdd89a31a, []int{21} } func (m *ResponseFlush) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1701,7 +1807,7 @@ func (m *ResponseInfo) Reset() { *m = ResponseInfo{} } func (m *ResponseInfo) String() string { return proto.CompactTextString(m) } func (*ResponseInfo) ProtoMessage() {} func (*ResponseInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{21} + return fileDescriptor_252557cfdd89a31a, []int{22} } func (m *ResponseInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1777,7 +1883,7 @@ func (m *ResponseSetOption) Reset() { *m = ResponseSetOption{} } func (m *ResponseSetOption) String() string { return proto.CompactTextString(m) } func (*ResponseSetOption) ProtoMessage() {} func (*ResponseSetOption) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{22} + return fileDescriptor_252557cfdd89a31a, []int{23} } func (m *ResponseSetOption) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1837,7 +1943,7 @@ func (m *ResponseInitChain) Reset() { *m = ResponseInitChain{} } func (m *ResponseInitChain) String() string { return proto.CompactTextString(m) } func (*ResponseInitChain) ProtoMessage() {} func (*ResponseInitChain) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{23} + return fileDescriptor_252557cfdd89a31a, []int{24} } func (m *ResponseInitChain) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1904,7 +2010,7 @@ func (m *ResponseQuery) Reset() { *m = ResponseQuery{} } func (m *ResponseQuery) String() string { return proto.CompactTextString(m) } func (*ResponseQuery) ProtoMessage() {} func (*ResponseQuery) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{24} + return fileDescriptor_252557cfdd89a31a, []int{25} } func (m *ResponseQuery) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2004,7 +2110,7 @@ func (m *ResponseBeginBlock) Reset() { *m = ResponseBeginBlock{} } func (m *ResponseBeginBlock) String() string { return proto.CompactTextString(m) } func (*ResponseBeginBlock) ProtoMessage() {} func (*ResponseBeginBlock) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{25} + return fileDescriptor_252557cfdd89a31a, []int{26} } func (m *ResponseBeginBlock) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2055,7 +2161,7 @@ func (m *ResponseCheckTx) Reset() { *m = ResponseCheckTx{} } func (m *ResponseCheckTx) String() string { return proto.CompactTextString(m) } func (*ResponseCheckTx) ProtoMessage() {} func (*ResponseCheckTx) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{26} + return fileDescriptor_252557cfdd89a31a, []int{27} } func (m *ResponseCheckTx) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2155,7 +2261,7 @@ func (m *ResponseDeliverTx) Reset() { *m = ResponseDeliverTx{} } func (m *ResponseDeliverTx) String() string { return proto.CompactTextString(m) } func (*ResponseDeliverTx) ProtoMessage() {} func (*ResponseDeliverTx) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{27} + return fileDescriptor_252557cfdd89a31a, []int{28} } func (m *ResponseDeliverTx) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2250,7 +2356,7 @@ func (m *ResponseEndBlock) Reset() { *m = ResponseEndBlock{} } func (m *ResponseEndBlock) String() string { return proto.CompactTextString(m) } func (*ResponseEndBlock) ProtoMessage() {} func (*ResponseEndBlock) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{28} + return fileDescriptor_252557cfdd89a31a, []int{29} } func (m *ResponseEndBlock) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2310,7 +2416,7 @@ func (m *ResponseCommit) Reset() { *m = ResponseCommit{} } func (m *ResponseCommit) String() string { return proto.CompactTextString(m) } func (*ResponseCommit) ProtoMessage() {} func (*ResponseCommit) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{29} + return fileDescriptor_252557cfdd89a31a, []int{30} } func (m *ResponseCommit) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2361,7 +2467,7 @@ func (m *ResponseListSnapshots) Reset() { *m = ResponseListSnapshots{} } func (m *ResponseListSnapshots) String() string { return proto.CompactTextString(m) } func (*ResponseListSnapshots) ProtoMessage() {} func (*ResponseListSnapshots) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{30} + return fileDescriptor_252557cfdd89a31a, []int{31} } func (m *ResponseListSnapshots) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2405,7 +2511,7 @@ func (m *ResponseOfferSnapshot) Reset() { *m = ResponseOfferSnapshot{} } func (m *ResponseOfferSnapshot) String() string { return proto.CompactTextString(m) } func (*ResponseOfferSnapshot) ProtoMessage() {} func (*ResponseOfferSnapshot) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{31} + return fileDescriptor_252557cfdd89a31a, []int{32} } func (m *ResponseOfferSnapshot) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2449,7 +2555,7 @@ func (m *ResponseLoadSnapshotChunk) Reset() { *m = ResponseLoadSnapshotC func (m *ResponseLoadSnapshotChunk) String() string { return proto.CompactTextString(m) } func (*ResponseLoadSnapshotChunk) ProtoMessage() {} func (*ResponseLoadSnapshotChunk) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{32} + return fileDescriptor_252557cfdd89a31a, []int{33} } func (m *ResponseLoadSnapshotChunk) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2495,7 +2601,7 @@ func (m *ResponseApplySnapshotChunk) Reset() { *m = ResponseApplySnapsho func (m *ResponseApplySnapshotChunk) String() string { return proto.CompactTextString(m) } func (*ResponseApplySnapshotChunk) ProtoMessage() {} func (*ResponseApplySnapshotChunk) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{33} + return fileDescriptor_252557cfdd89a31a, []int{34} } func (m *ResponseApplySnapshotChunk) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2553,7 +2659,7 @@ func (m *ResponsePrepareProposal) Reset() { *m = ResponsePrepareProposal func (m *ResponsePrepareProposal) String() string { return proto.CompactTextString(m) } func (*ResponsePrepareProposal) ProtoMessage() {} func (*ResponsePrepareProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{34} + return fileDescriptor_252557cfdd89a31a, []int{35} } func (m *ResponsePrepareProposal) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2589,6 +2695,58 @@ func (m *ResponsePrepareProposal) GetBlockData() [][]byte { return nil } +type ResponseProcessProposal struct { + Result ResponseProcessProposal_Result `protobuf:"varint,1,opt,name=result,proto3,enum=tendermint.abci.ResponseProcessProposal_Result" json:"result,omitempty"` + Evidence [][]byte `protobuf:"bytes,2,rep,name=evidence,proto3" json:"evidence,omitempty"` +} + +func (m *ResponseProcessProposal) Reset() { *m = ResponseProcessProposal{} } +func (m *ResponseProcessProposal) String() string { return proto.CompactTextString(m) } +func (*ResponseProcessProposal) ProtoMessage() {} +func (*ResponseProcessProposal) Descriptor() ([]byte, []int) { + return fileDescriptor_252557cfdd89a31a, []int{36} +} +func (m *ResponseProcessProposal) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ResponseProcessProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ResponseProcessProposal.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ResponseProcessProposal) XXX_Merge(src proto.Message) { + xxx_messageInfo_ResponseProcessProposal.Merge(m, src) +} +func (m *ResponseProcessProposal) XXX_Size() int { + return m.Size() +} +func (m *ResponseProcessProposal) XXX_DiscardUnknown() { + xxx_messageInfo_ResponseProcessProposal.DiscardUnknown(m) +} + +var xxx_messageInfo_ResponseProcessProposal proto.InternalMessageInfo + +func (m *ResponseProcessProposal) GetResult() ResponseProcessProposal_Result { + if m != nil { + return m.Result + } + return ResponseProcessProposal_UNKNOWN +} + +func (m *ResponseProcessProposal) GetEvidence() [][]byte { + if m != nil { + return m.Evidence + } + return nil +} + // ConsensusParams contains all consensus-relevant parameters // that can be adjusted by the abci app type ConsensusParams struct { @@ -2602,7 +2760,7 @@ func (m *ConsensusParams) Reset() { *m = ConsensusParams{} } func (m *ConsensusParams) String() string { return proto.CompactTextString(m) } func (*ConsensusParams) ProtoMessage() {} func (*ConsensusParams) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{35} + return fileDescriptor_252557cfdd89a31a, []int{37} } func (m *ConsensusParams) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2671,7 +2829,7 @@ func (m *BlockParams) Reset() { *m = BlockParams{} } func (m *BlockParams) String() string { return proto.CompactTextString(m) } func (*BlockParams) ProtoMessage() {} func (*BlockParams) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{36} + return fileDescriptor_252557cfdd89a31a, []int{38} } func (m *BlockParams) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2723,7 +2881,7 @@ func (m *LastCommitInfo) Reset() { *m = LastCommitInfo{} } func (m *LastCommitInfo) String() string { return proto.CompactTextString(m) } func (*LastCommitInfo) ProtoMessage() {} func (*LastCommitInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{37} + return fileDescriptor_252557cfdd89a31a, []int{39} } func (m *LastCommitInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2778,7 +2936,7 @@ func (m *Event) Reset() { *m = Event{} } func (m *Event) String() string { return proto.CompactTextString(m) } func (*Event) ProtoMessage() {} func (*Event) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{38} + return fileDescriptor_252557cfdd89a31a, []int{40} } func (m *Event) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2832,7 +2990,7 @@ func (m *EventAttribute) Reset() { *m = EventAttribute{} } func (m *EventAttribute) String() string { return proto.CompactTextString(m) } func (*EventAttribute) ProtoMessage() {} func (*EventAttribute) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{39} + return fileDescriptor_252557cfdd89a31a, []int{41} } func (m *EventAttribute) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2897,7 +3055,7 @@ func (m *TxResult) Reset() { *m = TxResult{} } func (m *TxResult) String() string { return proto.CompactTextString(m) } func (*TxResult) ProtoMessage() {} func (*TxResult) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{40} + return fileDescriptor_252557cfdd89a31a, []int{42} } func (m *TxResult) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2972,7 +3130,7 @@ func (m *Validator) Reset() { *m = Validator{} } func (m *Validator) String() string { return proto.CompactTextString(m) } func (*Validator) ProtoMessage() {} func (*Validator) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{41} + return fileDescriptor_252557cfdd89a31a, []int{43} } func (m *Validator) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3025,7 +3183,7 @@ func (m *ValidatorUpdate) Reset() { *m = ValidatorUpdate{} } func (m *ValidatorUpdate) String() string { return proto.CompactTextString(m) } func (*ValidatorUpdate) ProtoMessage() {} func (*ValidatorUpdate) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{42} + return fileDescriptor_252557cfdd89a31a, []int{44} } func (m *ValidatorUpdate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3078,7 +3236,7 @@ func (m *VoteInfo) Reset() { *m = VoteInfo{} } func (m *VoteInfo) String() string { return proto.CompactTextString(m) } func (*VoteInfo) ProtoMessage() {} func (*VoteInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{43} + return fileDescriptor_252557cfdd89a31a, []int{45} } func (m *VoteInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3139,7 +3297,7 @@ func (m *Evidence) Reset() { *m = Evidence{} } func (m *Evidence) String() string { return proto.CompactTextString(m) } func (*Evidence) ProtoMessage() {} func (*Evidence) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{44} + return fileDescriptor_252557cfdd89a31a, []int{46} } func (m *Evidence) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3215,7 +3373,7 @@ func (m *Snapshot) Reset() { *m = Snapshot{} } func (m *Snapshot) String() string { return proto.CompactTextString(m) } func (*Snapshot) ProtoMessage() {} func (*Snapshot) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{45} + return fileDescriptor_252557cfdd89a31a, []int{47} } func (m *Snapshot) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3284,6 +3442,7 @@ func init() { proto.RegisterEnum("tendermint.abci.EvidenceType", EvidenceType_name, EvidenceType_value) proto.RegisterEnum("tendermint.abci.ResponseOfferSnapshot_Result", ResponseOfferSnapshot_Result_name, ResponseOfferSnapshot_Result_value) proto.RegisterEnum("tendermint.abci.ResponseApplySnapshotChunk_Result", ResponseApplySnapshotChunk_Result_name, ResponseApplySnapshotChunk_Result_value) + proto.RegisterEnum("tendermint.abci.ResponseProcessProposal_Result", ResponseProcessProposal_Result_name, ResponseProcessProposal_Result_value) proto.RegisterType((*Request)(nil), "tendermint.abci.Request") proto.RegisterType((*RequestEcho)(nil), "tendermint.abci.RequestEcho") proto.RegisterType((*RequestFlush)(nil), "tendermint.abci.RequestFlush") @@ -3301,6 +3460,7 @@ func init() { proto.RegisterType((*RequestLoadSnapshotChunk)(nil), "tendermint.abci.RequestLoadSnapshotChunk") proto.RegisterType((*RequestApplySnapshotChunk)(nil), "tendermint.abci.RequestApplySnapshotChunk") proto.RegisterType((*RequestPrepareProposal)(nil), "tendermint.abci.RequestPrepareProposal") + proto.RegisterType((*RequestProcessProposal)(nil), "tendermint.abci.RequestProcessProposal") proto.RegisterType((*Response)(nil), "tendermint.abci.Response") proto.RegisterType((*ResponseException)(nil), "tendermint.abci.ResponseException") proto.RegisterType((*ResponseEcho)(nil), "tendermint.abci.ResponseEcho") @@ -3319,6 +3479,7 @@ func init() { proto.RegisterType((*ResponseLoadSnapshotChunk)(nil), "tendermint.abci.ResponseLoadSnapshotChunk") proto.RegisterType((*ResponseApplySnapshotChunk)(nil), "tendermint.abci.ResponseApplySnapshotChunk") proto.RegisterType((*ResponsePrepareProposal)(nil), "tendermint.abci.ResponsePrepareProposal") + proto.RegisterType((*ResponseProcessProposal)(nil), "tendermint.abci.ResponseProcessProposal") proto.RegisterType((*ConsensusParams)(nil), "tendermint.abci.ConsensusParams") proto.RegisterType((*BlockParams)(nil), "tendermint.abci.BlockParams") proto.RegisterType((*LastCommitInfo)(nil), "tendermint.abci.LastCommitInfo") @@ -3335,187 +3496,193 @@ func init() { func init() { proto.RegisterFile("tendermint/abci/types.proto", fileDescriptor_252557cfdd89a31a) } var fileDescriptor_252557cfdd89a31a = []byte{ - // 2872 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x5a, 0x4b, 0x77, 0x23, 0xc5, - 0xf5, 0xd7, 0x5b, 0xea, 0x6b, 0xeb, 0xe1, 0x9a, 0x61, 0x46, 0x34, 0x33, 0xf6, 0xd0, 0x73, 0x80, - 0x61, 0x00, 0xfb, 0x8f, 0x39, 0xf0, 0x1f, 0x02, 0x09, 0x58, 0x1a, 0x0d, 0x32, 0x36, 0xb6, 0xd3, - 0xd6, 0x0c, 0x79, 0x31, 0x4d, 0x49, 0x5d, 0x96, 0x9a, 0x91, 0xba, 0x9b, 0xee, 0x96, 0xb1, 0x67, - 0x99, 0xc7, 0x86, 0x6c, 0x58, 0x66, 0xc3, 0x67, 0xc8, 0x36, 0x8b, 0x9c, 0x6c, 0xb2, 0xe1, 0x9c, - 0x6c, 0x58, 0x66, 0x45, 0x72, 0x60, 0x91, 0x93, 0x7c, 0x81, 0xac, 0x72, 0x92, 0x53, 0x8f, 0x7e, - 0x49, 0x6a, 0x49, 0x86, 0xec, 0xb2, 0xab, 0xba, 0x75, 0xef, 0xed, 0xae, 0xea, 0xaa, 0xdf, 0xfd, - 0xdd, 0x5b, 0x0d, 0x4f, 0x79, 0xc4, 0xd4, 0x89, 0x33, 0x32, 0x4c, 0x6f, 0x0b, 0x77, 0x7b, 0xc6, - 0x96, 0x77, 0x6e, 0x13, 0x77, 0xd3, 0x76, 0x2c, 0xcf, 0x42, 0xd5, 0x70, 0x70, 0x93, 0x0e, 0xca, - 0xd7, 0x23, 0xda, 0x3d, 0xe7, 0xdc, 0xf6, 0xac, 0x2d, 0xdb, 0xb1, 0xac, 0x13, 0xae, 0x2f, 0x5f, - 0x8b, 0x0c, 0x33, 0x3f, 0x51, 0x6f, 0xb1, 0x51, 0x61, 0xfc, 0x88, 0x9c, 0xfb, 0xa3, 0xd7, 0xa7, - 0x6c, 0x6d, 0xec, 0xe0, 0x91, 0x3f, 0xbc, 0xd1, 0xb7, 0xac, 0xfe, 0x90, 0x6c, 0xb1, 0x5e, 0x77, - 0x7c, 0xb2, 0xe5, 0x19, 0x23, 0xe2, 0x7a, 0x78, 0x64, 0x0b, 0x85, 0xcb, 0x7d, 0xab, 0x6f, 0xb1, - 0xe6, 0x16, 0x6d, 0x71, 0xa9, 0xf2, 0xb7, 0x12, 0x14, 0x55, 0xf2, 0xf1, 0x98, 0xb8, 0x1e, 0xda, - 0x86, 0x1c, 0xe9, 0x0d, 0xac, 0x7a, 0xfa, 0x46, 0xfa, 0xd6, 0xca, 0xf6, 0xb5, 0xcd, 0x89, 0xc9, - 0x6d, 0x0a, 0xbd, 0x56, 0x6f, 0x60, 0xb5, 0x53, 0x2a, 0xd3, 0x45, 0xaf, 0x42, 0xfe, 0x64, 0x38, - 0x76, 0x07, 0xf5, 0x0c, 0x33, 0xba, 0x9e, 0x64, 0x74, 0x8f, 0x2a, 0xb5, 0x53, 0x2a, 0xd7, 0xa6, - 0x8f, 0x32, 0xcc, 0x13, 0xab, 0x9e, 0x9d, 0xff, 0xa8, 0x5d, 0xf3, 0x84, 0x3d, 0x8a, 0xea, 0xa2, - 0x06, 0x80, 0x4b, 0x3c, 0xcd, 0xb2, 0x3d, 0xc3, 0x32, 0xeb, 0x39, 0x66, 0xf9, 0x74, 0x92, 0xe5, - 0x31, 0xf1, 0x0e, 0x99, 0x62, 0x3b, 0xa5, 0x4a, 0xae, 0xdf, 0xa1, 0x3e, 0x0c, 0xd3, 0xf0, 0xb4, - 0xde, 0x00, 0x1b, 0x66, 0x3d, 0x3f, 0xdf, 0xc7, 0xae, 0x69, 0x78, 0x4d, 0xaa, 0x48, 0x7d, 0x18, - 0x7e, 0x87, 0x4e, 0xf9, 0xe3, 0x31, 0x71, 0xce, 0xeb, 0x85, 0xf9, 0x53, 0xfe, 0x21, 0x55, 0xa2, - 0x53, 0x66, 0xda, 0xa8, 0x05, 0x2b, 0x5d, 0xd2, 0x37, 0x4c, 0xad, 0x3b, 0xb4, 0x7a, 0x8f, 0xea, - 0x45, 0x66, 0xac, 0x24, 0x19, 0x37, 0xa8, 0x6a, 0x83, 0x6a, 0xb6, 0x53, 0x2a, 0x74, 0x83, 0x1e, - 0x7a, 0x13, 0x4a, 0xbd, 0x01, 0xe9, 0x3d, 0xd2, 0xbc, 0xb3, 0x7a, 0x89, 0xf9, 0xd8, 0x48, 0xf2, - 0xd1, 0xa4, 0x7a, 0x9d, 0xb3, 0x76, 0x4a, 0x2d, 0xf6, 0x78, 0x93, 0xce, 0x5f, 0x27, 0x43, 0xe3, - 0x94, 0x38, 0xd4, 0x5e, 0x9a, 0x3f, 0xff, 0xbb, 0x5c, 0x93, 0x79, 0x90, 0x74, 0xbf, 0x83, 0xde, - 0x02, 0x89, 0x98, 0xba, 0x98, 0x06, 0x30, 0x17, 0x37, 0x12, 0xf7, 0x8a, 0xa9, 0xfb, 0x93, 0x28, - 0x11, 0xd1, 0x46, 0x77, 0xa0, 0xd0, 0xb3, 0x46, 0x23, 0xc3, 0xab, 0xaf, 0x30, 0xeb, 0xf5, 0xc4, - 0x09, 0x30, 0xad, 0x76, 0x4a, 0x15, 0xfa, 0xe8, 0x00, 0x2a, 0x43, 0xc3, 0xf5, 0x34, 0xd7, 0xc4, - 0xb6, 0x3b, 0xb0, 0x3c, 0xb7, 0xbe, 0xca, 0x3c, 0x3c, 0x93, 0xe4, 0x61, 0xdf, 0x70, 0xbd, 0x63, - 0x5f, 0xb9, 0x9d, 0x52, 0xcb, 0xc3, 0xa8, 0x80, 0xfa, 0xb3, 0x4e, 0x4e, 0x88, 0x13, 0x38, 0xac, - 0x97, 0xe7, 0xfb, 0x3b, 0xa4, 0xda, 0xbe, 0x3d, 0xf5, 0x67, 0x45, 0x05, 0xe8, 0xa7, 0x70, 0x69, - 0x68, 0x61, 0x3d, 0x70, 0xa7, 0xf5, 0x06, 0x63, 0xf3, 0x51, 0xbd, 0xc2, 0x9c, 0x3e, 0x9f, 0xf8, - 0x92, 0x16, 0xd6, 0x7d, 0x17, 0x4d, 0x6a, 0xd0, 0x4e, 0xa9, 0x6b, 0xc3, 0x49, 0x21, 0x7a, 0x08, - 0x97, 0xb1, 0x6d, 0x0f, 0xcf, 0x27, 0xbd, 0x57, 0x99, 0xf7, 0xdb, 0x49, 0xde, 0x77, 0xa8, 0xcd, - 0xa4, 0x7b, 0x84, 0xa7, 0xa4, 0xa8, 0x03, 0x35, 0xdb, 0x21, 0x36, 0x76, 0x88, 0x66, 0x3b, 0x96, - 0x6d, 0xb9, 0x78, 0x58, 0xaf, 0x31, 0xdf, 0xcf, 0x25, 0xf9, 0x3e, 0xe2, 0xfa, 0x47, 0x42, 0xbd, - 0x9d, 0x52, 0xab, 0x76, 0x5c, 0xd4, 0x28, 0x42, 0xfe, 0x14, 0x0f, 0xc7, 0x44, 0x79, 0x0e, 0x56, - 0x22, 0x00, 0x82, 0xea, 0x50, 0x1c, 0x11, 0xd7, 0xc5, 0x7d, 0xc2, 0xf0, 0x46, 0x52, 0xfd, 0xae, - 0x52, 0x81, 0xd5, 0x28, 0x68, 0x28, 0xa3, 0xc0, 0x90, 0xc2, 0x01, 0x35, 0x3c, 0x25, 0x8e, 0x4b, - 0x31, 0x40, 0x18, 0x8a, 0x2e, 0xba, 0x09, 0x65, 0xb6, 0x29, 0x35, 0x7f, 0x9c, 0x62, 0x52, 0x4e, - 0x5d, 0x65, 0xc2, 0x07, 0x42, 0x69, 0x03, 0x56, 0xec, 0x6d, 0x3b, 0x50, 0xc9, 0x32, 0x15, 0xb0, - 0xb7, 0x6d, 0xa1, 0xa0, 0x7c, 0x0f, 0x6a, 0x93, 0x18, 0x82, 0x6a, 0x90, 0x7d, 0x44, 0xce, 0xc5, - 0xf3, 0x68, 0x13, 0x5d, 0x16, 0xd3, 0x62, 0xcf, 0x90, 0x54, 0x31, 0xc7, 0x3f, 0x65, 0x02, 0xe3, - 0x00, 0x3c, 0xd0, 0x1d, 0xc8, 0x51, 0x2c, 0x16, 0xb0, 0x2a, 0x6f, 0x72, 0xa0, 0xde, 0xf4, 0x81, - 0x7a, 0xb3, 0xe3, 0x03, 0x75, 0xa3, 0xf4, 0xc5, 0x57, 0x1b, 0xa9, 0xcf, 0xfe, 0xb2, 0x91, 0x56, - 0x99, 0x05, 0x7a, 0x92, 0x9e, 0x75, 0x6c, 0x98, 0x9a, 0xa1, 0x8b, 0xe7, 0x14, 0x59, 0x7f, 0x57, - 0x47, 0x7b, 0x50, 0xeb, 0x59, 0xa6, 0x4b, 0x4c, 0x77, 0xec, 0x6a, 0x3c, 0x10, 0x08, 0x30, 0x9d, - 0x3e, 0x8b, 0x4d, 0x5f, 0xf1, 0x88, 0xe9, 0xa9, 0xd5, 0x5e, 0x5c, 0x80, 0xee, 0x01, 0x9c, 0xe2, - 0xa1, 0xa1, 0x63, 0xcf, 0x72, 0xdc, 0x7a, 0xee, 0x46, 0x76, 0xa6, 0x9b, 0x07, 0xbe, 0xca, 0x7d, - 0x5b, 0xc7, 0x1e, 0x69, 0xe4, 0xe8, 0xdb, 0xaa, 0x11, 0x4b, 0xf4, 0x2c, 0x54, 0xb1, 0x6d, 0x6b, - 0xae, 0x87, 0x3d, 0xa2, 0x75, 0xcf, 0x3d, 0xe2, 0x32, 0x88, 0x5d, 0x55, 0xcb, 0xd8, 0xb6, 0x8f, - 0xa9, 0xb4, 0x41, 0x85, 0xe8, 0x19, 0xa8, 0x50, 0x38, 0x35, 0xf0, 0x50, 0x1b, 0x10, 0xa3, 0x3f, - 0xf0, 0x18, 0x94, 0x66, 0xd5, 0xb2, 0x90, 0xb6, 0x99, 0x50, 0xd1, 0x83, 0x8d, 0xc0, 0xa0, 0x14, - 0x21, 0xc8, 0xe9, 0xd8, 0xc3, 0x6c, 0x21, 0x57, 0x55, 0xd6, 0xa6, 0x32, 0x1b, 0x7b, 0x03, 0xb1, - 0x3c, 0xac, 0x8d, 0xae, 0x40, 0x41, 0xb8, 0xcd, 0x32, 0xb7, 0xa2, 0x47, 0xbf, 0x99, 0xed, 0x58, - 0xa7, 0x84, 0xc5, 0x8e, 0x92, 0xca, 0x3b, 0xca, 0x2f, 0x33, 0xb0, 0x36, 0x05, 0xba, 0xd4, 0xef, - 0x00, 0xbb, 0x03, 0xff, 0x59, 0xb4, 0x8d, 0x5e, 0xa3, 0x7e, 0xb1, 0x4e, 0x1c, 0x11, 0xec, 0xea, - 0xd1, 0x25, 0xe2, 0x81, 0xbc, 0xcd, 0xc6, 0xc5, 0xd2, 0x08, 0x6d, 0x74, 0x08, 0xb5, 0x21, 0x76, - 0x3d, 0x8d, 0x83, 0x98, 0x16, 0x09, 0x7c, 0xd3, 0xd0, 0xbd, 0x8f, 0x7d, 0xd8, 0xa3, 0x9b, 0x5d, - 0x38, 0xaa, 0x0c, 0x63, 0x52, 0xa4, 0xc2, 0xe5, 0xee, 0xf9, 0x63, 0x6c, 0x7a, 0x86, 0x49, 0xb4, - 0xa9, 0x2f, 0xf7, 0xe4, 0x94, 0xd3, 0xd6, 0xa9, 0xa1, 0x13, 0xb3, 0xe7, 0x7f, 0xb2, 0x4b, 0x81, - 0x71, 0xf0, 0x49, 0x5d, 0x45, 0x85, 0x4a, 0x3c, 0x6c, 0xa0, 0x0a, 0x64, 0xbc, 0x33, 0xb1, 0x00, - 0x19, 0xef, 0x0c, 0xfd, 0x1f, 0xe4, 0xe8, 0x24, 0xd9, 0xe4, 0x2b, 0x33, 0x62, 0xb6, 0xb0, 0xeb, - 0x9c, 0xdb, 0x44, 0x65, 0x9a, 0x8a, 0x12, 0x9c, 0x86, 0x20, 0x94, 0x4c, 0x7a, 0x55, 0x9e, 0x87, - 0xea, 0x44, 0xac, 0x88, 0x7c, 0xbf, 0x74, 0xf4, 0xfb, 0x29, 0x55, 0x28, 0xc7, 0x02, 0x83, 0x72, - 0x05, 0x2e, 0xcf, 0xc2, 0x79, 0x65, 0x10, 0xc8, 0x63, 0x78, 0x8d, 0x5e, 0x85, 0x52, 0x00, 0xf4, - 0xfc, 0x34, 0x4e, 0xaf, 0x95, 0xaf, 0xac, 0x06, 0xaa, 0xf4, 0x18, 0xd2, 0x6d, 0xcd, 0xf6, 0x43, - 0x86, 0xbd, 0x78, 0x11, 0xdb, 0x76, 0x1b, 0xbb, 0x03, 0xe5, 0x43, 0xa8, 0x27, 0x81, 0xf8, 0xc4, - 0x34, 0x72, 0xc1, 0x36, 0xbc, 0x02, 0x85, 0x13, 0xcb, 0x19, 0x61, 0x8f, 0x39, 0x2b, 0xab, 0xa2, - 0x47, 0xb7, 0x27, 0x07, 0xf4, 0x2c, 0x13, 0xf3, 0x8e, 0xa2, 0xc1, 0x93, 0x89, 0x40, 0x4e, 0x4d, - 0x0c, 0x53, 0x27, 0x7c, 0x3d, 0xcb, 0x2a, 0xef, 0x84, 0x8e, 0xf8, 0xcb, 0xf2, 0x0e, 0x7d, 0xac, - 0xcb, 0xe6, 0xca, 0xfc, 0x4b, 0xaa, 0xe8, 0x29, 0x1a, 0x5c, 0x99, 0x8d, 0xe6, 0xe8, 0x3a, 0x00, - 0xc7, 0x53, 0x71, 0xea, 0xb2, 0xb7, 0x56, 0x55, 0x89, 0x49, 0xee, 0xd2, 0xa3, 0xf7, 0x2c, 0x54, - 0xc3, 0x61, 0xcd, 0x35, 0x1e, 0xf3, 0xad, 0x91, 0x55, 0xcb, 0x81, 0xce, 0xb1, 0xf1, 0x98, 0x28, - 0xbf, 0x97, 0xa0, 0xa4, 0x12, 0xd7, 0xa6, 0xa0, 0x83, 0x1a, 0x20, 0x91, 0xb3, 0x1e, 0xe1, 0x1c, - 0x2e, 0x9d, 0xc8, 0x81, 0xb8, 0x76, 0xcb, 0xd7, 0xa4, 0x04, 0x24, 0x30, 0x43, 0xaf, 0x08, 0x9e, - 0x9a, 0x4c, 0x39, 0x85, 0x79, 0x94, 0xa8, 0xbe, 0xe6, 0x13, 0xd5, 0x6c, 0x22, 0xe7, 0xe0, 0x56, - 0x13, 0x4c, 0xf5, 0x15, 0xc1, 0x54, 0x73, 0x0b, 0x1e, 0x16, 0xa3, 0xaa, 0xcd, 0x18, 0x55, 0xcd, - 0x2f, 0x98, 0x66, 0x02, 0x57, 0x6d, 0xc6, 0xb8, 0x6a, 0x61, 0x81, 0x93, 0x04, 0xb2, 0xfa, 0x9a, - 0x4f, 0x56, 0x8b, 0x0b, 0xa6, 0x3d, 0xc1, 0x56, 0xef, 0xc5, 0xd9, 0x2a, 0x67, 0x9a, 0x37, 0x13, - 0xad, 0x13, 0xe9, 0xea, 0xf7, 0x23, 0x74, 0x55, 0x4a, 0xe4, 0x8a, 0xdc, 0xc9, 0x0c, 0xbe, 0xda, - 0x8c, 0xf1, 0x55, 0x58, 0xb0, 0x06, 0x09, 0x84, 0xf5, 0xed, 0x28, 0x61, 0x5d, 0x49, 0xe4, 0xbc, - 0x62, 0xd3, 0xcc, 0x62, 0xac, 0xaf, 0x07, 0x8c, 0x75, 0x35, 0x91, 0x72, 0x8b, 0x39, 0x4c, 0x52, - 0xd6, 0xc3, 0x29, 0xca, 0xca, 0x29, 0xe6, 0xb3, 0x89, 0x2e, 0x16, 0x70, 0xd6, 0xc3, 0x29, 0xce, - 0x5a, 0x59, 0xe0, 0x70, 0x01, 0x69, 0xfd, 0xd9, 0x6c, 0xd2, 0x9a, 0x4c, 0x2b, 0xc5, 0x6b, 0x2e, - 0xc7, 0x5a, 0xb5, 0x04, 0xd6, 0xca, 0x99, 0xe5, 0x0b, 0x89, 0xee, 0x97, 0xa6, 0xad, 0xf7, 0x67, - 0xd0, 0xd6, 0x35, 0xe6, 0xfc, 0x56, 0xa2, 0xf3, 0x8b, 0xf0, 0xd6, 0xe7, 0x29, 0x3d, 0x98, 0xc0, - 0x23, 0x0a, 0xb1, 0xc4, 0x71, 0x2c, 0x47, 0x50, 0x42, 0xde, 0x51, 0x6e, 0x51, 0xc2, 0x12, 0x62, - 0xcf, 0x1c, 0x8e, 0xcb, 0x42, 0x59, 0x04, 0x6f, 0x94, 0xdf, 0xa5, 0x43, 0x5b, 0x16, 0xe3, 0xa3, - 0x64, 0x47, 0x12, 0x64, 0x27, 0x42, 0x7d, 0x33, 0x71, 0xea, 0xbb, 0x01, 0x2b, 0x34, 0x44, 0x4d, - 0xb0, 0x5a, 0x6c, 0xfb, 0xac, 0x16, 0xdd, 0x86, 0x35, 0xc6, 0x41, 0x38, 0x62, 0x8b, 0xb8, 0x94, - 0x63, 0x70, 0x5d, 0xa5, 0x03, 0x7c, 0xcf, 0xf3, 0x00, 0xf5, 0x12, 0x5c, 0x8a, 0xe8, 0x06, 0xa1, - 0x8f, 0x53, 0xb9, 0x5a, 0xa0, 0xbd, 0x23, 0x62, 0xe0, 0x7b, 0xe1, 0x02, 0x85, 0x8c, 0x19, 0x41, - 0xae, 0x67, 0xe9, 0x44, 0x04, 0x26, 0xd6, 0xa6, 0x2c, 0x7a, 0x68, 0xf5, 0x45, 0xf8, 0xa1, 0x4d, - 0xaa, 0x15, 0x80, 0xab, 0xc4, 0xb1, 0x53, 0xf9, 0x63, 0x3a, 0xf4, 0x17, 0x92, 0xe8, 0x59, 0x7c, - 0x37, 0xfd, 0xdf, 0xe1, 0xbb, 0x99, 0x6f, 0xcd, 0x77, 0xa3, 0xc4, 0x20, 0x1b, 0x27, 0x06, 0xff, - 0x4c, 0x87, 0x5f, 0x38, 0x60, 0xaf, 0xdf, 0x6e, 0x45, 0xc2, 0x28, 0x9f, 0x67, 0xdf, 0x4b, 0x44, - 0x79, 0x91, 0x93, 0x14, 0xd8, 0x73, 0xe3, 0x39, 0x49, 0x91, 0xc7, 0x7d, 0xd6, 0x41, 0x77, 0x40, - 0x62, 0x25, 0x28, 0xcd, 0xb2, 0x5d, 0x81, 0xe3, 0x4f, 0x45, 0xe7, 0xca, 0x2b, 0x4d, 0x9b, 0x47, - 0x54, 0xe7, 0xd0, 0x76, 0xd5, 0x92, 0x2d, 0x5a, 0x11, 0x02, 0x23, 0xc5, 0x78, 0xf4, 0x35, 0x90, - 0xe8, 0xdb, 0xbb, 0x36, 0xee, 0x11, 0x86, 0xc9, 0x92, 0x1a, 0x0a, 0x94, 0x87, 0x80, 0xa6, 0xa3, - 0x02, 0x6a, 0x43, 0x81, 0x9c, 0x12, 0xd3, 0x73, 0x19, 0x8f, 0x58, 0xd9, 0xbe, 0x32, 0x83, 0xa4, - 0x12, 0xd3, 0x6b, 0xd4, 0xe9, 0x22, 0xff, 0xe3, 0xab, 0x8d, 0x1a, 0xd7, 0x7e, 0xd1, 0x1a, 0x19, - 0x1e, 0x19, 0xd9, 0xde, 0xb9, 0x2a, 0xec, 0x95, 0x5f, 0x64, 0x28, 0x63, 0x8c, 0x45, 0x8c, 0x99, - 0x6b, 0xeb, 0x1f, 0xa0, 0x4c, 0x24, 0x5b, 0x58, 0x6e, 0xbd, 0xd7, 0x01, 0xfa, 0xd8, 0xd5, 0x3e, - 0xc1, 0xa6, 0x47, 0x74, 0xb1, 0xe8, 0x11, 0x09, 0x92, 0xa1, 0x44, 0x7b, 0x63, 0x97, 0xe8, 0x22, - 0x71, 0x09, 0xfa, 0x91, 0x79, 0x16, 0xbf, 0xdb, 0x3c, 0xe3, 0xab, 0x5c, 0x9a, 0x5c, 0xe5, 0x5f, - 0x65, 0xc2, 0x53, 0x12, 0x92, 0xeb, 0xff, 0xbd, 0x75, 0xf8, 0x35, 0xcb, 0xb8, 0xe3, 0xa1, 0x1b, - 0x1d, 0xc3, 0x5a, 0x70, 0x4a, 0xb5, 0x31, 0x3b, 0xbd, 0xfe, 0xbe, 0x5b, 0xf6, 0x98, 0xd7, 0x4e, - 0xe3, 0x62, 0x17, 0xfd, 0x08, 0xae, 0x4e, 0x20, 0x50, 0xe0, 0x3a, 0xb3, 0x24, 0x10, 0x3d, 0x11, - 0x07, 0x22, 0xdf, 0x73, 0xb8, 0x56, 0xd9, 0xef, 0x78, 0x36, 0x76, 0x69, 0x12, 0x17, 0x25, 0x22, - 0x33, 0xbf, 0xfe, 0x4d, 0x28, 0x3b, 0xc4, 0xc3, 0x86, 0xa9, 0xc5, 0xd2, 0xe4, 0x55, 0x2e, 0x14, - 0xc9, 0xf7, 0x11, 0x3c, 0x31, 0x93, 0x90, 0xa0, 0xff, 0x07, 0x29, 0xe4, 0x32, 0xe9, 0x84, 0x8c, - 0x33, 0xc8, 0xa2, 0x42, 0x5d, 0xe5, 0x0f, 0xe9, 0xd0, 0x65, 0x3c, 0x2f, 0x6b, 0x41, 0xc1, 0x21, - 0xee, 0x78, 0xc8, 0x33, 0xa5, 0xca, 0xf6, 0x4b, 0xcb, 0x51, 0x19, 0x2a, 0x1d, 0x0f, 0x3d, 0x55, - 0x18, 0x2b, 0x0f, 0xa1, 0xc0, 0x25, 0x68, 0x05, 0x8a, 0xf7, 0x0f, 0xf6, 0x0e, 0x0e, 0xdf, 0x3f, - 0xa8, 0xa5, 0x10, 0x40, 0x61, 0xa7, 0xd9, 0x6c, 0x1d, 0x75, 0x6a, 0x69, 0x24, 0x41, 0x7e, 0xa7, - 0x71, 0xa8, 0x76, 0x6a, 0x19, 0x2a, 0x56, 0x5b, 0xef, 0xb6, 0x9a, 0x9d, 0x5a, 0x16, 0xad, 0x41, - 0x99, 0xb7, 0xb5, 0x7b, 0x87, 0xea, 0x7b, 0x3b, 0x9d, 0x5a, 0x2e, 0x22, 0x3a, 0x6e, 0x1d, 0xdc, - 0x6d, 0xa9, 0xb5, 0xbc, 0xf2, 0x32, 0x4d, 0xc5, 0x12, 0xc8, 0x4f, 0x98, 0x74, 0xa5, 0x23, 0x49, - 0x97, 0xf2, 0x9b, 0x0c, 0xc8, 0xc9, 0x8c, 0x06, 0xbd, 0x3b, 0x31, 0xf1, 0xed, 0x0b, 0xd0, 0xa1, - 0x89, 0xd9, 0xa3, 0x67, 0xa0, 0xe2, 0x90, 0x13, 0xe2, 0xf5, 0x06, 0x9c, 0x61, 0xf1, 0xc0, 0x56, - 0x56, 0xcb, 0x42, 0xca, 0x8c, 0x5c, 0xae, 0xf6, 0x11, 0xe9, 0x79, 0x1a, 0xcf, 0xff, 0xf8, 0xa6, - 0x93, 0xa8, 0x1a, 0x95, 0x1e, 0x73, 0xa1, 0xf2, 0xe1, 0x85, 0xd6, 0x52, 0x82, 0xbc, 0xda, 0xea, - 0xa8, 0x3f, 0xae, 0x65, 0x11, 0x82, 0x0a, 0x6b, 0x6a, 0xc7, 0x07, 0x3b, 0x47, 0xc7, 0xed, 0x43, - 0xba, 0x96, 0x97, 0xa0, 0xea, 0xaf, 0xa5, 0x2f, 0xcc, 0x2b, 0x77, 0xe0, 0x6a, 0x02, 0x1d, 0x5b, - 0x90, 0x78, 0x2a, 0xff, 0x4e, 0x43, 0x75, 0xe2, 0x68, 0xa1, 0x6d, 0xc8, 0x73, 0x7e, 0x9f, 0x74, - 0x79, 0xc1, 0x90, 0x41, 0x9c, 0x43, 0xae, 0x8a, 0xde, 0x84, 0x12, 0x11, 0x95, 0x91, 0x59, 0x47, - 0x98, 0x57, 0x74, 0xfc, 0xda, 0x89, 0x30, 0x0d, 0x2c, 0xd0, 0x5b, 0x20, 0x05, 0x18, 0x21, 0x92, - 0xca, 0xa7, 0xa7, 0xcd, 0x03, 0x74, 0x11, 0xf6, 0xa1, 0x0d, 0x7a, 0x3d, 0x64, 0x73, 0xb9, 0xe9, - 0xac, 0x42, 0x98, 0x73, 0x05, 0x61, 0xec, 0xeb, 0x2b, 0x4d, 0x58, 0x89, 0xcc, 0x07, 0x3d, 0x05, - 0xd2, 0x08, 0x9f, 0x89, 0x8a, 0x1b, 0xaf, 0x99, 0x94, 0x46, 0xf8, 0x8c, 0x17, 0xdb, 0xae, 0x42, - 0x91, 0x0e, 0xf6, 0xb1, 0x2b, 0xd2, 0xf3, 0xc2, 0x08, 0x9f, 0xbd, 0x83, 0x5d, 0xe5, 0x03, 0xa8, - 0xc4, 0xab, 0x4d, 0x74, 0x0f, 0x3b, 0xd6, 0xd8, 0xd4, 0x99, 0x8f, 0xbc, 0xca, 0x3b, 0xe8, 0x55, - 0xc8, 0x9f, 0x5a, 0x1c, 0xe6, 0x66, 0x1f, 0xf6, 0x07, 0x96, 0x47, 0x22, 0xd5, 0x2a, 0xae, 0xad, - 0x3c, 0x86, 0x3c, 0x83, 0x2d, 0x0a, 0x41, 0xac, 0x6e, 0x24, 0x98, 0x2c, 0x6d, 0xa3, 0x0f, 0x00, - 0xb0, 0xe7, 0x39, 0x46, 0x77, 0x1c, 0x3a, 0xde, 0x98, 0x0d, 0x7b, 0x3b, 0xbe, 0x5e, 0xe3, 0x9a, - 0xc0, 0xbf, 0xcb, 0xa1, 0x69, 0x04, 0x03, 0x23, 0x0e, 0x95, 0x03, 0xa8, 0xc4, 0x6d, 0xa3, 0x15, - 0xdc, 0xd5, 0x19, 0x15, 0xdc, 0x80, 0x2d, 0x05, 0x5c, 0x2b, 0xcb, 0x6b, 0x84, 0xac, 0xa3, 0xfc, - 0x36, 0x0d, 0xa5, 0xce, 0x99, 0x38, 0x10, 0x09, 0xe5, 0xa9, 0xd0, 0x34, 0x13, 0x2d, 0xc6, 0xf0, - 0x7a, 0x57, 0x36, 0xa8, 0xa2, 0xbd, 0x1d, 0x1c, 0xf9, 0xdc, 0xb2, 0xd9, 0xac, 0x5f, 0x4e, 0x14, - 0x07, 0xfd, 0x26, 0x94, 0x2d, 0xc7, 0xe8, 0x1b, 0x26, 0x1e, 0x46, 0x89, 0xf9, 0xaa, 0x2f, 0x64, - 0xfc, 0xf3, 0x0d, 0x90, 0x82, 0xad, 0x47, 0xf3, 0x06, 0xac, 0xeb, 0x0e, 0x71, 0x5d, 0xb1, 0x00, - 0x7e, 0x97, 0x95, 0x44, 0xad, 0x4f, 0x44, 0x4d, 0x28, 0xab, 0xf2, 0x8e, 0xa2, 0x43, 0x75, 0x22, - 0x2a, 0xa2, 0x37, 0xa0, 0x68, 0x8f, 0xbb, 0x9a, 0xbf, 0x86, 0x13, 0x27, 0xcc, 0xe7, 0x90, 0xe3, - 0xee, 0xd0, 0xe8, 0xed, 0x91, 0x73, 0xff, 0x8d, 0xed, 0x71, 0x77, 0x8f, 0x2f, 0x35, 0x7f, 0x4a, - 0x26, 0xfa, 0x94, 0x53, 0x28, 0xf9, 0x3b, 0x07, 0xfd, 0x20, 0x7a, 0x98, 0xfc, 0x42, 0x79, 0x62, - 0xa4, 0x16, 0xee, 0x23, 0x67, 0xe9, 0x36, 0xac, 0xb9, 0x46, 0xdf, 0x24, 0xba, 0x16, 0x66, 0x2e, - 0xec, 0x69, 0x25, 0xb5, 0xca, 0x07, 0xf6, 0xfd, 0xb4, 0x45, 0xf9, 0x57, 0x1a, 0x4a, 0xfe, 0xa9, - 0x46, 0x2f, 0x47, 0x36, 0x67, 0x65, 0x46, 0x79, 0xc7, 0x57, 0x0c, 0xab, 0x9a, 0xf1, 0x77, 0xcd, - 0x5c, 0xfc, 0x5d, 0x93, 0xca, 0xd3, 0xfe, 0x3d, 0x41, 0xee, 0xc2, 0xf7, 0x04, 0x2f, 0x02, 0xf2, - 0x2c, 0x0f, 0x0f, 0xb5, 0x53, 0xcb, 0x33, 0xcc, 0xbe, 0xc6, 0x17, 0x9b, 0x13, 0xb6, 0x1a, 0x1b, - 0x79, 0xc0, 0x06, 0x8e, 0xd8, 0xba, 0xff, 0x3c, 0x0d, 0xa5, 0x20, 0xf4, 0x5e, 0xb4, 0x48, 0x79, - 0x05, 0x0a, 0x22, 0xba, 0xf0, 0x2a, 0xa5, 0xe8, 0x05, 0xf5, 0xf2, 0x5c, 0xa4, 0x5e, 0x2e, 0x43, - 0x69, 0x44, 0x3c, 0xcc, 0x40, 0x9c, 0xef, 0xd1, 0xa0, 0x7f, 0xfb, 0x75, 0x58, 0x89, 0xd4, 0x8b, - 0xe9, 0xf1, 0x3c, 0x68, 0xbd, 0x5f, 0x4b, 0xc9, 0xc5, 0x4f, 0x3f, 0xbf, 0x91, 0x3d, 0x20, 0x9f, - 0xd0, 0x3d, 0xab, 0xb6, 0x9a, 0xed, 0x56, 0x73, 0xaf, 0x96, 0x96, 0x57, 0x3e, 0xfd, 0xfc, 0x46, - 0x51, 0x25, 0xac, 0x2a, 0x74, 0xbb, 0x0d, 0xab, 0xd1, 0xaf, 0x12, 0x0f, 0x50, 0x08, 0x2a, 0x77, - 0xef, 0x1f, 0xed, 0xef, 0x36, 0x77, 0x3a, 0x2d, 0xed, 0xc1, 0x61, 0xa7, 0x55, 0x4b, 0xa3, 0xab, - 0x70, 0x69, 0x7f, 0xf7, 0x9d, 0x76, 0x47, 0x6b, 0xee, 0xef, 0xb6, 0x0e, 0x3a, 0xda, 0x4e, 0xa7, - 0xb3, 0xd3, 0xdc, 0xab, 0x65, 0xb6, 0xff, 0x0e, 0x50, 0xdd, 0x69, 0x34, 0x77, 0x69, 0x70, 0x35, - 0x7a, 0x58, 0x54, 0xdd, 0x72, 0x2c, 0x77, 0x9f, 0x7b, 0xfd, 0x2d, 0xcf, 0x2f, 0x3a, 0xa2, 0x7b, - 0x90, 0x67, 0x69, 0x3d, 0x9a, 0x7f, 0x1f, 0x2e, 0x2f, 0xa8, 0x42, 0xd2, 0x97, 0x61, 0xc7, 0x63, - 0xee, 0x05, 0xb9, 0x3c, 0xbf, 0x28, 0x89, 0x54, 0x90, 0xc2, 0xbc, 0x7c, 0xf1, 0x85, 0xb9, 0xbc, - 0x44, 0xa1, 0x92, 0xfa, 0x0c, 0xb3, 0x8e, 0xc5, 0x17, 0xc8, 0xf2, 0x12, 0x28, 0x87, 0xf6, 0xa1, - 0xe8, 0xe7, 0x73, 0x8b, 0xae, 0xb4, 0xe5, 0x85, 0x45, 0x44, 0xfa, 0x09, 0x78, 0xde, 0x3d, 0xff, - 0x7e, 0x5e, 0x5e, 0x50, 0x11, 0x45, 0xbb, 0x50, 0x10, 0x54, 0x7a, 0xc1, 0x35, 0xb5, 0xbc, 0xa8, - 0x28, 0x48, 0x17, 0x2d, 0x2c, 0x68, 0x2c, 0xfe, 0xeb, 0x40, 0x5e, 0xa2, 0xd8, 0x8b, 0xee, 0x03, - 0x44, 0xb2, 0xec, 0x25, 0x7e, 0x27, 0x90, 0x97, 0x29, 0xe2, 0xa2, 0x43, 0x28, 0x05, 0xd9, 0xd4, - 0xc2, 0xcb, 0x7d, 0x79, 0x71, 0x35, 0x15, 0x3d, 0x84, 0x72, 0x3c, 0x8d, 0x58, 0xee, 0xca, 0x5e, - 0x5e, 0xb2, 0x4c, 0x4a, 0xfd, 0xc7, 0x73, 0x8a, 0xe5, 0xae, 0xf0, 0xe5, 0x25, 0xab, 0xa6, 0xe8, - 0x23, 0x58, 0x9b, 0xe6, 0xfc, 0xcb, 0xdf, 0xe8, 0xcb, 0x17, 0xa8, 0xa3, 0xa2, 0x11, 0xa0, 0x19, - 0xb9, 0xc2, 0x05, 0x2e, 0xf8, 0xe5, 0x8b, 0x94, 0x55, 0x91, 0x0e, 0xd5, 0x49, 0x02, 0xbe, 0xec, - 0x85, 0xbf, 0xbc, 0x74, 0x89, 0xb5, 0xd1, 0xfa, 0xe2, 0xeb, 0xf5, 0xf4, 0x97, 0x5f, 0xaf, 0xa7, - 0xff, 0xfa, 0xf5, 0x7a, 0xfa, 0xb3, 0x6f, 0xd6, 0x53, 0x5f, 0x7e, 0xb3, 0x9e, 0xfa, 0xf3, 0x37, - 0xeb, 0xa9, 0x9f, 0xbc, 0xd0, 0x37, 0xbc, 0xc1, 0xb8, 0xbb, 0xd9, 0xb3, 0x46, 0x5b, 0xd1, 0x7f, - 0x9c, 0x66, 0xfd, 0x77, 0xd5, 0x2d, 0xb0, 0x70, 0xf8, 0xca, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, - 0x7c, 0x3f, 0xc8, 0x2a, 0x97, 0x25, 0x00, 0x00, + // 2968 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x5a, 0x4b, 0x73, 0xdb, 0xd6, + 0x15, 0xe6, 0x9b, 0xc4, 0xa1, 0xf8, 0xd0, 0xb5, 0x63, 0x33, 0x88, 0x2d, 0x39, 0xf0, 0x24, 0x71, + 0x9c, 0x44, 0x6a, 0x94, 0x49, 0xea, 0x34, 0x69, 0x13, 0x91, 0xa6, 0x43, 0xc5, 0x8a, 0xa4, 0x42, + 0xb4, 0xd3, 0x57, 0x8c, 0x80, 0xc4, 0x15, 0x89, 0x98, 0x04, 0x10, 0xe0, 0x52, 0x91, 0xbc, 0xec, + 0x63, 0x93, 0x6e, 0x32, 0xd3, 0x4d, 0x37, 0xf9, 0x09, 0x9d, 0x6e, 0xbb, 0x69, 0x37, 0xdd, 0x64, + 0xa6, 0x8b, 0x66, 0xd9, 0x55, 0xda, 0x89, 0x77, 0xfd, 0x03, 0x5d, 0x75, 0xda, 0xb9, 0x0f, 0xbc, + 0x48, 0x42, 0xa4, 0x92, 0xee, 0xba, 0xc3, 0x3d, 0x38, 0xe7, 0x03, 0xee, 0xc1, 0xbd, 0xe7, 0x7c, + 0xe7, 0xe0, 0xc2, 0x53, 0x04, 0x5b, 0x06, 0x76, 0xc7, 0xa6, 0x45, 0x36, 0xf5, 0x5e, 0xdf, 0xdc, + 0x24, 0xa7, 0x0e, 0xf6, 0x36, 0x1c, 0xd7, 0x26, 0x36, 0xaa, 0x85, 0x37, 0x37, 0xe8, 0x4d, 0xf9, + 0x6a, 0x44, 0xbb, 0xef, 0x9e, 0x3a, 0xc4, 0xde, 0x74, 0x5c, 0xdb, 0x3e, 0xe2, 0xfa, 0xf2, 0x95, + 0xc8, 0x6d, 0x86, 0x13, 0x45, 0x8b, 0xdd, 0x15, 0xc6, 0x0f, 0xf1, 0xa9, 0x7f, 0xf7, 0xea, 0x8c, + 0xad, 0xa3, 0xbb, 0xfa, 0xd8, 0xbf, 0xbd, 0x3e, 0xb0, 0xed, 0xc1, 0x08, 0x6f, 0xb2, 0x51, 0x6f, + 0x72, 0xb4, 0x49, 0xcc, 0x31, 0xf6, 0x88, 0x3e, 0x76, 0x84, 0xc2, 0xc5, 0x81, 0x3d, 0xb0, 0xd9, + 0xe5, 0x26, 0xbd, 0xe2, 0x52, 0xe5, 0x8f, 0x12, 0x14, 0x55, 0xfc, 0xf1, 0x04, 0x7b, 0x04, 0x6d, + 0x41, 0x0e, 0xf7, 0x87, 0x76, 0x23, 0x7d, 0x2d, 0x7d, 0xa3, 0xbc, 0x75, 0x65, 0x63, 0x6a, 0x72, + 0x1b, 0x42, 0xaf, 0xdd, 0x1f, 0xda, 0x9d, 0x94, 0xca, 0x74, 0xd1, 0xab, 0x90, 0x3f, 0x1a, 0x4d, + 0xbc, 0x61, 0x23, 0xc3, 0x8c, 0xae, 0x26, 0x19, 0xdd, 0xa1, 0x4a, 0x9d, 0x94, 0xca, 0xb5, 0xe9, + 0xa3, 0x4c, 0xeb, 0xc8, 0x6e, 0x64, 0xcf, 0x7e, 0xd4, 0x8e, 0x75, 0xc4, 0x1e, 0x45, 0x75, 0x51, + 0x13, 0xc0, 0xc3, 0x44, 0xb3, 0x1d, 0x62, 0xda, 0x56, 0x23, 0xc7, 0x2c, 0x9f, 0x4e, 0xb2, 0x3c, + 0xc4, 0x64, 0x9f, 0x29, 0x76, 0x52, 0xaa, 0xe4, 0xf9, 0x03, 0x8a, 0x61, 0x5a, 0x26, 0xd1, 0xfa, + 0x43, 0xdd, 0xb4, 0x1a, 0xf9, 0xb3, 0x31, 0x76, 0x2c, 0x93, 0xb4, 0xa8, 0x22, 0xc5, 0x30, 0xfd, + 0x01, 0x9d, 0xf2, 0xc7, 0x13, 0xec, 0x9e, 0x36, 0x0a, 0x67, 0x4f, 0xf9, 0x87, 0x54, 0x89, 0x4e, + 0x99, 0x69, 0xa3, 0x36, 0x94, 0x7b, 0x78, 0x60, 0x5a, 0x5a, 0x6f, 0x64, 0xf7, 0x1f, 0x36, 0x8a, + 0xcc, 0x58, 0x49, 0x32, 0x6e, 0x52, 0xd5, 0x26, 0xd5, 0xec, 0xa4, 0x54, 0xe8, 0x05, 0x23, 0xf4, + 0x26, 0x94, 0xfa, 0x43, 0xdc, 0x7f, 0xa8, 0x91, 0x93, 0x46, 0x89, 0x61, 0xac, 0x27, 0x61, 0xb4, + 0xa8, 0x5e, 0xf7, 0xa4, 0x93, 0x52, 0x8b, 0x7d, 0x7e, 0x49, 0xe7, 0x6f, 0xe0, 0x91, 0x79, 0x8c, + 0x5d, 0x6a, 0x2f, 0x9d, 0x3d, 0xff, 0xdb, 0x5c, 0x93, 0x21, 0x48, 0x86, 0x3f, 0x40, 0x6f, 0x81, + 0x84, 0x2d, 0x43, 0x4c, 0x03, 0x18, 0xc4, 0xb5, 0xc4, 0xb5, 0x62, 0x19, 0xfe, 0x24, 0x4a, 0x58, + 0x5c, 0xa3, 0x5b, 0x50, 0xe8, 0xdb, 0xe3, 0xb1, 0x49, 0x1a, 0x65, 0x66, 0xbd, 0x96, 0x38, 0x01, + 0xa6, 0xd5, 0x49, 0xa9, 0x42, 0x1f, 0xed, 0x41, 0x75, 0x64, 0x7a, 0x44, 0xf3, 0x2c, 0xdd, 0xf1, + 0x86, 0x36, 0xf1, 0x1a, 0x2b, 0x0c, 0xe1, 0x99, 0x24, 0x84, 0x5d, 0xd3, 0x23, 0x87, 0xbe, 0x72, + 0x27, 0xa5, 0x56, 0x46, 0x51, 0x01, 0xc5, 0xb3, 0x8f, 0x8e, 0xb0, 0x1b, 0x00, 0x36, 0x2a, 0x67, + 0xe3, 0xed, 0x53, 0x6d, 0xdf, 0x9e, 0xe2, 0xd9, 0x51, 0x01, 0xfa, 0x29, 0x5c, 0x18, 0xd9, 0xba, + 0x11, 0xc0, 0x69, 0xfd, 0xe1, 0xc4, 0x7a, 0xd8, 0xa8, 0x32, 0xd0, 0xe7, 0x13, 0x5f, 0xd2, 0xd6, + 0x0d, 0x1f, 0xa2, 0x45, 0x0d, 0x3a, 0x29, 0x75, 0x75, 0x34, 0x2d, 0x44, 0x0f, 0xe0, 0xa2, 0xee, + 0x38, 0xa3, 0xd3, 0x69, 0xf4, 0x1a, 0x43, 0xbf, 0x99, 0x84, 0xbe, 0x4d, 0x6d, 0xa6, 0xe1, 0x91, + 0x3e, 0x23, 0x45, 0x5d, 0xa8, 0x3b, 0x2e, 0x76, 0x74, 0x17, 0x6b, 0x8e, 0x6b, 0x3b, 0xb6, 0xa7, + 0x8f, 0x1a, 0x75, 0x86, 0xfd, 0x5c, 0x12, 0xf6, 0x01, 0xd7, 0x3f, 0x10, 0xea, 0x9d, 0x94, 0x5a, + 0x73, 0xe2, 0x22, 0x8e, 0x6a, 0xf7, 0xb1, 0xe7, 0x85, 0xa8, 0xab, 0x8b, 0x50, 0x99, 0x7e, 0x1c, + 0x35, 0x26, 0x6a, 0x16, 0x21, 0x7f, 0xac, 0x8f, 0x26, 0x58, 0x79, 0x0e, 0xca, 0x91, 0xb0, 0x84, + 0x1a, 0x50, 0x1c, 0x63, 0xcf, 0xd3, 0x07, 0x98, 0x45, 0x31, 0x49, 0xf5, 0x87, 0x4a, 0x15, 0x56, + 0xa2, 0xa1, 0x48, 0x19, 0x07, 0x86, 0x34, 0xc8, 0x50, 0xc3, 0x63, 0xec, 0x7a, 0x34, 0xb2, 0x08, + 0x43, 0x31, 0x44, 0xd7, 0xa1, 0xc2, 0x96, 0xba, 0xe6, 0xdf, 0xa7, 0x91, 0x2e, 0xa7, 0xae, 0x30, + 0xe1, 0x7d, 0xa1, 0xb4, 0x0e, 0x65, 0x67, 0xcb, 0x09, 0x54, 0xb2, 0x4c, 0x05, 0x9c, 0x2d, 0x47, + 0x28, 0x28, 0xdf, 0x83, 0xfa, 0x74, 0x64, 0x42, 0x75, 0xc8, 0x3e, 0xc4, 0xa7, 0xe2, 0x79, 0xf4, + 0x12, 0x5d, 0x14, 0xd3, 0x62, 0xcf, 0x90, 0x54, 0x31, 0xc7, 0xbf, 0x64, 0x02, 0xe3, 0x20, 0x24, + 0xa1, 0x5b, 0x90, 0xa3, 0x11, 0x5e, 0x04, 0x6b, 0x79, 0x83, 0x87, 0xff, 0x0d, 0x3f, 0xfc, 0x6f, + 0x74, 0xfd, 0xf0, 0xdf, 0x2c, 0x7d, 0xf1, 0xd5, 0x7a, 0xea, 0xb3, 0xbf, 0xaf, 0xa7, 0x55, 0x66, + 0x81, 0x9e, 0xa4, 0x11, 0x44, 0x37, 0x2d, 0xcd, 0x34, 0xc4, 0x73, 0x8a, 0x6c, 0xbc, 0x63, 0xa0, + 0xbb, 0x50, 0xef, 0xdb, 0x96, 0x87, 0x2d, 0x6f, 0xe2, 0x69, 0x3c, 0xbd, 0x88, 0x10, 0x3d, 0xbb, + 0xc3, 0x5b, 0xbe, 0xe2, 0x01, 0xd3, 0x53, 0x6b, 0xfd, 0xb8, 0x00, 0xdd, 0x01, 0x38, 0xd6, 0x47, + 0xa6, 0xa1, 0x13, 0xdb, 0xf5, 0x1a, 0xb9, 0x6b, 0xd9, 0xb9, 0x30, 0xf7, 0x7d, 0x95, 0x7b, 0x8e, + 0xa1, 0x13, 0xdc, 0xcc, 0xd1, 0xb7, 0x55, 0x23, 0x96, 0xe8, 0x59, 0xa8, 0xe9, 0x8e, 0xa3, 0x79, + 0x44, 0x27, 0x58, 0xeb, 0x9d, 0x12, 0xec, 0xb1, 0xc0, 0xbd, 0xa2, 0x56, 0x74, 0xc7, 0x39, 0xa4, + 0xd2, 0x26, 0x15, 0xa2, 0x67, 0xa0, 0x4a, 0x83, 0xb4, 0xa9, 0x8f, 0xb4, 0x21, 0x36, 0x07, 0x43, + 0xc2, 0x02, 0x74, 0x56, 0xad, 0x08, 0x69, 0x87, 0x09, 0x15, 0x23, 0x58, 0x08, 0x2c, 0x40, 0x23, + 0x04, 0x39, 0x43, 0x27, 0x3a, 0x73, 0xe4, 0x8a, 0xca, 0xae, 0xa9, 0xcc, 0xd1, 0xc9, 0x50, 0xb8, + 0x87, 0x5d, 0xa3, 0x4b, 0x50, 0x10, 0xb0, 0x59, 0x06, 0x2b, 0x46, 0xf4, 0x9b, 0x39, 0xae, 0x7d, + 0x8c, 0x59, 0x46, 0x2a, 0xa9, 0x7c, 0xa0, 0xfc, 0x32, 0x03, 0xab, 0x33, 0xa1, 0x9c, 0xe2, 0x0e, + 0x75, 0x6f, 0xe8, 0x3f, 0x8b, 0x5e, 0xa3, 0xd7, 0x28, 0xae, 0x6e, 0x60, 0x57, 0xa4, 0xd0, 0x46, + 0xd4, 0x45, 0x9c, 0x1e, 0x74, 0xd8, 0x7d, 0xe1, 0x1a, 0xa1, 0x8d, 0xf6, 0xa1, 0x3e, 0xd2, 0x3d, + 0xa2, 0xf1, 0xd0, 0xa8, 0x45, 0xd2, 0xe9, 0x6c, 0x42, 0xd8, 0xd5, 0xfd, 0x60, 0x4a, 0x17, 0xbb, + 0x00, 0xaa, 0x8e, 0x62, 0x52, 0xa4, 0xc2, 0xc5, 0xde, 0xe9, 0x23, 0xdd, 0x22, 0xa6, 0x85, 0xb5, + 0x99, 0x2f, 0xf7, 0xe4, 0x0c, 0x68, 0xfb, 0xd8, 0x34, 0xb0, 0xd5, 0xf7, 0x3f, 0xd9, 0x85, 0xc0, + 0x38, 0xf8, 0xa4, 0x9e, 0xa2, 0x42, 0x35, 0x9e, 0x8c, 0x50, 0x15, 0x32, 0xe4, 0x44, 0x38, 0x20, + 0x43, 0x4e, 0xd0, 0x77, 0x20, 0x47, 0x27, 0xc9, 0x26, 0x5f, 0x9d, 0xc3, 0x04, 0x84, 0x5d, 0xf7, + 0xd4, 0xc1, 0x2a, 0xd3, 0x54, 0x94, 0x60, 0x37, 0x04, 0x09, 0x6a, 0x1a, 0x55, 0x79, 0x1e, 0x6a, + 0x53, 0x19, 0x28, 0xf2, 0xfd, 0xd2, 0xd1, 0xef, 0xa7, 0xd4, 0xa0, 0x12, 0x4b, 0x37, 0xca, 0x25, + 0xb8, 0x38, 0x2f, 0x7b, 0x28, 0xc3, 0x40, 0x1e, 0xcb, 0x02, 0xe8, 0x55, 0x28, 0x05, 0xe9, 0x83, + 0xef, 0xc6, 0x59, 0x5f, 0xf9, 0xca, 0x6a, 0xa0, 0x4a, 0xb7, 0x21, 0x5d, 0xd6, 0x6c, 0x3d, 0x64, + 0xd8, 0x8b, 0x17, 0x75, 0xc7, 0xe9, 0xe8, 0xde, 0x50, 0xf9, 0x10, 0x1a, 0x49, 0xa9, 0x61, 0x6a, + 0x1a, 0xb9, 0x60, 0x19, 0x5e, 0x82, 0xc2, 0x91, 0xed, 0x8e, 0x75, 0xc2, 0xc0, 0x2a, 0xaa, 0x18, + 0xd1, 0xe5, 0xc9, 0xd3, 0x44, 0x96, 0x89, 0xf9, 0x40, 0xd1, 0xe0, 0xc9, 0xc4, 0xf4, 0x40, 0x4d, + 0x4c, 0xcb, 0xc0, 0xdc, 0x9f, 0x15, 0x95, 0x0f, 0x42, 0x20, 0xfe, 0xb2, 0x7c, 0x40, 0x1f, 0xeb, + 0xb1, 0xb9, 0x32, 0x7c, 0x49, 0x15, 0x23, 0x45, 0x83, 0x4b, 0xf3, 0x73, 0x04, 0xba, 0x0a, 0xc0, + 0xe3, 0xa9, 0xd8, 0x75, 0xd9, 0x1b, 0x2b, 0xaa, 0xc4, 0x24, 0xb7, 0xe9, 0xd6, 0x7b, 0x16, 0x6a, + 0xe1, 0x6d, 0xcd, 0x33, 0x1f, 0xf1, 0xa5, 0x91, 0x55, 0x2b, 0x81, 0xce, 0xa1, 0xf9, 0x08, 0x2b, + 0xbd, 0xc8, 0x03, 0x62, 0xb9, 0x21, 0xb2, 0xa1, 0xd2, 0xe7, 0xda, 0x50, 0x75, 0xc8, 0x92, 0x13, + 0xaf, 0x91, 0x61, 0x6f, 0x44, 0x2f, 0x95, 0xdf, 0x00, 0x94, 0x54, 0xec, 0x39, 0x34, 0xb0, 0xa1, + 0x26, 0x48, 0xf8, 0xa4, 0x8f, 0x39, 0xfb, 0x4c, 0x27, 0xb2, 0x37, 0xae, 0xdd, 0xf6, 0x35, 0x29, + 0x75, 0x0a, 0xcc, 0xd0, 0x2b, 0x82, 0x61, 0x27, 0x93, 0x65, 0x61, 0x1e, 0xa5, 0xd8, 0xaf, 0xf9, + 0x14, 0x3b, 0x9b, 0xc8, 0x96, 0xb8, 0xd5, 0x14, 0xc7, 0x7e, 0x45, 0x70, 0xec, 0xdc, 0x82, 0x87, + 0xc5, 0x48, 0x76, 0x2b, 0x46, 0xb2, 0xf3, 0x0b, 0xa6, 0x99, 0xc0, 0xb2, 0x5b, 0x31, 0x96, 0x5d, + 0x58, 0x00, 0x92, 0x40, 0xb3, 0x5f, 0xf3, 0x69, 0x76, 0x71, 0xc1, 0xb4, 0xa7, 0x78, 0xf6, 0x9d, + 0x38, 0xcf, 0xe6, 0x1c, 0xf9, 0x7a, 0xa2, 0x75, 0x22, 0xd1, 0xfe, 0x7e, 0x84, 0x68, 0x4b, 0x89, + 0x2c, 0x97, 0x83, 0xcc, 0x61, 0xda, 0xad, 0x18, 0xd3, 0x86, 0x05, 0x3e, 0x48, 0xa0, 0xda, 0x6f, + 0x47, 0xa9, 0x76, 0x39, 0x91, 0xad, 0x8b, 0x45, 0x33, 0x8f, 0x6b, 0xbf, 0x1e, 0x70, 0xed, 0x95, + 0xc4, 0x62, 0x41, 0xcc, 0x61, 0x9a, 0x6c, 0xef, 0xcf, 0x90, 0x6d, 0x4e, 0x8e, 0x9f, 0x4d, 0x84, + 0x58, 0xc0, 0xb6, 0xf7, 0x67, 0xd8, 0x76, 0x75, 0x01, 0xe0, 0x02, 0xba, 0xfd, 0xb3, 0xf9, 0x74, + 0x3b, 0x99, 0x10, 0x8b, 0xd7, 0x5c, 0x8e, 0x6f, 0x6b, 0x09, 0x7c, 0x9b, 0x73, 0xe2, 0x17, 0x12, + 0xe1, 0x97, 0x26, 0xdc, 0xf7, 0xe6, 0x10, 0x6e, 0x4e, 0x8d, 0x6f, 0x24, 0x82, 0x2f, 0xc1, 0xb8, + 0xef, 0xcd, 0x61, 0xdc, 0x68, 0x21, 0xec, 0xf2, 0x94, 0xfb, 0x79, 0xca, 0x6c, 0xa6, 0xc2, 0x1c, + 0xcd, 0x0e, 0xd8, 0x75, 0x6d, 0x57, 0xb0, 0x59, 0x3e, 0x50, 0x6e, 0x50, 0xae, 0x15, 0x86, 0xb4, + 0x33, 0xe8, 0x39, 0xcb, 0xc2, 0x91, 0x30, 0xa6, 0xfc, 0x21, 0x1d, 0xda, 0x32, 0x7a, 0x12, 0xe5, + 0x69, 0x92, 0xe0, 0x69, 0x11, 0xd6, 0x9e, 0x89, 0xb3, 0xf6, 0x75, 0x28, 0xd3, 0xec, 0x3a, 0x45, + 0xc8, 0x75, 0xc7, 0x27, 0xe4, 0xe8, 0x26, 0xac, 0x32, 0xfa, 0xc4, 0x93, 0x8d, 0x48, 0xa9, 0x39, + 0x96, 0x69, 0x6a, 0xf4, 0x06, 0xdf, 0x4a, 0x3c, 0xb7, 0xbe, 0x04, 0x17, 0x22, 0xba, 0x41, 0xd6, + 0xe6, 0x2c, 0xb4, 0x1e, 0x68, 0x6f, 0x8b, 0xf4, 0xfd, 0x5e, 0xe8, 0xa0, 0x90, 0xec, 0x23, 0xc8, + 0xf5, 0x6d, 0x03, 0x8b, 0x9c, 0xca, 0xae, 0x69, 0xc6, 0x19, 0xd9, 0x03, 0x91, 0x39, 0xe9, 0x25, + 0xd5, 0x0a, 0x62, 0xb6, 0xc4, 0x43, 0xb2, 0xf2, 0xe7, 0x74, 0x88, 0x17, 0xf2, 0xff, 0x79, 0x54, + 0x3d, 0xfd, 0xbf, 0xa1, 0xea, 0x99, 0x6f, 0x4c, 0xd5, 0xa3, 0x9c, 0x26, 0x1b, 0xe7, 0x34, 0xff, + 0x4a, 0x87, 0x5f, 0x38, 0x20, 0xde, 0xdf, 0xcc, 0x23, 0x21, 0x41, 0xc9, 0xb3, 0xef, 0x25, 0x08, + 0x8a, 0x28, 0xa7, 0x0a, 0xec, 0xb9, 0xf1, 0x72, 0xaa, 0xc8, 0x29, 0x0b, 0x1b, 0xa0, 0x5b, 0x20, + 0xb1, 0x9e, 0x9c, 0x66, 0x3b, 0x9e, 0x48, 0x0f, 0x4f, 0x45, 0xe7, 0xca, 0x5b, 0x6f, 0x1b, 0x07, + 0x54, 0x67, 0xdf, 0xf1, 0xd4, 0x92, 0x23, 0xae, 0x22, 0xdc, 0x4b, 0x8a, 0x95, 0x00, 0x57, 0x40, + 0xa2, 0x6f, 0xef, 0x39, 0x7a, 0x1f, 0xb3, 0x50, 0x2f, 0xa9, 0xa1, 0x40, 0x79, 0x00, 0x68, 0x36, + 0xd9, 0xa0, 0x0e, 0x14, 0xf0, 0x31, 0xb6, 0x88, 0xc7, 0x28, 0x50, 0x79, 0xeb, 0xd2, 0x1c, 0x7e, + 0x8d, 0x2d, 0xd2, 0x6c, 0x50, 0x27, 0xff, 0xf3, 0xab, 0xf5, 0x3a, 0xd7, 0x7e, 0xd1, 0x1e, 0x9b, + 0x04, 0x8f, 0x1d, 0x72, 0xaa, 0x0a, 0x7b, 0xe5, 0x17, 0x19, 0x4a, 0x76, 0x63, 0x89, 0x68, 0xae, + 0x6f, 0xfd, 0x0d, 0x94, 0x89, 0x14, 0x3a, 0xcb, 0xf9, 0x7b, 0x0d, 0x60, 0xa0, 0x7b, 0xda, 0x27, + 0xba, 0x45, 0xb0, 0x21, 0x9c, 0x1e, 0x91, 0x20, 0x19, 0x4a, 0x74, 0x34, 0xf1, 0xb0, 0x21, 0x6a, + 0xae, 0x60, 0x1c, 0x99, 0x67, 0xf1, 0xdb, 0xcd, 0x33, 0xee, 0xe5, 0xd2, 0xb4, 0x97, 0x7f, 0x95, + 0x09, 0x77, 0x49, 0x58, 0x17, 0xfc, 0xff, 0xf9, 0xe1, 0xd7, 0xac, 0x59, 0x10, 0x67, 0x04, 0xe8, + 0x10, 0x56, 0x83, 0x5d, 0xaa, 0x4d, 0xd8, 0xee, 0xf5, 0xd7, 0xdd, 0xb2, 0xdb, 0xbc, 0x7e, 0x1c, + 0x17, 0x7b, 0xe8, 0x47, 0x70, 0x79, 0x2a, 0x02, 0x05, 0xd0, 0x99, 0x25, 0x03, 0xd1, 0x13, 0xf1, + 0x40, 0xe4, 0x23, 0x87, 0xbe, 0xca, 0x7e, 0xcb, 0xbd, 0xb1, 0x43, 0xeb, 0xcf, 0x28, 0xbf, 0x99, + 0xfb, 0xf5, 0xaf, 0x43, 0xc5, 0xc5, 0x44, 0x37, 0x2d, 0x2d, 0x56, 0xe1, 0xaf, 0x70, 0xa1, 0xe8, + 0x1b, 0x1c, 0xc0, 0x13, 0x73, 0x79, 0x0e, 0xfa, 0x2e, 0x48, 0x21, 0x45, 0x4a, 0x27, 0x14, 0xcb, + 0x41, 0x01, 0x18, 0xea, 0x2a, 0x7f, 0x4a, 0x87, 0x90, 0xf1, 0x92, 0xb2, 0x0d, 0x05, 0x17, 0x7b, + 0x93, 0x11, 0x2f, 0xf2, 0xaa, 0x5b, 0x2f, 0x2d, 0xc7, 0x90, 0xa8, 0x74, 0x32, 0x22, 0xaa, 0x30, + 0x56, 0x1e, 0x40, 0x81, 0x4b, 0x50, 0x19, 0x8a, 0xf7, 0xf6, 0xee, 0xee, 0xed, 0xbf, 0xbf, 0x57, + 0x4f, 0x21, 0x80, 0xc2, 0x76, 0xab, 0xd5, 0x3e, 0xe8, 0xd6, 0xd3, 0x48, 0x82, 0xfc, 0x76, 0x73, + 0x5f, 0xed, 0xd6, 0x33, 0x54, 0xac, 0xb6, 0xdf, 0x6d, 0xb7, 0xba, 0xf5, 0x2c, 0x5a, 0x85, 0x0a, + 0xbf, 0xd6, 0xee, 0xec, 0xab, 0xef, 0x6d, 0x77, 0xeb, 0xb9, 0x88, 0xe8, 0xb0, 0xbd, 0x77, 0xbb, + 0xad, 0xd6, 0xf3, 0xca, 0xcb, 0xb4, 0x8a, 0x4c, 0xe0, 0x54, 0x61, 0xbd, 0x98, 0x8e, 0xd4, 0x8b, + 0xca, 0x6f, 0x33, 0x20, 0x27, 0x13, 0x25, 0xf4, 0xee, 0xd4, 0xc4, 0xb7, 0xce, 0xc1, 0xb2, 0xa6, + 0x66, 0x8f, 0x9e, 0x81, 0xaa, 0x8b, 0x8f, 0x30, 0xe9, 0x0f, 0x39, 0x71, 0xe3, 0x89, 0xad, 0xa2, + 0x56, 0x84, 0x94, 0x19, 0x79, 0x5c, 0xed, 0x23, 0xdc, 0x27, 0x1a, 0x2f, 0x5d, 0xf9, 0xa2, 0x93, + 0xa8, 0x1a, 0x95, 0x1e, 0x72, 0xa1, 0xf2, 0xe1, 0xb9, 0x7c, 0x29, 0x41, 0x5e, 0x6d, 0x77, 0xd5, + 0x1f, 0xd7, 0xb3, 0x08, 0x41, 0x95, 0x5d, 0x6a, 0x87, 0x7b, 0xdb, 0x07, 0x87, 0x9d, 0x7d, 0xea, + 0xcb, 0x0b, 0x50, 0xf3, 0x7d, 0xe9, 0x0b, 0xf3, 0xca, 0x2d, 0xb8, 0x9c, 0xc0, 0xf2, 0x16, 0xd4, + 0xcc, 0xca, 0xef, 0xd2, 0x51, 0xd3, 0x78, 0x35, 0xfc, 0xce, 0x94, 0x47, 0x37, 0x97, 0xe5, 0x80, + 0xd3, 0xee, 0x94, 0xa1, 0x84, 0x45, 0xc7, 0x47, 0xd4, 0xc8, 0xc1, 0x58, 0x79, 0x69, 0xb1, 0x73, + 0xc2, 0xd5, 0x95, 0x51, 0xfe, 0x93, 0x86, 0xda, 0x54, 0x28, 0x40, 0x5b, 0x90, 0xe7, 0x65, 0x4e, + 0xd2, 0xdf, 0x27, 0x16, 0xc9, 0x44, 0xdc, 0xe0, 0xaa, 0xe8, 0xcd, 0xd8, 0x2b, 0xcd, 0x84, 0x1c, + 0x5e, 0xeb, 0xfb, 0x6d, 0x2a, 0x61, 0x1a, 0x58, 0xa0, 0xb7, 0x40, 0x0a, 0x62, 0x9a, 0xa8, 0xad, + 0x9f, 0x9e, 0x35, 0x0f, 0xa2, 0xa1, 0xb0, 0x0f, 0x6d, 0xd0, 0xeb, 0x21, 0xfb, 0xcc, 0xcd, 0x16, + 0x57, 0xc2, 0x9c, 0x2b, 0x08, 0x63, 0x5f, 0x5f, 0x69, 0x41, 0x39, 0x32, 0x1f, 0xf4, 0x14, 0x48, + 0x63, 0xfd, 0x44, 0x34, 0x37, 0x79, 0x7b, 0xaa, 0x34, 0xd6, 0x4f, 0x78, 0x5f, 0xf3, 0x32, 0x14, + 0xe9, 0xcd, 0x81, 0xee, 0x89, 0x4e, 0x48, 0x61, 0xac, 0x9f, 0xbc, 0xa3, 0x7b, 0xca, 0x07, 0x50, + 0x8d, 0x37, 0xf6, 0xe8, 0x9e, 0x73, 0xed, 0x89, 0x65, 0x30, 0x8c, 0xbc, 0xca, 0x07, 0xe8, 0x55, + 0xc8, 0x1f, 0xdb, 0x3c, 0x2c, 0xcf, 0x0f, 0x4e, 0xf7, 0x6d, 0x82, 0x23, 0x8d, 0x41, 0xae, 0xad, + 0x3c, 0x82, 0x3c, 0x0b, 0xb3, 0x34, 0x64, 0xb2, 0x16, 0x9d, 0x60, 0xde, 0xf4, 0x1a, 0x7d, 0x00, + 0xa0, 0x13, 0xe2, 0x9a, 0xbd, 0x49, 0x08, 0xbc, 0x3e, 0x3f, 0x4c, 0x6f, 0xfb, 0x7a, 0xcd, 0x2b, + 0x22, 0x5e, 0x5f, 0x0c, 0x4d, 0x23, 0x31, 0x3b, 0x02, 0xa8, 0xec, 0x41, 0x35, 0x6e, 0x1b, 0x6d, + 0x96, 0xaf, 0xcc, 0x69, 0x96, 0x07, 0xec, 0x2e, 0xe0, 0x86, 0x59, 0xde, 0x8e, 0x65, 0x03, 0xe5, + 0xf7, 0x69, 0x28, 0x75, 0x4f, 0xc4, 0x1a, 0x4d, 0xe8, 0x04, 0x86, 0xa6, 0x99, 0x68, 0xdf, 0x8b, + 0xb7, 0x16, 0xb3, 0x41, 0xc3, 0xf2, 0xed, 0x60, 0x43, 0xe5, 0x96, 0x2d, 0xea, 0xfd, 0x46, 0x93, + 0xd8, 0x49, 0xd7, 0xa1, 0x62, 0xbb, 0xe6, 0xc0, 0xb4, 0xf4, 0x51, 0xb4, 0x90, 0x58, 0xf1, 0x85, + 0x8c, 0x2f, 0xbf, 0x01, 0x52, 0xb0, 0xf4, 0x68, 0x9d, 0xa3, 0x1b, 0x86, 0x8b, 0x3d, 0x4f, 0x38, + 0xc0, 0x1f, 0xb2, 0xee, 0xb3, 0xfd, 0x89, 0x68, 0xbf, 0x65, 0x55, 0x3e, 0x50, 0x0c, 0xa8, 0x4d, + 0x65, 0x71, 0xf4, 0x06, 0x14, 0x9d, 0x49, 0x4f, 0xf3, 0x7d, 0x38, 0xb5, 0xc3, 0x7c, 0xce, 0x3b, + 0xe9, 0x8d, 0xcc, 0xfe, 0x5d, 0x7c, 0xea, 0xbf, 0xb1, 0x33, 0xe9, 0xdd, 0xe5, 0xae, 0xe6, 0x4f, + 0xc9, 0x44, 0x9f, 0x72, 0x0c, 0x25, 0x7f, 0xe5, 0xa0, 0x1f, 0x44, 0x37, 0x93, 0xff, 0x4f, 0x22, + 0x91, 0x59, 0x08, 0xf8, 0xc8, 0x5e, 0xba, 0x09, 0xab, 0x9e, 0x39, 0xb0, 0xb0, 0xa1, 0x85, 0x95, + 0x16, 0x7b, 0x5a, 0x49, 0xad, 0xf1, 0x1b, 0xbb, 0x7e, 0x99, 0xa5, 0xfc, 0x3b, 0x0d, 0x25, 0x7f, + 0x57, 0xa3, 0x97, 0x23, 0x8b, 0xb3, 0x3a, 0xa7, 0xcb, 0xe5, 0x2b, 0x86, 0x0d, 0xe4, 0xf8, 0xbb, + 0x66, 0xce, 0xff, 0xae, 0x49, 0x7f, 0x02, 0xfc, 0x5f, 0x32, 0xb9, 0x73, 0xff, 0x92, 0x79, 0x11, + 0x10, 0xb1, 0x89, 0x3e, 0xd2, 0x8e, 0x6d, 0x62, 0x5a, 0x03, 0x8d, 0x3b, 0x9b, 0x13, 0xcc, 0x3a, + 0xbb, 0x73, 0x9f, 0xdd, 0x38, 0x60, 0x7e, 0xff, 0x79, 0x1a, 0x4a, 0x01, 0x55, 0x38, 0x6f, 0x3f, + 0xf8, 0x12, 0x14, 0x44, 0x36, 0xe4, 0x0d, 0x61, 0x31, 0x0a, 0x7e, 0x4d, 0xe4, 0x22, 0xbf, 0x26, + 0x64, 0x28, 0x8d, 0x31, 0xd1, 0x59, 0xd2, 0xe1, 0x6b, 0x34, 0x18, 0xdf, 0x7c, 0x1d, 0xca, 0x91, + 0xd6, 0x3c, 0xdd, 0x9e, 0x7b, 0xed, 0xf7, 0xeb, 0x29, 0xb9, 0xf8, 0xe9, 0xe7, 0xd7, 0xb2, 0x7b, + 0xf8, 0x13, 0xba, 0x66, 0xd5, 0x76, 0xab, 0xd3, 0x6e, 0xdd, 0xad, 0xa7, 0xe5, 0xf2, 0xa7, 0x9f, + 0x5f, 0x2b, 0xaa, 0x98, 0x35, 0xc7, 0x6e, 0x76, 0x60, 0x25, 0xfa, 0x55, 0xe2, 0x39, 0x03, 0x41, + 0xf5, 0xf6, 0xbd, 0x83, 0xdd, 0x9d, 0xd6, 0x76, 0xb7, 0xad, 0xdd, 0xdf, 0xef, 0xb6, 0xeb, 0x69, + 0x74, 0x19, 0x2e, 0xec, 0xee, 0xbc, 0xd3, 0xe9, 0x6a, 0xad, 0xdd, 0x9d, 0xf6, 0x5e, 0x57, 0xdb, + 0xee, 0x76, 0xb7, 0x5b, 0x77, 0xeb, 0x99, 0xad, 0xbf, 0x96, 0xa1, 0xb6, 0xdd, 0x6c, 0xed, 0x50, + 0x32, 0x60, 0xf6, 0x75, 0xd1, 0x7c, 0xcc, 0xb1, 0x5e, 0xc3, 0x99, 0xe7, 0x17, 0xe4, 0xb3, 0x7b, + 0xaf, 0xe8, 0x0e, 0xe4, 0x59, 0x1b, 0x02, 0x9d, 0x7d, 0xa0, 0x41, 0x5e, 0xd0, 0x8c, 0xa5, 0x2f, + 0xc3, 0xb6, 0xc7, 0x99, 0x27, 0x1c, 0xe4, 0xb3, 0x7b, 0xb3, 0x48, 0x05, 0x29, 0xec, 0x23, 0x2c, + 0x3e, 0xf1, 0x20, 0x2f, 0xd1, 0xaf, 0xa5, 0x98, 0x61, 0x95, 0xb4, 0xf8, 0x04, 0x80, 0xbc, 0x44, + 0x94, 0x43, 0xbb, 0x50, 0xf4, 0xeb, 0xcf, 0x45, 0x67, 0x12, 0xe4, 0x85, 0xbd, 0x54, 0xfa, 0x09, + 0x78, 0x9f, 0xe0, 0xec, 0x03, 0x16, 0xf2, 0x82, 0xc6, 0x30, 0xda, 0x81, 0x82, 0xa0, 0xfe, 0x0b, + 0xce, 0x19, 0xc8, 0x8b, 0x7a, 0xa3, 0xd4, 0x69, 0x61, 0x03, 0x66, 0xf1, 0xb1, 0x11, 0x79, 0x89, + 0x9e, 0x37, 0xba, 0x07, 0x10, 0xe9, 0x0a, 0x2c, 0x71, 0x1e, 0x44, 0x5e, 0xa6, 0x97, 0x8d, 0xf6, + 0xa1, 0x14, 0x54, 0x7f, 0x0b, 0x4f, 0x67, 0xc8, 0x8b, 0x9b, 0xca, 0xe8, 0x01, 0x54, 0xe2, 0x65, + 0xcf, 0x72, 0x67, 0x2e, 0xe4, 0x25, 0xbb, 0xc5, 0x14, 0x3f, 0x5e, 0x03, 0x2d, 0x77, 0x06, 0x43, + 0x5e, 0xb2, 0x79, 0x8c, 0x3e, 0x82, 0xd5, 0xd9, 0x1a, 0x65, 0xf9, 0x23, 0x19, 0xf2, 0x39, 0xda, + 0xc9, 0x68, 0x0c, 0x68, 0x4e, 0x6d, 0x73, 0x8e, 0x13, 0x1a, 0xf2, 0x79, 0xba, 0xcb, 0xc8, 0x80, + 0xda, 0x74, 0xc1, 0xb0, 0xec, 0x89, 0x0d, 0x79, 0xe9, 0x4e, 0x33, 0x7f, 0x4a, 0xbc, 0xb6, 0x58, + 0xf6, 0x04, 0x87, 0xbc, 0x74, 0xe3, 0xb9, 0xd9, 0xfe, 0xe2, 0xeb, 0xb5, 0xf4, 0x97, 0x5f, 0xaf, + 0xa5, 0xff, 0xf1, 0xf5, 0x5a, 0xfa, 0xb3, 0xc7, 0x6b, 0xa9, 0x2f, 0x1f, 0xaf, 0xa5, 0xfe, 0xf6, + 0x78, 0x2d, 0xf5, 0x93, 0x17, 0x06, 0x26, 0x19, 0x4e, 0x7a, 0x1b, 0x7d, 0x7b, 0xbc, 0x19, 0x3d, + 0x0a, 0x37, 0xef, 0x78, 0x5e, 0xaf, 0xc0, 0x92, 0xee, 0x2b, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, + 0x02, 0x09, 0x08, 0x34, 0xbe, 0x27, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -3546,6 +3713,7 @@ type ABCIApplicationClient interface { LoadSnapshotChunk(ctx context.Context, in *RequestLoadSnapshotChunk, opts ...grpc.CallOption) (*ResponseLoadSnapshotChunk, error) ApplySnapshotChunk(ctx context.Context, in *RequestApplySnapshotChunk, opts ...grpc.CallOption) (*ResponseApplySnapshotChunk, error) PrepareProposal(ctx context.Context, in *RequestPrepareProposal, opts ...grpc.CallOption) (*ResponsePrepareProposal, error) + ProcessProposal(ctx context.Context, in *RequestProcessProposal, opts ...grpc.CallOption) (*ResponseProcessProposal, error) } type aBCIApplicationClient struct { @@ -3700,6 +3868,15 @@ func (c *aBCIApplicationClient) PrepareProposal(ctx context.Context, in *Request return out, nil } +func (c *aBCIApplicationClient) ProcessProposal(ctx context.Context, in *RequestProcessProposal, opts ...grpc.CallOption) (*ResponseProcessProposal, error) { + out := new(ResponseProcessProposal) + err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/ProcessProposal", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // ABCIApplicationServer is the server API for ABCIApplication service. type ABCIApplicationServer interface { Echo(context.Context, *RequestEcho) (*ResponseEcho, error) @@ -3718,6 +3895,7 @@ type ABCIApplicationServer interface { LoadSnapshotChunk(context.Context, *RequestLoadSnapshotChunk) (*ResponseLoadSnapshotChunk, error) ApplySnapshotChunk(context.Context, *RequestApplySnapshotChunk) (*ResponseApplySnapshotChunk, error) PrepareProposal(context.Context, *RequestPrepareProposal) (*ResponsePrepareProposal, error) + ProcessProposal(context.Context, *RequestProcessProposal) (*ResponseProcessProposal, error) } // UnimplementedABCIApplicationServer can be embedded to have forward compatible implementations. @@ -3772,6 +3950,9 @@ func (*UnimplementedABCIApplicationServer) ApplySnapshotChunk(ctx context.Contex func (*UnimplementedABCIApplicationServer) PrepareProposal(ctx context.Context, req *RequestPrepareProposal) (*ResponsePrepareProposal, error) { return nil, status.Errorf(codes.Unimplemented, "method PrepareProposal not implemented") } +func (*UnimplementedABCIApplicationServer) ProcessProposal(ctx context.Context, req *RequestProcessProposal) (*ResponseProcessProposal, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProcessProposal not implemented") +} func RegisterABCIApplicationServer(s *grpc.Server, srv ABCIApplicationServer) { s.RegisterService(&_ABCIApplication_serviceDesc, srv) @@ -4065,6 +4246,24 @@ func _ABCIApplication_PrepareProposal_Handler(srv interface{}, ctx context.Conte return interceptor(ctx, in, info, handler) } +func _ABCIApplication_ProcessProposal_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RequestProcessProposal) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ABCIApplicationServer).ProcessProposal(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/tendermint.abci.ABCIApplication/ProcessProposal", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ABCIApplicationServer).ProcessProposal(ctx, req.(*RequestProcessProposal)) + } + return interceptor(ctx, in, info, handler) +} + var _ABCIApplication_serviceDesc = grpc.ServiceDesc{ ServiceName: "tendermint.abci.ABCIApplication", HandlerType: (*ABCIApplicationServer)(nil), @@ -4133,6 +4332,10 @@ var _ABCIApplication_serviceDesc = grpc.ServiceDesc{ MethodName: "PrepareProposal", Handler: _ABCIApplication_PrepareProposal_Handler, }, + { + MethodName: "ProcessProposal", + Handler: _ABCIApplication_ProcessProposal_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "tendermint/abci/types.proto", @@ -4508,6 +4711,29 @@ func (m *Request_PrepareProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) } return len(dAtA) - i, nil } +func (m *Request_ProcessProposal) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Request_ProcessProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + if m.ProcessProposal != nil { + { + size, err := m.ProcessProposal.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 + } + return len(dAtA) - i, nil +} func (m *RequestEcho) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -4703,12 +4929,12 @@ func (m *RequestInitChain) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x12 } - n18, err18 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) - if err18 != nil { - return 0, err18 + n19, err19 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) + if err19 != nil { + return 0, err19 } - i -= n18 - i = encodeVarintTypes(dAtA, i, uint64(n18)) + i -= n19 + i = encodeVarintTypes(dAtA, i, uint64(n19)) i-- dAtA[i] = 0xa return len(dAtA) - i, nil @@ -5128,6 +5354,48 @@ func (m *RequestPrepareProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } +func (m *RequestProcessProposal) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RequestProcessProposal) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *RequestProcessProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Txs) > 0 { + for iNdEx := len(m.Txs) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Txs[iNdEx]) + copy(dAtA[i:], m.Txs[iNdEx]) + i = encodeVarintTypes(dAtA, i, uint64(len(m.Txs[iNdEx]))) + i-- + dAtA[i] = 0x12 + } + } + { + size, err := m.Header.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTypes(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + func (m *Response) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -5521,6 +5789,29 @@ func (m *Response_PrepareProposal) MarshalToSizedBuffer(dAtA []byte) (int, error } return len(dAtA) - i, nil } +func (m *Response_ProcessProposal) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Response_ProcessProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + if m.ProcessProposal != nil { + { + size, err := m.ProcessProposal.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTypes(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x92 + } + return len(dAtA) - i, nil +} func (m *ResponseException) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -6261,20 +6552,20 @@ func (m *ResponseApplySnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, err } } if len(m.RefetchChunks) > 0 { - dAtA43 := make([]byte, len(m.RefetchChunks)*10) - var j42 int + dAtA46 := make([]byte, len(m.RefetchChunks)*10) + var j45 int for _, num := range m.RefetchChunks { for num >= 1<<7 { - dAtA43[j42] = uint8(uint64(num)&0x7f | 0x80) + dAtA46[j45] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j42++ + j45++ } - dAtA43[j42] = uint8(num) - j42++ + dAtA46[j45] = uint8(num) + j45++ } - i -= j42 - copy(dAtA[i:], dAtA43[:j42]) - i = encodeVarintTypes(dAtA, i, uint64(j42)) + i -= j45 + copy(dAtA[i:], dAtA46[:j45]) + i = encodeVarintTypes(dAtA, i, uint64(j45)) i-- dAtA[i] = 0x12 } @@ -6318,7 +6609,7 @@ func (m *ResponsePrepareProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *ConsensusParams) Marshal() (dAtA []byte, err error) { +func (m *ResponseProcessProposal) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6328,30 +6619,67 @@ func (m *ConsensusParams) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *ConsensusParams) MarshalTo(dAtA []byte) (int, error) { +func (m *ResponseProcessProposal) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *ConsensusParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *ResponseProcessProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.Version != nil { - { - size, err := m.Version.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTypes(dAtA, i, uint64(size)) + if len(m.Evidence) > 0 { + for iNdEx := len(m.Evidence) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Evidence[iNdEx]) + copy(dAtA[i:], m.Evidence[iNdEx]) + i = encodeVarintTypes(dAtA, i, uint64(len(m.Evidence[iNdEx]))) + i-- + dAtA[i] = 0x12 } - i-- - dAtA[i] = 0x22 } - if m.Validator != nil { - { + if m.Result != 0 { + i = encodeVarintTypes(dAtA, i, uint64(m.Result)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ConsensusParams) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ConsensusParams) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ConsensusParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Version != nil { + { + size, err := m.Version.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTypes(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + } + if m.Validator != nil { + { size, err := m.Validator.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err @@ -6753,12 +7081,12 @@ func (m *Evidence) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x28 } - n51, err51 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) - if err51 != nil { - return 0, err51 + n54, err54 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) + if err54 != nil { + return 0, err54 } - i -= n51 - i = encodeVarintTypes(dAtA, i, uint64(n51)) + i -= n54 + i = encodeVarintTypes(dAtA, i, uint64(n54)) i-- dAtA[i] = 0x22 if m.Height != 0 { @@ -7051,6 +7379,18 @@ func (m *Request_PrepareProposal) Size() (n int) { } return n } +func (m *Request_ProcessProposal) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.ProcessProposal != nil { + l = m.ProcessProposal.Size() + n += 2 + l + sovTypes(uint64(l)) + } + return n +} func (m *RequestEcho) Size() (n int) { if m == nil { return 0 @@ -7319,6 +7659,23 @@ func (m *RequestPrepareProposal) Size() (n int) { return n } +func (m *RequestProcessProposal) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Header.Size() + n += 1 + l + sovTypes(uint64(l)) + if len(m.Txs) > 0 { + for _, b := range m.Txs { + l = len(b) + n += 1 + l + sovTypes(uint64(l)) + } + } + return n +} + func (m *Response) Size() (n int) { if m == nil { return 0 @@ -7535,6 +7892,18 @@ func (m *Response_PrepareProposal) Size() (n int) { } return n } +func (m *Response_ProcessProposal) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.ProcessProposal != nil { + l = m.ProcessProposal.Size() + n += 2 + l + sovTypes(uint64(l)) + } + return n +} func (m *ResponseException) Size() (n int) { if m == nil { return 0 @@ -7898,6 +8267,24 @@ func (m *ResponsePrepareProposal) Size() (n int) { return n } +func (m *ResponseProcessProposal) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Result != 0 { + n += 1 + sovTypes(uint64(m.Result)) + } + if len(m.Evidence) > 0 { + for _, b := range m.Evidence { + l = len(b) + n += 1 + l + sovTypes(uint64(l)) + } + } + return n +} + func (m *ConsensusParams) Size() (n int) { if m == nil { return 0 @@ -8707,6 +9094,41 @@ func (m *Request) Unmarshal(dAtA []byte) error { } m.Value = &Request_PrepareProposal{v} iNdEx = postIndex + case 17: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProcessProposal", 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 + } + v := &RequestProcessProposal{} + if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Value = &Request_ProcessProposal{v} + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTypes(dAtA[iNdEx:]) @@ -10490,6 +10912,121 @@ func (m *RequestPrepareProposal) Unmarshal(dAtA []byte) error { } 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 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: 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 Header", 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.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + 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 + 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 *Response) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -11114,6 +11651,41 @@ func (m *Response) Unmarshal(dAtA []byte) error { } m.Value = &Response_PrepareProposal{v} iNdEx = postIndex + case 18: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProcessProposal", 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 + } + v := &ResponseProcessProposal{} + if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Value = &Response_ProcessProposal{v} + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTypes(dAtA[iNdEx:]) @@ -13508,6 +14080,107 @@ func (m *ResponsePrepareProposal) Unmarshal(dAtA []byte) error { } return nil } +func (m *ResponseProcessProposal) 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: ResponseProcessProposal: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ResponseProcessProposal: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Result", wireType) + } + m.Result = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Result |= ResponseProcessProposal_Result(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Evidence", 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.Evidence = append(m.Evidence, make([]byte, postIndex-iNdEx)) + copy(m.Evidence[len(m.Evidence)-1], dAtA[iNdEx:postIndex]) + 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 *ConsensusParams) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/proto/tendermint/abci/types.proto b/proto/tendermint/abci/types.proto index 1c633fe4b6..fa7c727f53 100644 --- a/proto/tendermint/abci/types.proto +++ b/proto/tendermint/abci/types.proto @@ -37,6 +37,7 @@ message Request { RequestLoadSnapshotChunk load_snapshot_chunk = 14; RequestApplySnapshotChunk apply_snapshot_chunk = 15; RequestPrepareProposal prepare_proposal = 16; + RequestProcessProposal process_proposal = 17; } } @@ -135,6 +136,11 @@ message RequestPrepareProposal { int64 block_data_size = 2; } +message RequestProcessProposal { + tendermint.types.Header header = 1 [(gogoproto.nullable) = false]; + repeated bytes txs = 2; +} + //---------------------------------------- // Response types @@ -157,6 +163,7 @@ message Response { ResponseLoadSnapshotChunk load_snapshot_chunk = 15; ResponseApplySnapshotChunk apply_snapshot_chunk = 16; ResponsePrepareProposal prepare_proposal = 17; + ResponseProcessProposal process_proposal = 18; } } @@ -291,6 +298,17 @@ message ResponsePrepareProposal { repeated bytes block_data = 1; } +message ResponseProcessProposal { + Result result = 1; + repeated bytes evidence = 2; + + enum Result { + UNKNOWN = 0; // Unknown result, treat as ACCEPT by default + ACCEPT = 1; // proposal verified, vote on the proposal + REJECT = 2; // proposal invalidated + } +} + //---------------------------------------- // Misc. @@ -421,4 +439,5 @@ service ABCIApplication { rpc LoadSnapshotChunk(RequestLoadSnapshotChunk) returns (ResponseLoadSnapshotChunk); rpc ApplySnapshotChunk(RequestApplySnapshotChunk) returns (ResponseApplySnapshotChunk); rpc PrepareProposal(RequestPrepareProposal) returns (ResponsePrepareProposal); + rpc ProcessProposal(RequestProcessProposal) returns (ResponseProcessProposal); } diff --git a/proxy/app_conn.go b/proxy/app_conn.go index 70024b5992..d302b5affa 100644 --- a/proxy/app_conn.go +++ b/proxy/app_conn.go @@ -22,6 +22,7 @@ type AppConnConsensus interface { CommitSync() (*types.ResponseCommit, error) PrepareProposalSync(types.RequestPrepareProposal) (*types.ResponsePrepareProposal, error) + ProcessProposalSync(types.RequestProcessProposal) (*types.ResponseProcessProposal, error) } type AppConnMempool interface { @@ -101,6 +102,12 @@ func (app *appConnConsensus) PrepareProposalSync( return app.appConn.PrepareProposalSync(req) } +func (app *appConnConsensus) ProcessProposalSync( + req types.RequestProcessProposal, +) (*types.ResponseProcessProposal, error) { + return app.appConn.ProcessProposalSync(req) +} + //------------------------------------------------ // Implements AppConnMempool (subset of abcicli.Client) diff --git a/state/execution.go b/state/execution.go index b8dfb2dbcf..86259bafb5 100644 --- a/state/execution.go +++ b/state/execution.go @@ -151,6 +151,22 @@ func (blockExec *BlockExecutor) CreateProposalBlock( return state.MakeBlock(height, modifiedTxs, evidence, nil, nil, commit, proposerAddr) } +func (blockExec *BlockExecutor) ProcessProposal( + block *types.Block, +) (bool, error) { + req := abci.RequestProcessProposal{ + Txs: block.Data.Txs.ToSliceOfBytes(), + Header: *block.Header.ToProto(), + } + + resp, err := blockExec.proxyApp.ProcessProposalSync(req) + if err != nil { + return false, ErrInvalidBlock(err) + } + + return resp.IsOK(), nil +} + // ValidateBlock validates the given block against the given state. // If the block is invalid, it returns an error. // Validation does not mutate state, but does require historical information from the stateDB, diff --git a/test/maverick/consensus/misbehavior.go b/test/maverick/consensus/misbehavior.go index db4f072ea0..1907756f65 100644 --- a/test/maverick/consensus/misbehavior.go +++ b/test/maverick/consensus/misbehavior.go @@ -289,14 +289,14 @@ func defaultReceivePrevote(cs *State, vote *types.Vote) { // Update Valid* if we can. // NOTE: our proposal block may be nil or not what received a polka.. - if len(blockID.Hash) != 0 && (cs.ValidRound < vote.Round) && (vote.Round == cs.Round) { + if len(blockID.Hash) != 0 && (cs.TwoThirdPrevoteRound < vote.Round) && (vote.Round == cs.Round) { if cs.ProposalBlock.HashesTo(blockID.Hash) { cs.Logger.Info( - "Updating ValidBlock because of POL.", "validRound", cs.ValidRound, "POLRound", vote.Round) - cs.ValidRound = vote.Round - cs.ValidBlock = cs.ProposalBlock - cs.ValidBlockParts = cs.ProposalBlockParts + "Updating ValidBlock because of POL.", "validRound", cs.TwoThirdPrevoteRound, "POLRound", vote.Round) + cs.TwoThirdPrevoteRound = vote.Round + cs.TwoThirdPrevoteBlock = cs.ProposalBlock + cs.TwoThirdPrevoteBlockParts = cs.ProposalBlockParts } else { cs.Logger.Info( "valid block we do not know about; set ProposalBlock=nil", diff --git a/test/maverick/consensus/state.go b/test/maverick/consensus/state.go index e4ff827932..ecf0e0b4b9 100644 --- a/test/maverick/consensus/state.go +++ b/test/maverick/consensus/state.go @@ -905,9 +905,9 @@ func (cs *State) updateToState(state sm.State) { cs.LockedRound = -1 cs.LockedBlock = nil cs.LockedBlockParts = nil - cs.ValidRound = -1 - cs.ValidBlock = nil - cs.ValidBlockParts = nil + cs.TwoThirdPrevoteRound = -1 + cs.TwoThirdPrevoteBlock = nil + cs.TwoThirdPrevoteBlockParts = nil cs.Votes = cstypes.NewHeightVoteSet(state.ChainID, height, validators) cs.CommitRound = -1 cs.LastValidators = state.LastValidators @@ -1186,9 +1186,9 @@ func (cs *State) defaultDecideProposal(height int64, round int32) { var blockParts *types.PartSet // Decide on block - if cs.ValidBlock != nil { + if cs.TwoThirdPrevoteBlock != nil { // If there is valid block, choose that. - block, blockParts = cs.ValidBlock, cs.ValidBlockParts + block, blockParts = cs.TwoThirdPrevoteBlock, cs.TwoThirdPrevoteBlockParts } else { // Create a new proposal block from state/txs from the mempool. block, blockParts = cs.createProposalBlock() @@ -1205,7 +1205,7 @@ func (cs *State) defaultDecideProposal(height int64, round int32) { // Make proposal propBlockID := types.BlockID{Hash: block.Hash(), PartSetHeader: blockParts.Header()} - proposal := types.NewProposal(height, round, cs.ValidRound, propBlockID) + proposal := types.NewProposal(height, round, cs.TwoThirdPrevoteRound, propBlockID) p := proposal.ToProto() if err := cs.privValidator.SignProposal(cs.state.ChainID, p); err == nil { proposal.Signature = p.Signature @@ -1714,13 +1714,13 @@ func (cs *State) addProposalBlockPart(msg *tmcon.BlockPartMessage, peerID p2p.ID // Update Valid* if we can. prevotes := cs.Votes.Prevotes(cs.Round) blockID, hasTwoThirds := prevotes.TwoThirdsMajority() - if hasTwoThirds && !blockID.IsZero() && (cs.ValidRound < cs.Round) { + if hasTwoThirds && !blockID.IsZero() && (cs.TwoThirdPrevoteRound < cs.Round) { if cs.ProposalBlock.HashesTo(blockID.Hash) { cs.Logger.Info("Updating valid block to new proposal block", "valid-round", cs.Round, "valid-block-hash", cs.ProposalBlock.Hash()) - cs.ValidRound = cs.Round - cs.ValidBlock = cs.ProposalBlock - cs.ValidBlockParts = cs.ProposalBlockParts + cs.TwoThirdPrevoteRound = cs.Round + cs.TwoThirdPrevoteBlock = cs.ProposalBlock + cs.TwoThirdPrevoteBlockParts = cs.ProposalBlockParts } // TODO: In case there is +2/3 majority in Prevotes set for some // block and cs.ProposalBlock contains different block, either From d89dd592f83b08f248d2f51e8e591df0187c4296 Mon Sep 17 00:00:00 2001 From: mconcat Date: Sat, 9 Oct 2021 20:14:52 +0900 Subject: [PATCH 06/19] gofmt --- abci/example/kvstore/persistent_kvstore.go | 14 ++++++-------- abci/types/messages.go | 1 + consensus/state.go | 19 +++++++++---------- consensus/types/round_state.go | 2 +- 4 files changed, 17 insertions(+), 19 deletions(-) diff --git a/abci/example/kvstore/persistent_kvstore.go b/abci/example/kvstore/persistent_kvstore.go index e056d7e640..790b7122e8 100644 --- a/abci/example/kvstore/persistent_kvstore.go +++ b/abci/example/kvstore/persistent_kvstore.go @@ -177,16 +177,14 @@ func (app *PersistentKVStoreApplication) PrepareProposal( func (app *PersistentKVStoreApplication) ProcessProposal( req types.RequestProcessProposal) types.ResponseProcessProposal { - for _, tx := range req.Txs { - if len(tx) <= 0 { - return types.ResponseProcessProposal{Result: types.ResponseProcessProposal_REJECT} - } - } - return types.ResponseProcessProposal{Result: types.ResponseProcessProposal_ACCEPT} + for _, tx := range req.Txs { + if len(tx) <= 0 { + return types.ResponseProcessProposal{Result: types.ResponseProcessProposal_REJECT} + } + } + return types.ResponseProcessProposal{Result: types.ResponseProcessProposal_ACCEPT} } - - //--------------------------------------------- // update validators diff --git a/abci/types/messages.go b/abci/types/messages.go index 13cc7dd2ef..4314b5bfc6 100644 --- a/abci/types/messages.go +++ b/abci/types/messages.go @@ -170,6 +170,7 @@ func ToRequestProcessProposal(req RequestProcessProposal) *Request { Value: &Request_ProcessProposal{&req}, } } + //---------------------------------------- func ToResponseException(errStr string) *Response { diff --git a/consensus/state.go b/consensus/state.go index 3d9f6316a2..dc3199f1d6 100644 --- a/consensus/state.go +++ b/consensus/state.go @@ -1258,18 +1258,18 @@ func (cs *State) defaultDoPrevote(height int64, round int32) { return } - stateMachineValidBlock, err := cs.blockExec.ProcessProposal(cs.ProposalBlock) - if err != nil { - cs.Logger.Error("state machine returned an error when trying to process proposal block", "err", err) - } - - // Vote nil if application invalidated the block - if !stateMachineValidBlock { - // Consensus says we must vote nil + stateMachineValidBlock, err := cs.blockExec.ProcessProposal(cs.ProposalBlock) + if err != nil { + cs.Logger.Error("state machine returned an error when trying to process proposal block", "err", err) + } + + // Vote nil if application invalidated the block + if !stateMachineValidBlock { + // Consensus says we must vote nil logger.Error("prevote step: consensus deems this block to be mustVoteNil", "err", err) cs.signAddVote(tmproto.PrevoteType, nil, types.PartSetHeader{}) return - } + } // Prevote cs.ProposalBlock // NOTE: the proposal signature is validated when it is received, @@ -1892,7 +1892,6 @@ func (cs *State) addProposalBlockPart(msg *BlockPartMessage, peerID p2p.ID) (add cs.ProposalBlock = block - // NOTE: it's possible to receive complete proposal blocks for future rounds without having the proposal cs.Logger.Info("received complete proposal block", "height", cs.ProposalBlock.Height, "hash", cs.ProposalBlock.Hash()) diff --git a/consensus/types/round_state.go b/consensus/types/round_state.go index 48e0f4ad67..3b11c2e174 100644 --- a/consensus/types/round_state.go +++ b/consensus/types/round_state.go @@ -85,7 +85,7 @@ type RoundState struct { TwoThirdPrevoteBlock *types.Block `json:"valid_block"` // Last known block of POL mentioned above. // Last known block parts of POL mentioned above. - TwoThirdPrevoteBlockParts *types.PartSet `json:"valid_block_parts"` + TwoThirdPrevoteBlockParts *types.PartSet `json:"valid_block_parts"` Votes *HeightVoteSet `json:"votes"` CommitRound int32 `json:"commit_round"` // LastCommit *types.VoteSet `json:"last_commit"` // Last precommits at Height-1 From 055d73521f1b6b7ab5b62e03f16110da82a84bb6 Mon Sep 17 00:00:00 2001 From: mconcat Date: Tue, 12 Oct 2021 02:56:42 +0900 Subject: [PATCH 07/19] fix test --- state/execution_test.go | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/state/execution_test.go b/state/execution_test.go index 8434e06946..f525c4b485 100644 --- a/state/execution_test.go +++ b/state/execution_test.go @@ -21,10 +21,12 @@ import ( "github.com/tendermint/tendermint/proxy" sm "github.com/tendermint/tendermint/state" "github.com/tendermint/tendermint/state/mocks" + "github.com/tendermint/tendermint/store" "github.com/tendermint/tendermint/test/factory" "github.com/tendermint/tendermint/types" tmtime "github.com/tendermint/tendermint/types/time" "github.com/tendermint/tendermint/version" + dbm "github.com/tendermint/tm-db" ) var ( @@ -223,6 +225,38 @@ func TestBeginBlockByzantineValidators(t *testing.T) { assert.Equal(t, abciEv, app.ByzantineValidators) } +func TestProcessProposal(t *testing.T) { + height := 1 + runTest := func(txs types.Txs, expectAccept bool) { + app := &testApp{} + cc := proxy.NewLocalClientCreator(app) + proxyApp := proxy.NewAppConns(cc) + err := proxyApp.Start() + require.Nil(t, err) + defer proxyApp.Stop() //nolint:errcheck // ignore for tests + + state, stateDB, _ := makeState(1, height) + stateStore := sm.NewStore(stateDB) + + blockStore := store.NewBlockStore(dbm.NewMemDB()) + + blockExec := sm.NewBlockExecutor(stateStore, log.TestingLogger(), proxyApp.Consensus(), + mmock.Mempool{}, sm.EmptyEvidencePool{}, blockStore) + + block := sf.MakeBlock(state, int64(height), new(types.Commit)) + block.Txs = txs + acceptBlock, err := blockExec.ProcessProposal(block) + require.Nil(t, err) + require.Equal(t, expectAccept, acceptBlock) + } + goodTxs := factory.MakeTenTxs(int64(height)) + runTest(goodTxs, true) + // testApp has process proposal fail if any tx is 0-len + badTxs := factory.MakeTenTxs(int64(height)) + badTxs[0] = types.Tx{} + runTest(badTxs, false) +} + func TestValidateValidatorUpdates(t *testing.T) { pubkey1 := ed25519.GenPrivKey().PubKey() pubkey2 := ed25519.GenPrivKey().PubKey() From 326670126e6556820712a935358632c969750838 Mon Sep 17 00:00:00 2001 From: mconcat Date: Fri, 19 Nov 2021 16:30:01 +0100 Subject: [PATCH 08/19] move UNKNOWN response behaviour to reject --- abci/example/kvstore/persistent_kvstore.go | 2 +- abci/types/result.go | 9 +++++++-- proto/tendermint/abci/types.proto | 2 +- state/helpers_test.go | 9 +++++++++ 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/abci/example/kvstore/persistent_kvstore.go b/abci/example/kvstore/persistent_kvstore.go index 790b7122e8..021af522f5 100644 --- a/abci/example/kvstore/persistent_kvstore.go +++ b/abci/example/kvstore/persistent_kvstore.go @@ -178,7 +178,7 @@ func (app *PersistentKVStoreApplication) PrepareProposal( func (app *PersistentKVStoreApplication) ProcessProposal( req types.RequestProcessProposal) types.ResponseProcessProposal { for _, tx := range req.Txs { - if len(tx) <= 0 { + if len(tx) == 0 { return types.ResponseProcessProposal{Result: types.ResponseProcessProposal_REJECT} } } diff --git a/abci/types/result.go b/abci/types/result.go index 4b7c2d24dd..c14f68c3dc 100644 --- a/abci/types/result.go +++ b/abci/types/result.go @@ -41,14 +41,19 @@ func (r ResponseQuery) IsErr() bool { return r.Code != CodeTypeOK } +// IsUnknown returns true if Code is Unknown +func (r ResponseProcessProposal) IsUnknown() bool { + return r.Result == ResponseProcessProposal_UNKNOWN +} + // IsOK returns true if Code is OK func (r ResponseProcessProposal) IsOK() bool { - return r.Result <= ResponseProcessProposal_ACCEPT + return r.Result == ResponseProcessProposal_ACCEPT } // IsErr returns true if Code is something other than OK. func (r ResponseProcessProposal) IsErr() bool { - return r.Result > ResponseProcessProposal_ACCEPT + return r.Result != ResponseProcessProposal_ACCEPT } //--------------------------------------------------------------------------- diff --git a/proto/tendermint/abci/types.proto b/proto/tendermint/abci/types.proto index fa7c727f53..718e594936 100644 --- a/proto/tendermint/abci/types.proto +++ b/proto/tendermint/abci/types.proto @@ -303,7 +303,7 @@ message ResponseProcessProposal { repeated bytes evidence = 2; enum Result { - UNKNOWN = 0; // Unknown result, treat as ACCEPT by default + UNKNOWN = 0; // Unknown result, invalidate ACCEPT = 1; // proposal verified, vote on the proposal REJECT = 2; // proposal invalidated } diff --git a/state/helpers_test.go b/state/helpers_test.go index aa8255f968..c9817d48f0 100644 --- a/state/helpers_test.go +++ b/state/helpers_test.go @@ -282,3 +282,12 @@ func (app *testApp) Commit() abci.ResponseCommit { func (app *testApp) Query(reqQuery abci.RequestQuery) (resQuery abci.ResponseQuery) { return } + +func (app *testApp) ProcessProposal(req abci.RequestProcessProposal) abci.ResponseProcessProposal { + for _, tx := range req.Txs { + if len(tx) == 0 { + return abci.ResponseProcessProposal{Result: abci.ResponseProcessProposal_REJECT} + } + } + return abci.ResponseProcessProposal{Result: abci.ResponseProcessProposal_ACCEPT} +} From a41d54bd3ee5d2de3e86044889b7c4ec8172f430 Mon Sep 17 00:00:00 2001 From: evan-forbes Date: Tue, 15 Feb 2022 22:58:41 -0600 Subject: [PATCH 09/19] fix test and add testing util code --- state/execution_test.go | 7 +-- state/test/factory/block.go | 102 ++++++++++++++++++++++++++++++++++++ 2 files changed, 104 insertions(+), 5 deletions(-) create mode 100644 state/test/factory/block.go diff --git a/state/execution_test.go b/state/execution_test.go index f525c4b485..99179be68a 100644 --- a/state/execution_test.go +++ b/state/execution_test.go @@ -21,12 +21,11 @@ import ( "github.com/tendermint/tendermint/proxy" sm "github.com/tendermint/tendermint/state" "github.com/tendermint/tendermint/state/mocks" - "github.com/tendermint/tendermint/store" + sf "github.com/tendermint/tendermint/state/test/factory" "github.com/tendermint/tendermint/test/factory" "github.com/tendermint/tendermint/types" tmtime "github.com/tendermint/tendermint/types/time" "github.com/tendermint/tendermint/version" - dbm "github.com/tendermint/tm-db" ) var ( @@ -238,10 +237,8 @@ func TestProcessProposal(t *testing.T) { state, stateDB, _ := makeState(1, height) stateStore := sm.NewStore(stateDB) - blockStore := store.NewBlockStore(dbm.NewMemDB()) - blockExec := sm.NewBlockExecutor(stateStore, log.TestingLogger(), proxyApp.Consensus(), - mmock.Mempool{}, sm.EmptyEvidencePool{}, blockStore) + mmock.Mempool{}, sm.EmptyEvidencePool{}) block := sf.MakeBlock(state, int64(height), new(types.Commit)) block.Txs = txs diff --git a/state/test/factory/block.go b/state/test/factory/block.go new file mode 100644 index 0000000000..66abd322fc --- /dev/null +++ b/state/test/factory/block.go @@ -0,0 +1,102 @@ +package factory + +import ( + "time" + + sm "github.com/tendermint/tendermint/state" + "github.com/tendermint/tendermint/test/factory" + + tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + "github.com/tendermint/tendermint/types" +) + +func MakeBlocks(n int, state *sm.State, privVal types.PrivValidator) []*types.Block { + blocks := make([]*types.Block, 0) + + var ( + prevBlock *types.Block + prevBlockMeta *types.BlockMeta + ) + + appHeight := byte(0x01) + for i := 0; i < n; i++ { + height := int64(i + 1) + + block, parts := makeBlockAndPartSet(*state, prevBlock, prevBlockMeta, privVal, height) + blocks = append(blocks, block) + + prevBlock = block + prevBlockMeta = types.NewBlockMeta(block, parts) + + // update state + state.AppHash = []byte{appHeight} + appHeight++ + state.LastBlockHeight = height + } + + return blocks +} + +func MakeBlock(state sm.State, height int64, c *types.Commit) *types.Block { + block, _ := state.MakeBlock( + height, + factory.MakeTenTxs(state.LastBlockHeight), + nil, + nil, + nil, + c, + state.Validators.GetProposer().Address, + ) + return block +} + +func makeBlockAndPartSet(state sm.State, lastBlock *types.Block, lastBlockMeta *types.BlockMeta, + privVal types.PrivValidator, height int64) (*types.Block, *types.PartSet) { + + lastCommit := types.NewCommit(height-1, 0, types.BlockID{}, nil) + if height > 1 { + vote, _ := MakeVote( + privVal, + lastBlock.Header.ChainID, + 1, lastBlock.Header.Height, 0, 2, + lastBlockMeta.BlockID, + time.Now()) + lastCommit = types.NewCommit(vote.Height, vote.Round, + lastBlockMeta.BlockID, []types.CommitSig{vote.CommitSig()}) + } + + return state.MakeBlock(height, []types.Tx{}, nil, nil, nil, lastCommit, state.Validators.GetProposer().Address) +} + +func MakeVote( + val types.PrivValidator, + chainID string, + valIndex int32, + height int64, + round int32, + step int, + blockID types.BlockID, + time time.Time, +) (*types.Vote, error) { + pubKey, err := val.GetPubKey() + if err != nil { + return nil, err + } + v := &types.Vote{ + ValidatorAddress: pubKey.Address(), + ValidatorIndex: valIndex, + Height: height, + Round: round, + Type: tmproto.SignedMsgType(step), + BlockID: blockID, + Timestamp: time, + } + + vpb := v.ToProto() + err = val.SignVote(chainID, vpb) + if err != nil { + panic(err) + } + v.Signature = vpb.Signature + return v, nil +} From 5316340127b29f9eea952de65dd4c50e6c590a3f Mon Sep 17 00:00:00 2001 From: evan-forbes Date: Tue, 15 Feb 2022 23:20:47 -0600 Subject: [PATCH 10/19] pass full block data when proposing or processing proposals --- abci/example/kvstore/persistent_kvstore.go | 2 +- abci/types/types.pb.go | 543 +++++++++++---------- proto/tendermint/abci/types.pb.go | 543 +++++++++++---------- proto/tendermint/abci/types.proto | 6 +- state/execution.go | 36 +- state/helpers_test.go | 2 +- 6 files changed, 590 insertions(+), 542 deletions(-) diff --git a/abci/example/kvstore/persistent_kvstore.go b/abci/example/kvstore/persistent_kvstore.go index 021af522f5..0456202e6c 100644 --- a/abci/example/kvstore/persistent_kvstore.go +++ b/abci/example/kvstore/persistent_kvstore.go @@ -177,7 +177,7 @@ func (app *PersistentKVStoreApplication) PrepareProposal( func (app *PersistentKVStoreApplication) ProcessProposal( req types.RequestProcessProposal) types.ResponseProcessProposal { - for _, tx := range req.Txs { + for _, tx := range req.BlockData.Txs { if len(tx) == 0 { return types.ResponseProcessProposal{Result: types.ResponseProcessProposal_REJECT} } diff --git a/abci/types/types.pb.go b/abci/types/types.pb.go index 139a7e238a..32a7cc12b7 100644 --- a/abci/types/types.pb.go +++ b/abci/types/types.pb.go @@ -1273,7 +1273,7 @@ type RequestPrepareProposal struct { // block_data is an array of transactions that will be included in a block, // sent to the app for possible modifications. // applications can not exceed the size of the data passed to it. - BlockData [][]byte `protobuf:"bytes,1,rep,name=block_data,json=blockData,proto3" json:"block_data,omitempty"` + BlockData *types1.Data `protobuf:"bytes,1,opt,name=block_data,json=blockData,proto3" json:"block_data,omitempty"` // If an application decides to populate block_data with extra information, they can not exceed this value. BlockDataSize int64 `protobuf:"varint,2,opt,name=block_data_size,json=blockDataSize,proto3" json:"block_data_size,omitempty"` } @@ -1311,7 +1311,7 @@ func (m *RequestPrepareProposal) XXX_DiscardUnknown() { var xxx_messageInfo_RequestPrepareProposal proto.InternalMessageInfo -func (m *RequestPrepareProposal) GetBlockData() [][]byte { +func (m *RequestPrepareProposal) GetBlockData() *types1.Data { if m != nil { return m.BlockData } @@ -1326,8 +1326,8 @@ func (m *RequestPrepareProposal) GetBlockDataSize() int64 { } type RequestProcessProposal struct { - Header types1.Header `protobuf:"bytes,1,opt,name=header,proto3" json:"header"` - Txs [][]byte `protobuf:"bytes,2,rep,name=txs,proto3" json:"txs,omitempty"` + Header types1.Header `protobuf:"bytes,1,opt,name=header,proto3" json:"header"` + BlockData *types1.Data `protobuf:"bytes,2,opt,name=block_data,json=blockData,proto3" json:"block_data,omitempty"` } func (m *RequestProcessProposal) Reset() { *m = RequestProcessProposal{} } @@ -1370,9 +1370,9 @@ func (m *RequestProcessProposal) GetHeader() types1.Header { return types1.Header{} } -func (m *RequestProcessProposal) GetTxs() [][]byte { +func (m *RequestProcessProposal) GetBlockData() *types1.Data { if m != nil { - return m.Txs + return m.BlockData } return nil } @@ -2652,7 +2652,7 @@ func (m *ResponseApplySnapshotChunk) GetRejectSenders() []string { } type ResponsePrepareProposal struct { - BlockData [][]byte `protobuf:"bytes,1,rep,name=block_data,json=blockData,proto3" json:"block_data,omitempty"` + BlockData *types1.Data `protobuf:"bytes,1,opt,name=block_data,json=blockData,proto3" json:"block_data,omitempty"` } func (m *ResponsePrepareProposal) Reset() { *m = ResponsePrepareProposal{} } @@ -2688,7 +2688,7 @@ func (m *ResponsePrepareProposal) XXX_DiscardUnknown() { var xxx_messageInfo_ResponsePrepareProposal proto.InternalMessageInfo -func (m *ResponsePrepareProposal) GetBlockData() [][]byte { +func (m *ResponsePrepareProposal) GetBlockData() *types1.Data { if m != nil { return m.BlockData } @@ -3496,193 +3496,193 @@ func init() { func init() { proto.RegisterFile("tendermint/abci/types.proto", fileDescriptor_252557cfdd89a31a) } var fileDescriptor_252557cfdd89a31a = []byte{ - // 2968 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x5a, 0x4b, 0x73, 0xdb, 0xd6, - 0x15, 0xe6, 0x9b, 0xc4, 0xa1, 0xf8, 0xd0, 0xb5, 0x63, 0x33, 0x88, 0x2d, 0x39, 0xf0, 0x24, 0x71, - 0x9c, 0x44, 0x6a, 0x94, 0x49, 0xea, 0x34, 0x69, 0x13, 0x91, 0xa6, 0x43, 0xc5, 0x8a, 0xa4, 0x42, - 0xb4, 0xd3, 0x57, 0x8c, 0x80, 0xc4, 0x15, 0x89, 0x98, 0x04, 0x10, 0xe0, 0x52, 0x91, 0xbc, 0xec, - 0x63, 0x93, 0x6e, 0x32, 0xd3, 0x4d, 0x37, 0xf9, 0x09, 0x9d, 0x6e, 0xbb, 0x69, 0x37, 0xdd, 0x64, - 0xa6, 0x8b, 0x66, 0xd9, 0x55, 0xda, 0x89, 0x77, 0xfd, 0x03, 0x5d, 0x75, 0xda, 0xb9, 0x0f, 0xbc, - 0x48, 0x42, 0xa4, 0x92, 0xee, 0xba, 0xc3, 0x3d, 0x38, 0xe7, 0x03, 0xee, 0xc1, 0xbd, 0xe7, 0x7c, - 0xe7, 0xe0, 0xc2, 0x53, 0x04, 0x5b, 0x06, 0x76, 0xc7, 0xa6, 0x45, 0x36, 0xf5, 0x5e, 0xdf, 0xdc, - 0x24, 0xa7, 0x0e, 0xf6, 0x36, 0x1c, 0xd7, 0x26, 0x36, 0xaa, 0x85, 0x37, 0x37, 0xe8, 0x4d, 0xf9, - 0x6a, 0x44, 0xbb, 0xef, 0x9e, 0x3a, 0xc4, 0xde, 0x74, 0x5c, 0xdb, 0x3e, 0xe2, 0xfa, 0xf2, 0x95, - 0xc8, 0x6d, 0x86, 0x13, 0x45, 0x8b, 0xdd, 0x15, 0xc6, 0x0f, 0xf1, 0xa9, 0x7f, 0xf7, 0xea, 0x8c, - 0xad, 0xa3, 0xbb, 0xfa, 0xd8, 0xbf, 0xbd, 0x3e, 0xb0, 0xed, 0xc1, 0x08, 0x6f, 0xb2, 0x51, 0x6f, - 0x72, 0xb4, 0x49, 0xcc, 0x31, 0xf6, 0x88, 0x3e, 0x76, 0x84, 0xc2, 0xc5, 0x81, 0x3d, 0xb0, 0xd9, - 0xe5, 0x26, 0xbd, 0xe2, 0x52, 0xe5, 0x8f, 0x12, 0x14, 0x55, 0xfc, 0xf1, 0x04, 0x7b, 0x04, 0x6d, - 0x41, 0x0e, 0xf7, 0x87, 0x76, 0x23, 0x7d, 0x2d, 0x7d, 0xa3, 0xbc, 0x75, 0x65, 0x63, 0x6a, 0x72, - 0x1b, 0x42, 0xaf, 0xdd, 0x1f, 0xda, 0x9d, 0x94, 0xca, 0x74, 0xd1, 0xab, 0x90, 0x3f, 0x1a, 0x4d, - 0xbc, 0x61, 0x23, 0xc3, 0x8c, 0xae, 0x26, 0x19, 0xdd, 0xa1, 0x4a, 0x9d, 0x94, 0xca, 0xb5, 0xe9, - 0xa3, 0x4c, 0xeb, 0xc8, 0x6e, 0x64, 0xcf, 0x7e, 0xd4, 0x8e, 0x75, 0xc4, 0x1e, 0x45, 0x75, 0x51, - 0x13, 0xc0, 0xc3, 0x44, 0xb3, 0x1d, 0x62, 0xda, 0x56, 0x23, 0xc7, 0x2c, 0x9f, 0x4e, 0xb2, 0x3c, - 0xc4, 0x64, 0x9f, 0x29, 0x76, 0x52, 0xaa, 0xe4, 0xf9, 0x03, 0x8a, 0x61, 0x5a, 0x26, 0xd1, 0xfa, - 0x43, 0xdd, 0xb4, 0x1a, 0xf9, 0xb3, 0x31, 0x76, 0x2c, 0x93, 0xb4, 0xa8, 0x22, 0xc5, 0x30, 0xfd, - 0x01, 0x9d, 0xf2, 0xc7, 0x13, 0xec, 0x9e, 0x36, 0x0a, 0x67, 0x4f, 0xf9, 0x87, 0x54, 0x89, 0x4e, - 0x99, 0x69, 0xa3, 0x36, 0x94, 0x7b, 0x78, 0x60, 0x5a, 0x5a, 0x6f, 0x64, 0xf7, 0x1f, 0x36, 0x8a, - 0xcc, 0x58, 0x49, 0x32, 0x6e, 0x52, 0xd5, 0x26, 0xd5, 0xec, 0xa4, 0x54, 0xe8, 0x05, 0x23, 0xf4, - 0x26, 0x94, 0xfa, 0x43, 0xdc, 0x7f, 0xa8, 0x91, 0x93, 0x46, 0x89, 0x61, 0xac, 0x27, 0x61, 0xb4, - 0xa8, 0x5e, 0xf7, 0xa4, 0x93, 0x52, 0x8b, 0x7d, 0x7e, 0x49, 0xe7, 0x6f, 0xe0, 0x91, 0x79, 0x8c, - 0x5d, 0x6a, 0x2f, 0x9d, 0x3d, 0xff, 0xdb, 0x5c, 0x93, 0x21, 0x48, 0x86, 0x3f, 0x40, 0x6f, 0x81, - 0x84, 0x2d, 0x43, 0x4c, 0x03, 0x18, 0xc4, 0xb5, 0xc4, 0xb5, 0x62, 0x19, 0xfe, 0x24, 0x4a, 0x58, - 0x5c, 0xa3, 0x5b, 0x50, 0xe8, 0xdb, 0xe3, 0xb1, 0x49, 0x1a, 0x65, 0x66, 0xbd, 0x96, 0x38, 0x01, - 0xa6, 0xd5, 0x49, 0xa9, 0x42, 0x1f, 0xed, 0x41, 0x75, 0x64, 0x7a, 0x44, 0xf3, 0x2c, 0xdd, 0xf1, - 0x86, 0x36, 0xf1, 0x1a, 0x2b, 0x0c, 0xe1, 0x99, 0x24, 0x84, 0x5d, 0xd3, 0x23, 0x87, 0xbe, 0x72, - 0x27, 0xa5, 0x56, 0x46, 0x51, 0x01, 0xc5, 0xb3, 0x8f, 0x8e, 0xb0, 0x1b, 0x00, 0x36, 0x2a, 0x67, - 0xe3, 0xed, 0x53, 0x6d, 0xdf, 0x9e, 0xe2, 0xd9, 0x51, 0x01, 0xfa, 0x29, 0x5c, 0x18, 0xd9, 0xba, - 0x11, 0xc0, 0x69, 0xfd, 0xe1, 0xc4, 0x7a, 0xd8, 0xa8, 0x32, 0xd0, 0xe7, 0x13, 0x5f, 0xd2, 0xd6, - 0x0d, 0x1f, 0xa2, 0x45, 0x0d, 0x3a, 0x29, 0x75, 0x75, 0x34, 0x2d, 0x44, 0x0f, 0xe0, 0xa2, 0xee, - 0x38, 0xa3, 0xd3, 0x69, 0xf4, 0x1a, 0x43, 0xbf, 0x99, 0x84, 0xbe, 0x4d, 0x6d, 0xa6, 0xe1, 0x91, - 0x3e, 0x23, 0x45, 0x5d, 0xa8, 0x3b, 0x2e, 0x76, 0x74, 0x17, 0x6b, 0x8e, 0x6b, 0x3b, 0xb6, 0xa7, - 0x8f, 0x1a, 0x75, 0x86, 0xfd, 0x5c, 0x12, 0xf6, 0x01, 0xd7, 0x3f, 0x10, 0xea, 0x9d, 0x94, 0x5a, - 0x73, 0xe2, 0x22, 0x8e, 0x6a, 0xf7, 0xb1, 0xe7, 0x85, 0xa8, 0xab, 0x8b, 0x50, 0x99, 0x7e, 0x1c, - 0x35, 0x26, 0x6a, 0x16, 0x21, 0x7f, 0xac, 0x8f, 0x26, 0x58, 0x79, 0x0e, 0xca, 0x91, 0xb0, 0x84, - 0x1a, 0x50, 0x1c, 0x63, 0xcf, 0xd3, 0x07, 0x98, 0x45, 0x31, 0x49, 0xf5, 0x87, 0x4a, 0x15, 0x56, - 0xa2, 0xa1, 0x48, 0x19, 0x07, 0x86, 0x34, 0xc8, 0x50, 0xc3, 0x63, 0xec, 0x7a, 0x34, 0xb2, 0x08, - 0x43, 0x31, 0x44, 0xd7, 0xa1, 0xc2, 0x96, 0xba, 0xe6, 0xdf, 0xa7, 0x91, 0x2e, 0xa7, 0xae, 0x30, - 0xe1, 0x7d, 0xa1, 0xb4, 0x0e, 0x65, 0x67, 0xcb, 0x09, 0x54, 0xb2, 0x4c, 0x05, 0x9c, 0x2d, 0x47, - 0x28, 0x28, 0xdf, 0x83, 0xfa, 0x74, 0x64, 0x42, 0x75, 0xc8, 0x3e, 0xc4, 0xa7, 0xe2, 0x79, 0xf4, - 0x12, 0x5d, 0x14, 0xd3, 0x62, 0xcf, 0x90, 0x54, 0x31, 0xc7, 0xbf, 0x64, 0x02, 0xe3, 0x20, 0x24, - 0xa1, 0x5b, 0x90, 0xa3, 0x11, 0x5e, 0x04, 0x6b, 0x79, 0x83, 0x87, 0xff, 0x0d, 0x3f, 0xfc, 0x6f, - 0x74, 0xfd, 0xf0, 0xdf, 0x2c, 0x7d, 0xf1, 0xd5, 0x7a, 0xea, 0xb3, 0xbf, 0xaf, 0xa7, 0x55, 0x66, - 0x81, 0x9e, 0xa4, 0x11, 0x44, 0x37, 0x2d, 0xcd, 0x34, 0xc4, 0x73, 0x8a, 0x6c, 0xbc, 0x63, 0xa0, - 0xbb, 0x50, 0xef, 0xdb, 0x96, 0x87, 0x2d, 0x6f, 0xe2, 0x69, 0x3c, 0xbd, 0x88, 0x10, 0x3d, 0xbb, - 0xc3, 0x5b, 0xbe, 0xe2, 0x01, 0xd3, 0x53, 0x6b, 0xfd, 0xb8, 0x00, 0xdd, 0x01, 0x38, 0xd6, 0x47, - 0xa6, 0xa1, 0x13, 0xdb, 0xf5, 0x1a, 0xb9, 0x6b, 0xd9, 0xb9, 0x30, 0xf7, 0x7d, 0x95, 0x7b, 0x8e, - 0xa1, 0x13, 0xdc, 0xcc, 0xd1, 0xb7, 0x55, 0x23, 0x96, 0xe8, 0x59, 0xa8, 0xe9, 0x8e, 0xa3, 0x79, - 0x44, 0x27, 0x58, 0xeb, 0x9d, 0x12, 0xec, 0xb1, 0xc0, 0xbd, 0xa2, 0x56, 0x74, 0xc7, 0x39, 0xa4, - 0xd2, 0x26, 0x15, 0xa2, 0x67, 0xa0, 0x4a, 0x83, 0xb4, 0xa9, 0x8f, 0xb4, 0x21, 0x36, 0x07, 0x43, - 0xc2, 0x02, 0x74, 0x56, 0xad, 0x08, 0x69, 0x87, 0x09, 0x15, 0x23, 0x58, 0x08, 0x2c, 0x40, 0x23, - 0x04, 0x39, 0x43, 0x27, 0x3a, 0x73, 0xe4, 0x8a, 0xca, 0xae, 0xa9, 0xcc, 0xd1, 0xc9, 0x50, 0xb8, - 0x87, 0x5d, 0xa3, 0x4b, 0x50, 0x10, 0xb0, 0x59, 0x06, 0x2b, 0x46, 0xf4, 0x9b, 0x39, 0xae, 0x7d, - 0x8c, 0x59, 0x46, 0x2a, 0xa9, 0x7c, 0xa0, 0xfc, 0x32, 0x03, 0xab, 0x33, 0xa1, 0x9c, 0xe2, 0x0e, - 0x75, 0x6f, 0xe8, 0x3f, 0x8b, 0x5e, 0xa3, 0xd7, 0x28, 0xae, 0x6e, 0x60, 0x57, 0xa4, 0xd0, 0x46, - 0xd4, 0x45, 0x9c, 0x1e, 0x74, 0xd8, 0x7d, 0xe1, 0x1a, 0xa1, 0x8d, 0xf6, 0xa1, 0x3e, 0xd2, 0x3d, - 0xa2, 0xf1, 0xd0, 0xa8, 0x45, 0xd2, 0xe9, 0x6c, 0x42, 0xd8, 0xd5, 0xfd, 0x60, 0x4a, 0x17, 0xbb, - 0x00, 0xaa, 0x8e, 0x62, 0x52, 0xa4, 0xc2, 0xc5, 0xde, 0xe9, 0x23, 0xdd, 0x22, 0xa6, 0x85, 0xb5, - 0x99, 0x2f, 0xf7, 0xe4, 0x0c, 0x68, 0xfb, 0xd8, 0x34, 0xb0, 0xd5, 0xf7, 0x3f, 0xd9, 0x85, 0xc0, - 0x38, 0xf8, 0xa4, 0x9e, 0xa2, 0x42, 0x35, 0x9e, 0x8c, 0x50, 0x15, 0x32, 0xe4, 0x44, 0x38, 0x20, - 0x43, 0x4e, 0xd0, 0x77, 0x20, 0x47, 0x27, 0xc9, 0x26, 0x5f, 0x9d, 0xc3, 0x04, 0x84, 0x5d, 0xf7, - 0xd4, 0xc1, 0x2a, 0xd3, 0x54, 0x94, 0x60, 0x37, 0x04, 0x09, 0x6a, 0x1a, 0x55, 0x79, 0x1e, 0x6a, - 0x53, 0x19, 0x28, 0xf2, 0xfd, 0xd2, 0xd1, 0xef, 0xa7, 0xd4, 0xa0, 0x12, 0x4b, 0x37, 0xca, 0x25, - 0xb8, 0x38, 0x2f, 0x7b, 0x28, 0xc3, 0x40, 0x1e, 0xcb, 0x02, 0xe8, 0x55, 0x28, 0x05, 0xe9, 0x83, - 0xef, 0xc6, 0x59, 0x5f, 0xf9, 0xca, 0x6a, 0xa0, 0x4a, 0xb7, 0x21, 0x5d, 0xd6, 0x6c, 0x3d, 0x64, - 0xd8, 0x8b, 0x17, 0x75, 0xc7, 0xe9, 0xe8, 0xde, 0x50, 0xf9, 0x10, 0x1a, 0x49, 0xa9, 0x61, 0x6a, - 0x1a, 0xb9, 0x60, 0x19, 0x5e, 0x82, 0xc2, 0x91, 0xed, 0x8e, 0x75, 0xc2, 0xc0, 0x2a, 0xaa, 0x18, - 0xd1, 0xe5, 0xc9, 0xd3, 0x44, 0x96, 0x89, 0xf9, 0x40, 0xd1, 0xe0, 0xc9, 0xc4, 0xf4, 0x40, 0x4d, - 0x4c, 0xcb, 0xc0, 0xdc, 0x9f, 0x15, 0x95, 0x0f, 0x42, 0x20, 0xfe, 0xb2, 0x7c, 0x40, 0x1f, 0xeb, - 0xb1, 0xb9, 0x32, 0x7c, 0x49, 0x15, 0x23, 0x45, 0x83, 0x4b, 0xf3, 0x73, 0x04, 0xba, 0x0a, 0xc0, - 0xe3, 0xa9, 0xd8, 0x75, 0xd9, 0x1b, 0x2b, 0xaa, 0xc4, 0x24, 0xb7, 0xe9, 0xd6, 0x7b, 0x16, 0x6a, - 0xe1, 0x6d, 0xcd, 0x33, 0x1f, 0xf1, 0xa5, 0x91, 0x55, 0x2b, 0x81, 0xce, 0xa1, 0xf9, 0x08, 0x2b, - 0xbd, 0xc8, 0x03, 0x62, 0xb9, 0x21, 0xb2, 0xa1, 0xd2, 0xe7, 0xda, 0x50, 0x75, 0xc8, 0x92, 0x13, - 0xaf, 0x91, 0x61, 0x6f, 0x44, 0x2f, 0x95, 0xdf, 0x00, 0x94, 0x54, 0xec, 0x39, 0x34, 0xb0, 0xa1, - 0x26, 0x48, 0xf8, 0xa4, 0x8f, 0x39, 0xfb, 0x4c, 0x27, 0xb2, 0x37, 0xae, 0xdd, 0xf6, 0x35, 0x29, - 0x75, 0x0a, 0xcc, 0xd0, 0x2b, 0x82, 0x61, 0x27, 0x93, 0x65, 0x61, 0x1e, 0xa5, 0xd8, 0xaf, 0xf9, - 0x14, 0x3b, 0x9b, 0xc8, 0x96, 0xb8, 0xd5, 0x14, 0xc7, 0x7e, 0x45, 0x70, 0xec, 0xdc, 0x82, 0x87, - 0xc5, 0x48, 0x76, 0x2b, 0x46, 0xb2, 0xf3, 0x0b, 0xa6, 0x99, 0xc0, 0xb2, 0x5b, 0x31, 0x96, 0x5d, - 0x58, 0x00, 0x92, 0x40, 0xb3, 0x5f, 0xf3, 0x69, 0x76, 0x71, 0xc1, 0xb4, 0xa7, 0x78, 0xf6, 0x9d, - 0x38, 0xcf, 0xe6, 0x1c, 0xf9, 0x7a, 0xa2, 0x75, 0x22, 0xd1, 0xfe, 0x7e, 0x84, 0x68, 0x4b, 0x89, - 0x2c, 0x97, 0x83, 0xcc, 0x61, 0xda, 0xad, 0x18, 0xd3, 0x86, 0x05, 0x3e, 0x48, 0xa0, 0xda, 0x6f, - 0x47, 0xa9, 0x76, 0x39, 0x91, 0xad, 0x8b, 0x45, 0x33, 0x8f, 0x6b, 0xbf, 0x1e, 0x70, 0xed, 0x95, - 0xc4, 0x62, 0x41, 0xcc, 0x61, 0x9a, 0x6c, 0xef, 0xcf, 0x90, 0x6d, 0x4e, 0x8e, 0x9f, 0x4d, 0x84, - 0x58, 0xc0, 0xb6, 0xf7, 0x67, 0xd8, 0x76, 0x75, 0x01, 0xe0, 0x02, 0xba, 0xfd, 0xb3, 0xf9, 0x74, - 0x3b, 0x99, 0x10, 0x8b, 0xd7, 0x5c, 0x8e, 0x6f, 0x6b, 0x09, 0x7c, 0x9b, 0x73, 0xe2, 0x17, 0x12, - 0xe1, 0x97, 0x26, 0xdc, 0xf7, 0xe6, 0x10, 0x6e, 0x4e, 0x8d, 0x6f, 0x24, 0x82, 0x2f, 0xc1, 0xb8, - 0xef, 0xcd, 0x61, 0xdc, 0x68, 0x21, 0xec, 0xf2, 0x94, 0xfb, 0x79, 0xca, 0x6c, 0xa6, 0xc2, 0x1c, - 0xcd, 0x0e, 0xd8, 0x75, 0x6d, 0x57, 0xb0, 0x59, 0x3e, 0x50, 0x6e, 0x50, 0xae, 0x15, 0x86, 0xb4, - 0x33, 0xe8, 0x39, 0xcb, 0xc2, 0x91, 0x30, 0xa6, 0xfc, 0x21, 0x1d, 0xda, 0x32, 0x7a, 0x12, 0xe5, - 0x69, 0x92, 0xe0, 0x69, 0x11, 0xd6, 0x9e, 0x89, 0xb3, 0xf6, 0x75, 0x28, 0xd3, 0xec, 0x3a, 0x45, - 0xc8, 0x75, 0xc7, 0x27, 0xe4, 0xe8, 0x26, 0xac, 0x32, 0xfa, 0xc4, 0x93, 0x8d, 0x48, 0xa9, 0x39, - 0x96, 0x69, 0x6a, 0xf4, 0x06, 0xdf, 0x4a, 0x3c, 0xb7, 0xbe, 0x04, 0x17, 0x22, 0xba, 0x41, 0xd6, - 0xe6, 0x2c, 0xb4, 0x1e, 0x68, 0x6f, 0x8b, 0xf4, 0xfd, 0x5e, 0xe8, 0xa0, 0x90, 0xec, 0x23, 0xc8, - 0xf5, 0x6d, 0x03, 0x8b, 0x9c, 0xca, 0xae, 0x69, 0xc6, 0x19, 0xd9, 0x03, 0x91, 0x39, 0xe9, 0x25, - 0xd5, 0x0a, 0x62, 0xb6, 0xc4, 0x43, 0xb2, 0xf2, 0xe7, 0x74, 0x88, 0x17, 0xf2, 0xff, 0x79, 0x54, - 0x3d, 0xfd, 0xbf, 0xa1, 0xea, 0x99, 0x6f, 0x4c, 0xd5, 0xa3, 0x9c, 0x26, 0x1b, 0xe7, 0x34, 0xff, - 0x4a, 0x87, 0x5f, 0x38, 0x20, 0xde, 0xdf, 0xcc, 0x23, 0x21, 0x41, 0xc9, 0xb3, 0xef, 0x25, 0x08, - 0x8a, 0x28, 0xa7, 0x0a, 0xec, 0xb9, 0xf1, 0x72, 0xaa, 0xc8, 0x29, 0x0b, 0x1b, 0xa0, 0x5b, 0x20, - 0xb1, 0x9e, 0x9c, 0x66, 0x3b, 0x9e, 0x48, 0x0f, 0x4f, 0x45, 0xe7, 0xca, 0x5b, 0x6f, 0x1b, 0x07, - 0x54, 0x67, 0xdf, 0xf1, 0xd4, 0x92, 0x23, 0xae, 0x22, 0xdc, 0x4b, 0x8a, 0x95, 0x00, 0x57, 0x40, - 0xa2, 0x6f, 0xef, 0x39, 0x7a, 0x1f, 0xb3, 0x50, 0x2f, 0xa9, 0xa1, 0x40, 0x79, 0x00, 0x68, 0x36, - 0xd9, 0xa0, 0x0e, 0x14, 0xf0, 0x31, 0xb6, 0x88, 0xc7, 0x28, 0x50, 0x79, 0xeb, 0xd2, 0x1c, 0x7e, - 0x8d, 0x2d, 0xd2, 0x6c, 0x50, 0x27, 0xff, 0xf3, 0xab, 0xf5, 0x3a, 0xd7, 0x7e, 0xd1, 0x1e, 0x9b, - 0x04, 0x8f, 0x1d, 0x72, 0xaa, 0x0a, 0x7b, 0xe5, 0x17, 0x19, 0x4a, 0x76, 0x63, 0x89, 0x68, 0xae, - 0x6f, 0xfd, 0x0d, 0x94, 0x89, 0x14, 0x3a, 0xcb, 0xf9, 0x7b, 0x0d, 0x60, 0xa0, 0x7b, 0xda, 0x27, - 0xba, 0x45, 0xb0, 0x21, 0x9c, 0x1e, 0x91, 0x20, 0x19, 0x4a, 0x74, 0x34, 0xf1, 0xb0, 0x21, 0x6a, - 0xae, 0x60, 0x1c, 0x99, 0x67, 0xf1, 0xdb, 0xcd, 0x33, 0xee, 0xe5, 0xd2, 0xb4, 0x97, 0x7f, 0x95, - 0x09, 0x77, 0x49, 0x58, 0x17, 0xfc, 0xff, 0xf9, 0xe1, 0xd7, 0xac, 0x59, 0x10, 0x67, 0x04, 0xe8, - 0x10, 0x56, 0x83, 0x5d, 0xaa, 0x4d, 0xd8, 0xee, 0xf5, 0xd7, 0xdd, 0xb2, 0xdb, 0xbc, 0x7e, 0x1c, - 0x17, 0x7b, 0xe8, 0x47, 0x70, 0x79, 0x2a, 0x02, 0x05, 0xd0, 0x99, 0x25, 0x03, 0xd1, 0x13, 0xf1, - 0x40, 0xe4, 0x23, 0x87, 0xbe, 0xca, 0x7e, 0xcb, 0xbd, 0xb1, 0x43, 0xeb, 0xcf, 0x28, 0xbf, 0x99, - 0xfb, 0xf5, 0xaf, 0x43, 0xc5, 0xc5, 0x44, 0x37, 0x2d, 0x2d, 0x56, 0xe1, 0xaf, 0x70, 0xa1, 0xe8, - 0x1b, 0x1c, 0xc0, 0x13, 0x73, 0x79, 0x0e, 0xfa, 0x2e, 0x48, 0x21, 0x45, 0x4a, 0x27, 0x14, 0xcb, - 0x41, 0x01, 0x18, 0xea, 0x2a, 0x7f, 0x4a, 0x87, 0x90, 0xf1, 0x92, 0xb2, 0x0d, 0x05, 0x17, 0x7b, - 0x93, 0x11, 0x2f, 0xf2, 0xaa, 0x5b, 0x2f, 0x2d, 0xc7, 0x90, 0xa8, 0x74, 0x32, 0x22, 0xaa, 0x30, - 0x56, 0x1e, 0x40, 0x81, 0x4b, 0x50, 0x19, 0x8a, 0xf7, 0xf6, 0xee, 0xee, 0xed, 0xbf, 0xbf, 0x57, - 0x4f, 0x21, 0x80, 0xc2, 0x76, 0xab, 0xd5, 0x3e, 0xe8, 0xd6, 0xd3, 0x48, 0x82, 0xfc, 0x76, 0x73, - 0x5f, 0xed, 0xd6, 0x33, 0x54, 0xac, 0xb6, 0xdf, 0x6d, 0xb7, 0xba, 0xf5, 0x2c, 0x5a, 0x85, 0x0a, - 0xbf, 0xd6, 0xee, 0xec, 0xab, 0xef, 0x6d, 0x77, 0xeb, 0xb9, 0x88, 0xe8, 0xb0, 0xbd, 0x77, 0xbb, - 0xad, 0xd6, 0xf3, 0xca, 0xcb, 0xb4, 0x8a, 0x4c, 0xe0, 0x54, 0x61, 0xbd, 0x98, 0x8e, 0xd4, 0x8b, - 0xca, 0x6f, 0x33, 0x20, 0x27, 0x13, 0x25, 0xf4, 0xee, 0xd4, 0xc4, 0xb7, 0xce, 0xc1, 0xb2, 0xa6, - 0x66, 0x8f, 0x9e, 0x81, 0xaa, 0x8b, 0x8f, 0x30, 0xe9, 0x0f, 0x39, 0x71, 0xe3, 0x89, 0xad, 0xa2, - 0x56, 0x84, 0x94, 0x19, 0x79, 0x5c, 0xed, 0x23, 0xdc, 0x27, 0x1a, 0x2f, 0x5d, 0xf9, 0xa2, 0x93, - 0xa8, 0x1a, 0x95, 0x1e, 0x72, 0xa1, 0xf2, 0xe1, 0xb9, 0x7c, 0x29, 0x41, 0x5e, 0x6d, 0x77, 0xd5, - 0x1f, 0xd7, 0xb3, 0x08, 0x41, 0x95, 0x5d, 0x6a, 0x87, 0x7b, 0xdb, 0x07, 0x87, 0x9d, 0x7d, 0xea, - 0xcb, 0x0b, 0x50, 0xf3, 0x7d, 0xe9, 0x0b, 0xf3, 0xca, 0x2d, 0xb8, 0x9c, 0xc0, 0xf2, 0x16, 0xd4, - 0xcc, 0xca, 0xef, 0xd2, 0x51, 0xd3, 0x78, 0x35, 0xfc, 0xce, 0x94, 0x47, 0x37, 0x97, 0xe5, 0x80, - 0xd3, 0xee, 0x94, 0xa1, 0x84, 0x45, 0xc7, 0x47, 0xd4, 0xc8, 0xc1, 0x58, 0x79, 0x69, 0xb1, 0x73, - 0xc2, 0xd5, 0x95, 0x51, 0xfe, 0x93, 0x86, 0xda, 0x54, 0x28, 0x40, 0x5b, 0x90, 0xe7, 0x65, 0x4e, - 0xd2, 0xdf, 0x27, 0x16, 0xc9, 0x44, 0xdc, 0xe0, 0xaa, 0xe8, 0xcd, 0xd8, 0x2b, 0xcd, 0x84, 0x1c, - 0x5e, 0xeb, 0xfb, 0x6d, 0x2a, 0x61, 0x1a, 0x58, 0xa0, 0xb7, 0x40, 0x0a, 0x62, 0x9a, 0xa8, 0xad, - 0x9f, 0x9e, 0x35, 0x0f, 0xa2, 0xa1, 0xb0, 0x0f, 0x6d, 0xd0, 0xeb, 0x21, 0xfb, 0xcc, 0xcd, 0x16, - 0x57, 0xc2, 0x9c, 0x2b, 0x08, 0x63, 0x5f, 0x5f, 0x69, 0x41, 0x39, 0x32, 0x1f, 0xf4, 0x14, 0x48, - 0x63, 0xfd, 0x44, 0x34, 0x37, 0x79, 0x7b, 0xaa, 0x34, 0xd6, 0x4f, 0x78, 0x5f, 0xf3, 0x32, 0x14, - 0xe9, 0xcd, 0x81, 0xee, 0x89, 0x4e, 0x48, 0x61, 0xac, 0x9f, 0xbc, 0xa3, 0x7b, 0xca, 0x07, 0x50, - 0x8d, 0x37, 0xf6, 0xe8, 0x9e, 0x73, 0xed, 0x89, 0x65, 0x30, 0x8c, 0xbc, 0xca, 0x07, 0xe8, 0x55, - 0xc8, 0x1f, 0xdb, 0x3c, 0x2c, 0xcf, 0x0f, 0x4e, 0xf7, 0x6d, 0x82, 0x23, 0x8d, 0x41, 0xae, 0xad, - 0x3c, 0x82, 0x3c, 0x0b, 0xb3, 0x34, 0x64, 0xb2, 0x16, 0x9d, 0x60, 0xde, 0xf4, 0x1a, 0x7d, 0x00, - 0xa0, 0x13, 0xe2, 0x9a, 0xbd, 0x49, 0x08, 0xbc, 0x3e, 0x3f, 0x4c, 0x6f, 0xfb, 0x7a, 0xcd, 0x2b, - 0x22, 0x5e, 0x5f, 0x0c, 0x4d, 0x23, 0x31, 0x3b, 0x02, 0xa8, 0xec, 0x41, 0x35, 0x6e, 0x1b, 0x6d, - 0x96, 0xaf, 0xcc, 0x69, 0x96, 0x07, 0xec, 0x2e, 0xe0, 0x86, 0x59, 0xde, 0x8e, 0x65, 0x03, 0xe5, - 0xf7, 0x69, 0x28, 0x75, 0x4f, 0xc4, 0x1a, 0x4d, 0xe8, 0x04, 0x86, 0xa6, 0x99, 0x68, 0xdf, 0x8b, - 0xb7, 0x16, 0xb3, 0x41, 0xc3, 0xf2, 0xed, 0x60, 0x43, 0xe5, 0x96, 0x2d, 0xea, 0xfd, 0x46, 0x93, - 0xd8, 0x49, 0xd7, 0xa1, 0x62, 0xbb, 0xe6, 0xc0, 0xb4, 0xf4, 0x51, 0xb4, 0x90, 0x58, 0xf1, 0x85, - 0x8c, 0x2f, 0xbf, 0x01, 0x52, 0xb0, 0xf4, 0x68, 0x9d, 0xa3, 0x1b, 0x86, 0x8b, 0x3d, 0x4f, 0x38, - 0xc0, 0x1f, 0xb2, 0xee, 0xb3, 0xfd, 0x89, 0x68, 0xbf, 0x65, 0x55, 0x3e, 0x50, 0x0c, 0xa8, 0x4d, - 0x65, 0x71, 0xf4, 0x06, 0x14, 0x9d, 0x49, 0x4f, 0xf3, 0x7d, 0x38, 0xb5, 0xc3, 0x7c, 0xce, 0x3b, - 0xe9, 0x8d, 0xcc, 0xfe, 0x5d, 0x7c, 0xea, 0xbf, 0xb1, 0x33, 0xe9, 0xdd, 0xe5, 0xae, 0xe6, 0x4f, - 0xc9, 0x44, 0x9f, 0x72, 0x0c, 0x25, 0x7f, 0xe5, 0xa0, 0x1f, 0x44, 0x37, 0x93, 0xff, 0x4f, 0x22, - 0x91, 0x59, 0x08, 0xf8, 0xc8, 0x5e, 0xba, 0x09, 0xab, 0x9e, 0x39, 0xb0, 0xb0, 0xa1, 0x85, 0x95, - 0x16, 0x7b, 0x5a, 0x49, 0xad, 0xf1, 0x1b, 0xbb, 0x7e, 0x99, 0xa5, 0xfc, 0x3b, 0x0d, 0x25, 0x7f, - 0x57, 0xa3, 0x97, 0x23, 0x8b, 0xb3, 0x3a, 0xa7, 0xcb, 0xe5, 0x2b, 0x86, 0x0d, 0xe4, 0xf8, 0xbb, - 0x66, 0xce, 0xff, 0xae, 0x49, 0x7f, 0x02, 0xfc, 0x5f, 0x32, 0xb9, 0x73, 0xff, 0x92, 0x79, 0x11, - 0x10, 0xb1, 0x89, 0x3e, 0xd2, 0x8e, 0x6d, 0x62, 0x5a, 0x03, 0x8d, 0x3b, 0x9b, 0x13, 0xcc, 0x3a, - 0xbb, 0x73, 0x9f, 0xdd, 0x38, 0x60, 0x7e, 0xff, 0x79, 0x1a, 0x4a, 0x01, 0x55, 0x38, 0x6f, 0x3f, - 0xf8, 0x12, 0x14, 0x44, 0x36, 0xe4, 0x0d, 0x61, 0x31, 0x0a, 0x7e, 0x4d, 0xe4, 0x22, 0xbf, 0x26, - 0x64, 0x28, 0x8d, 0x31, 0xd1, 0x59, 0xd2, 0xe1, 0x6b, 0x34, 0x18, 0xdf, 0x7c, 0x1d, 0xca, 0x91, - 0xd6, 0x3c, 0xdd, 0x9e, 0x7b, 0xed, 0xf7, 0xeb, 0x29, 0xb9, 0xf8, 0xe9, 0xe7, 0xd7, 0xb2, 0x7b, - 0xf8, 0x13, 0xba, 0x66, 0xd5, 0x76, 0xab, 0xd3, 0x6e, 0xdd, 0xad, 0xa7, 0xe5, 0xf2, 0xa7, 0x9f, - 0x5f, 0x2b, 0xaa, 0x98, 0x35, 0xc7, 0x6e, 0x76, 0x60, 0x25, 0xfa, 0x55, 0xe2, 0x39, 0x03, 0x41, - 0xf5, 0xf6, 0xbd, 0x83, 0xdd, 0x9d, 0xd6, 0x76, 0xb7, 0xad, 0xdd, 0xdf, 0xef, 0xb6, 0xeb, 0x69, - 0x74, 0x19, 0x2e, 0xec, 0xee, 0xbc, 0xd3, 0xe9, 0x6a, 0xad, 0xdd, 0x9d, 0xf6, 0x5e, 0x57, 0xdb, - 0xee, 0x76, 0xb7, 0x5b, 0x77, 0xeb, 0x99, 0xad, 0xbf, 0x96, 0xa1, 0xb6, 0xdd, 0x6c, 0xed, 0x50, - 0x32, 0x60, 0xf6, 0x75, 0xd1, 0x7c, 0xcc, 0xb1, 0x5e, 0xc3, 0x99, 0xe7, 0x17, 0xe4, 0xb3, 0x7b, - 0xaf, 0xe8, 0x0e, 0xe4, 0x59, 0x1b, 0x02, 0x9d, 0x7d, 0xa0, 0x41, 0x5e, 0xd0, 0x8c, 0xa5, 0x2f, - 0xc3, 0xb6, 0xc7, 0x99, 0x27, 0x1c, 0xe4, 0xb3, 0x7b, 0xb3, 0x48, 0x05, 0x29, 0xec, 0x23, 0x2c, - 0x3e, 0xf1, 0x20, 0x2f, 0xd1, 0xaf, 0xa5, 0x98, 0x61, 0x95, 0xb4, 0xf8, 0x04, 0x80, 0xbc, 0x44, - 0x94, 0x43, 0xbb, 0x50, 0xf4, 0xeb, 0xcf, 0x45, 0x67, 0x12, 0xe4, 0x85, 0xbd, 0x54, 0xfa, 0x09, - 0x78, 0x9f, 0xe0, 0xec, 0x03, 0x16, 0xf2, 0x82, 0xc6, 0x30, 0xda, 0x81, 0x82, 0xa0, 0xfe, 0x0b, - 0xce, 0x19, 0xc8, 0x8b, 0x7a, 0xa3, 0xd4, 0x69, 0x61, 0x03, 0x66, 0xf1, 0xb1, 0x11, 0x79, 0x89, - 0x9e, 0x37, 0xba, 0x07, 0x10, 0xe9, 0x0a, 0x2c, 0x71, 0x1e, 0x44, 0x5e, 0xa6, 0x97, 0x8d, 0xf6, - 0xa1, 0x14, 0x54, 0x7f, 0x0b, 0x4f, 0x67, 0xc8, 0x8b, 0x9b, 0xca, 0xe8, 0x01, 0x54, 0xe2, 0x65, - 0xcf, 0x72, 0x67, 0x2e, 0xe4, 0x25, 0xbb, 0xc5, 0x14, 0x3f, 0x5e, 0x03, 0x2d, 0x77, 0x06, 0x43, - 0x5e, 0xb2, 0x79, 0x8c, 0x3e, 0x82, 0xd5, 0xd9, 0x1a, 0x65, 0xf9, 0x23, 0x19, 0xf2, 0x39, 0xda, - 0xc9, 0x68, 0x0c, 0x68, 0x4e, 0x6d, 0x73, 0x8e, 0x13, 0x1a, 0xf2, 0x79, 0xba, 0xcb, 0xc8, 0x80, - 0xda, 0x74, 0xc1, 0xb0, 0xec, 0x89, 0x0d, 0x79, 0xe9, 0x4e, 0x33, 0x7f, 0x4a, 0xbc, 0xb6, 0x58, - 0xf6, 0x04, 0x87, 0xbc, 0x74, 0xe3, 0xb9, 0xd9, 0xfe, 0xe2, 0xeb, 0xb5, 0xf4, 0x97, 0x5f, 0xaf, - 0xa5, 0xff, 0xf1, 0xf5, 0x5a, 0xfa, 0xb3, 0xc7, 0x6b, 0xa9, 0x2f, 0x1f, 0xaf, 0xa5, 0xfe, 0xf6, - 0x78, 0x2d, 0xf5, 0x93, 0x17, 0x06, 0x26, 0x19, 0x4e, 0x7a, 0x1b, 0x7d, 0x7b, 0xbc, 0x19, 0x3d, - 0x0a, 0x37, 0xef, 0x78, 0x5e, 0xaf, 0xc0, 0x92, 0xee, 0x2b, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, - 0x02, 0x09, 0x08, 0x34, 0xbe, 0x27, 0x00, 0x00, + // 2972 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x5a, 0x4b, 0x73, 0xe3, 0xc6, + 0xf1, 0xe7, 0xfb, 0xd1, 0x14, 0x1f, 0x9a, 0x5d, 0xef, 0xd2, 0xf0, 0x5a, 0x5a, 0x63, 0xcb, 0xaf, + 0xb5, 0x2d, 0xfd, 0x2d, 0xd7, 0xfa, 0x6f, 0xc7, 0x4e, 0x6c, 0x91, 0xcb, 0x35, 0xe5, 0x95, 0x25, + 0x05, 0xa2, 0xd6, 0x79, 0x79, 0xe1, 0x21, 0x31, 0x22, 0xe1, 0x25, 0x01, 0x18, 0x00, 0xb5, 0xd2, + 0x1e, 0xf3, 0xa8, 0x54, 0x39, 0x17, 0x57, 0xe5, 0x92, 0x8b, 0x3f, 0x42, 0x2a, 0xd7, 0x5c, 0x92, + 0x4b, 0x2e, 0xae, 0xca, 0x21, 0x3e, 0xe6, 0xe4, 0xa4, 0xec, 0x5b, 0xbe, 0x40, 0x4e, 0xa9, 0xa4, + 0xe6, 0x81, 0x17, 0x49, 0x88, 0x90, 0x9d, 0x5b, 0x6e, 0x98, 0x46, 0xf7, 0x0f, 0x98, 0xc6, 0x4c, + 0xf7, 0xaf, 0x1b, 0x03, 0x4f, 0xb8, 0xc4, 0xd0, 0x88, 0x3d, 0xd1, 0x0d, 0x77, 0x13, 0xf7, 0x07, + 0xfa, 0xa6, 0x7b, 0x66, 0x11, 0x67, 0xc3, 0xb2, 0x4d, 0xd7, 0x44, 0xf5, 0xe0, 0xe6, 0x06, 0xbd, + 0x29, 0x3d, 0x19, 0xd2, 0x1e, 0xd8, 0x67, 0x96, 0x6b, 0x6e, 0x5a, 0xb6, 0x69, 0x1e, 0x73, 0x7d, + 0xe9, 0x5a, 0xe8, 0x36, 0xc3, 0x09, 0xa3, 0x45, 0xee, 0x0a, 0xe3, 0x07, 0xe4, 0xcc, 0xbb, 0xfb, + 0xe4, 0x9c, 0xad, 0x85, 0x6d, 0x3c, 0xf1, 0x6e, 0xaf, 0x0f, 0x4d, 0x73, 0x38, 0x26, 0x9b, 0x6c, + 0xd4, 0x9f, 0x1e, 0x6f, 0xba, 0xfa, 0x84, 0x38, 0x2e, 0x9e, 0x58, 0x42, 0xe1, 0xf2, 0xd0, 0x1c, + 0x9a, 0xec, 0x72, 0x93, 0x5e, 0x71, 0xa9, 0xfc, 0x87, 0x32, 0x14, 0x15, 0xf2, 0xf1, 0x94, 0x38, + 0x2e, 0xda, 0x82, 0x1c, 0x19, 0x8c, 0xcc, 0x66, 0xfa, 0x7a, 0xfa, 0xb9, 0xca, 0xd6, 0xb5, 0x8d, + 0x99, 0xc9, 0x6d, 0x08, 0xbd, 0xce, 0x60, 0x64, 0x76, 0x53, 0x0a, 0xd3, 0x45, 0xb7, 0x20, 0x7f, + 0x3c, 0x9e, 0x3a, 0xa3, 0x66, 0x86, 0x19, 0x3d, 0x19, 0x67, 0x74, 0x87, 0x2a, 0x75, 0x53, 0x0a, + 0xd7, 0xa6, 0x8f, 0xd2, 0x8d, 0x63, 0xb3, 0x99, 0x3d, 0xff, 0x51, 0x3b, 0xc6, 0x31, 0x7b, 0x14, + 0xd5, 0x45, 0x2d, 0x00, 0x87, 0xb8, 0xaa, 0x69, 0xb9, 0xba, 0x69, 0x34, 0x73, 0xcc, 0xf2, 0xa9, + 0x38, 0xcb, 0x43, 0xe2, 0xee, 0x33, 0xc5, 0x6e, 0x4a, 0x29, 0x3b, 0xde, 0x80, 0x62, 0xe8, 0x86, + 0xee, 0xaa, 0x83, 0x11, 0xd6, 0x8d, 0x66, 0xfe, 0x7c, 0x8c, 0x1d, 0x43, 0x77, 0xdb, 0x54, 0x91, + 0x62, 0xe8, 0xde, 0x80, 0x4e, 0xf9, 0xe3, 0x29, 0xb1, 0xcf, 0x9a, 0x85, 0xf3, 0xa7, 0xfc, 0x7d, + 0xaa, 0x44, 0xa7, 0xcc, 0xb4, 0x51, 0x07, 0x2a, 0x7d, 0x32, 0xd4, 0x0d, 0xb5, 0x3f, 0x36, 0x07, + 0x0f, 0x9a, 0x45, 0x66, 0x2c, 0xc7, 0x19, 0xb7, 0xa8, 0x6a, 0x8b, 0x6a, 0x76, 0x53, 0x0a, 0xf4, + 0xfd, 0x11, 0x7a, 0x13, 0x4a, 0x83, 0x11, 0x19, 0x3c, 0x50, 0xdd, 0xd3, 0x66, 0x89, 0x61, 0xac, + 0xc7, 0x61, 0xb4, 0xa9, 0x5e, 0xef, 0xb4, 0x9b, 0x52, 0x8a, 0x03, 0x7e, 0x49, 0xe7, 0xaf, 0x91, + 0xb1, 0x7e, 0x42, 0x6c, 0x6a, 0x5f, 0x3e, 0x7f, 0xfe, 0xb7, 0xb9, 0x26, 0x43, 0x28, 0x6b, 0xde, + 0x00, 0xbd, 0x05, 0x65, 0x62, 0x68, 0x62, 0x1a, 0xc0, 0x20, 0xae, 0xc7, 0xae, 0x15, 0x43, 0xf3, + 0x26, 0x51, 0x22, 0xe2, 0x1a, 0xbd, 0x06, 0x85, 0x81, 0x39, 0x99, 0xe8, 0x6e, 0xb3, 0xc2, 0xac, + 0xd7, 0x62, 0x27, 0xc0, 0xb4, 0xba, 0x29, 0x45, 0xe8, 0xa3, 0x3d, 0xa8, 0x8d, 0x75, 0xc7, 0x55, + 0x1d, 0x03, 0x5b, 0xce, 0xc8, 0x74, 0x9d, 0xe6, 0x0a, 0x43, 0x78, 0x3a, 0x0e, 0x61, 0x57, 0x77, + 0xdc, 0x43, 0x4f, 0xb9, 0x9b, 0x52, 0xaa, 0xe3, 0xb0, 0x80, 0xe2, 0x99, 0xc7, 0xc7, 0xc4, 0xf6, + 0x01, 0x9b, 0xd5, 0xf3, 0xf1, 0xf6, 0xa9, 0xb6, 0x67, 0x4f, 0xf1, 0xcc, 0xb0, 0x00, 0xfd, 0x18, + 0x2e, 0x8d, 0x4d, 0xac, 0xf9, 0x70, 0xea, 0x60, 0x34, 0x35, 0x1e, 0x34, 0x6b, 0x0c, 0xf4, 0xf9, + 0xd8, 0x97, 0x34, 0xb1, 0xe6, 0x41, 0xb4, 0xa9, 0x41, 0x37, 0xa5, 0xac, 0x8e, 0x67, 0x85, 0xe8, + 0x3e, 0x5c, 0xc6, 0x96, 0x35, 0x3e, 0x9b, 0x45, 0xaf, 0x33, 0xf4, 0x9b, 0x71, 0xe8, 0xdb, 0xd4, + 0x66, 0x16, 0x1e, 0xe1, 0x39, 0x29, 0xea, 0x41, 0xc3, 0xb2, 0x89, 0x85, 0x6d, 0xa2, 0x5a, 0xb6, + 0x69, 0x99, 0x0e, 0x1e, 0x37, 0x1b, 0x0c, 0xfb, 0xd9, 0x38, 0xec, 0x03, 0xae, 0x7f, 0x20, 0xd4, + 0xbb, 0x29, 0xa5, 0x6e, 0x45, 0x45, 0x1c, 0xd5, 0x1c, 0x10, 0xc7, 0x09, 0x50, 0x57, 0x97, 0xa1, + 0x32, 0xfd, 0x28, 0x6a, 0x44, 0xd4, 0x2a, 0x42, 0xfe, 0x04, 0x8f, 0xa7, 0x44, 0x7e, 0x16, 0x2a, + 0xa1, 0xb0, 0x84, 0x9a, 0x50, 0x9c, 0x10, 0xc7, 0xc1, 0x43, 0xc2, 0xa2, 0x58, 0x59, 0xf1, 0x86, + 0x72, 0x0d, 0x56, 0xc2, 0xa1, 0x48, 0x9e, 0xf8, 0x86, 0x34, 0xc8, 0x50, 0xc3, 0x13, 0x62, 0x3b, + 0x34, 0xb2, 0x08, 0x43, 0x31, 0x44, 0x37, 0xa0, 0xca, 0x96, 0xba, 0xea, 0xdd, 0xa7, 0x91, 0x2e, + 0xa7, 0xac, 0x30, 0xe1, 0x3d, 0xa1, 0xb4, 0x0e, 0x15, 0x6b, 0xcb, 0xf2, 0x55, 0xb2, 0x4c, 0x05, + 0xac, 0x2d, 0x4b, 0x28, 0xc8, 0xdf, 0x81, 0xc6, 0x6c, 0x64, 0x42, 0x0d, 0xc8, 0x3e, 0x20, 0x67, + 0xe2, 0x79, 0xf4, 0x12, 0x5d, 0x16, 0xd3, 0x62, 0xcf, 0x28, 0x2b, 0x62, 0x8e, 0x7f, 0xce, 0xf8, + 0xc6, 0x7e, 0x48, 0x42, 0xaf, 0x41, 0x8e, 0x46, 0x78, 0x11, 0xac, 0xa5, 0x0d, 0x1e, 0xfe, 0x37, + 0xbc, 0xf0, 0xbf, 0xd1, 0xf3, 0xc2, 0x7f, 0xab, 0xf4, 0xf9, 0x97, 0xeb, 0xa9, 0x4f, 0xff, 0xb6, + 0x9e, 0x56, 0x98, 0x05, 0x7a, 0x9c, 0x46, 0x10, 0xac, 0x1b, 0xaa, 0xae, 0x89, 0xe7, 0x14, 0xd9, + 0x78, 0x47, 0x43, 0x77, 0xa1, 0x31, 0x30, 0x0d, 0x87, 0x18, 0xce, 0xd4, 0x51, 0x79, 0x7a, 0x11, + 0x21, 0x7a, 0x7e, 0x87, 0xb7, 0x3d, 0xc5, 0x03, 0xa6, 0xa7, 0xd4, 0x07, 0x51, 0x01, 0xba, 0x03, + 0x70, 0x82, 0xc7, 0xba, 0x86, 0x5d, 0xd3, 0x76, 0x9a, 0xb9, 0xeb, 0xd9, 0x85, 0x30, 0xf7, 0x3c, + 0x95, 0x23, 0x4b, 0xc3, 0x2e, 0x69, 0xe5, 0xe8, 0xdb, 0x2a, 0x21, 0x4b, 0xf4, 0x0c, 0xd4, 0xb1, + 0x65, 0xa9, 0x8e, 0x8b, 0x5d, 0xa2, 0xf6, 0xcf, 0x5c, 0xe2, 0xb0, 0xc0, 0xbd, 0xa2, 0x54, 0xb1, + 0x65, 0x1d, 0x52, 0x69, 0x8b, 0x0a, 0xd1, 0xd3, 0x50, 0xa3, 0x41, 0x5a, 0xc7, 0x63, 0x75, 0x44, + 0xf4, 0xe1, 0xc8, 0x65, 0x01, 0x3a, 0xab, 0x54, 0x85, 0xb4, 0xcb, 0x84, 0xb2, 0xe6, 0x2f, 0x04, + 0x16, 0xa0, 0x11, 0x82, 0x9c, 0x86, 0x5d, 0xcc, 0x1c, 0xb9, 0xa2, 0xb0, 0x6b, 0x2a, 0xb3, 0xb0, + 0x3b, 0x12, 0xee, 0x61, 0xd7, 0xe8, 0x0a, 0x14, 0x04, 0x6c, 0x96, 0xc1, 0x8a, 0x11, 0xfd, 0x66, + 0x96, 0x6d, 0x9e, 0x10, 0x96, 0x91, 0x4a, 0x0a, 0x1f, 0xc8, 0x3f, 0xcf, 0xc0, 0xea, 0x5c, 0x28, + 0xa7, 0xb8, 0x23, 0xec, 0x8c, 0xbc, 0x67, 0xd1, 0x6b, 0xf4, 0x2a, 0xc5, 0xc5, 0x1a, 0xb1, 0x45, + 0x0a, 0x6d, 0x86, 0x5d, 0xc4, 0xe9, 0x41, 0x97, 0xdd, 0x17, 0xae, 0x11, 0xda, 0x68, 0x1f, 0x1a, + 0x63, 0xec, 0xb8, 0x2a, 0x0f, 0x8d, 0x6a, 0x28, 0x9d, 0xce, 0x27, 0x84, 0x5d, 0xec, 0x05, 0x53, + 0xba, 0xd8, 0x05, 0x50, 0x6d, 0x1c, 0x91, 0x22, 0x05, 0x2e, 0xf7, 0xcf, 0x1e, 0x61, 0xc3, 0xd5, + 0x0d, 0xa2, 0xce, 0x7d, 0xb9, 0xc7, 0xe7, 0x40, 0x3b, 0x27, 0xba, 0x46, 0x8c, 0x81, 0xf7, 0xc9, + 0x2e, 0xf9, 0xc6, 0xfe, 0x27, 0x75, 0x64, 0x05, 0x6a, 0xd1, 0x64, 0x84, 0x6a, 0x90, 0x71, 0x4f, + 0x85, 0x03, 0x32, 0xee, 0x29, 0xfa, 0x3f, 0xc8, 0xd1, 0x49, 0xb2, 0xc9, 0xd7, 0x16, 0x30, 0x01, + 0x61, 0xd7, 0x3b, 0xb3, 0x88, 0xc2, 0x34, 0x65, 0xd9, 0xdf, 0x0d, 0x7e, 0x82, 0x9a, 0x45, 0x95, + 0x9f, 0x87, 0xfa, 0x4c, 0x06, 0x0a, 0x7d, 0xbf, 0x74, 0xf8, 0xfb, 0xc9, 0x75, 0xa8, 0x46, 0xd2, + 0x8d, 0x7c, 0x05, 0x2e, 0x2f, 0xca, 0x1e, 0xf2, 0xc8, 0x97, 0x47, 0xb2, 0x00, 0xba, 0x05, 0x25, + 0x3f, 0x7d, 0xf0, 0xdd, 0x38, 0xef, 0x2b, 0x4f, 0x59, 0xf1, 0x55, 0xe9, 0x36, 0xa4, 0xcb, 0x9a, + 0xad, 0x87, 0x0c, 0x7b, 0xf1, 0x22, 0xb6, 0xac, 0x2e, 0x76, 0x46, 0xf2, 0x87, 0xd0, 0x8c, 0x4b, + 0x0d, 0x33, 0xd3, 0xc8, 0xf9, 0xcb, 0xf0, 0x0a, 0x14, 0x8e, 0x4d, 0x7b, 0x82, 0x5d, 0x06, 0x56, + 0x55, 0xc4, 0x88, 0x2e, 0x4f, 0x9e, 0x26, 0xb2, 0x4c, 0xcc, 0x07, 0xb2, 0x0a, 0x8f, 0xc7, 0xa6, + 0x07, 0x6a, 0xa2, 0x1b, 0x1a, 0xe1, 0xfe, 0xac, 0x2a, 0x7c, 0x10, 0x00, 0xf1, 0x97, 0xe5, 0x03, + 0xfa, 0x58, 0x87, 0xcd, 0x95, 0xe1, 0x97, 0x15, 0x31, 0x92, 0x1f, 0xc2, 0x95, 0xc5, 0x39, 0x02, + 0xdd, 0x02, 0xe0, 0xf1, 0xd4, 0xdf, 0x75, 0x95, 0xad, 0x2b, 0xf3, 0x6b, 0xfe, 0x36, 0x76, 0xb1, + 0x52, 0x66, 0x9a, 0xf4, 0x92, 0x46, 0x81, 0xc0, 0x4c, 0x75, 0xf4, 0x47, 0x7c, 0xc9, 0x64, 0x95, + 0xaa, 0xaf, 0x73, 0xa8, 0x3f, 0x22, 0xf2, 0x2f, 0xd3, 0xa1, 0x27, 0x47, 0x92, 0x46, 0x68, 0xa7, + 0xa5, 0x2f, 0xb4, 0xd3, 0xa2, 0x6f, 0x9c, 0x49, 0xf8, 0xc6, 0xf2, 0xaf, 0x01, 0x4a, 0x0a, 0x71, + 0x2c, 0x1a, 0x16, 0x51, 0x0b, 0xca, 0xe4, 0x74, 0x40, 0x38, 0x77, 0x4d, 0xc7, 0x72, 0x3f, 0xae, + 0xdd, 0xf1, 0x34, 0x29, 0xf1, 0xf2, 0xcd, 0xd0, 0x2b, 0x82, 0x9f, 0xc7, 0x53, 0x6d, 0x61, 0x1e, + 0x26, 0xe8, 0xaf, 0x7a, 0x04, 0x3d, 0x1b, 0xcb, 0xb5, 0xb8, 0xd5, 0x0c, 0x43, 0x7f, 0x45, 0x30, + 0xf4, 0xdc, 0x92, 0x87, 0x45, 0x28, 0x7a, 0x3b, 0x42, 0xd1, 0xf3, 0x4b, 0xa6, 0x19, 0xc3, 0xd1, + 0xdb, 0x11, 0x8e, 0x5e, 0x58, 0x02, 0x12, 0x43, 0xd2, 0x5f, 0xf5, 0x48, 0x7a, 0x71, 0xc9, 0xb4, + 0x67, 0x58, 0xfa, 0x9d, 0x28, 0x4b, 0xe7, 0x0c, 0xfb, 0x46, 0xac, 0x75, 0x2c, 0x4d, 0xff, 0x6e, + 0x88, 0xa6, 0x97, 0x63, 0x39, 0x32, 0x07, 0x59, 0xc0, 0xd3, 0xdb, 0x11, 0x9e, 0x0e, 0x4b, 0x7c, + 0x10, 0x43, 0xd4, 0xdf, 0x0e, 0x13, 0xf5, 0x4a, 0x2c, 0xd7, 0x17, 0x8b, 0x66, 0x11, 0x53, 0x7f, + 0xdd, 0x67, 0xea, 0x2b, 0xb1, 0xa5, 0x86, 0x98, 0xc3, 0x2c, 0x55, 0xdf, 0x9f, 0xa3, 0xea, 0x9c, + 0x5a, 0x3f, 0x13, 0x0b, 0xb1, 0x84, 0xab, 0xef, 0xcf, 0x71, 0xf5, 0xda, 0x12, 0xc0, 0x25, 0x64, + 0xfd, 0x27, 0x8b, 0xc9, 0x7a, 0x3c, 0x9d, 0x16, 0xaf, 0x99, 0x8c, 0xad, 0xab, 0x31, 0x6c, 0x9d, + 0x33, 0xea, 0x17, 0x62, 0xe1, 0x13, 0xd3, 0xf5, 0xa3, 0x05, 0x74, 0x9d, 0x13, 0xeb, 0xe7, 0x62, + 0xc1, 0x13, 0xf0, 0xf5, 0xa3, 0x05, 0x7c, 0x1d, 0x2d, 0x85, 0x4d, 0x4e, 0xd8, 0x9f, 0xa7, 0xbc, + 0x68, 0x26, 0xcc, 0xd1, 0xdc, 0x42, 0x6c, 0xdb, 0xb4, 0x05, 0x17, 0xe6, 0x03, 0xf9, 0x39, 0xca, + 0xd4, 0x82, 0x90, 0x76, 0x0e, 0xb9, 0x67, 0x39, 0x3c, 0x14, 0xc6, 0xe4, 0xdf, 0xa7, 0x03, 0x5b, + 0x46, 0x6e, 0xc2, 0x2c, 0xaf, 0x2c, 0x58, 0x5e, 0x88, 0xf3, 0x67, 0xa2, 0x9c, 0x7f, 0x1d, 0x2a, + 0x34, 0x37, 0xcf, 0xd0, 0x79, 0x6c, 0x79, 0x74, 0x1e, 0xdd, 0x84, 0x55, 0x46, 0xbe, 0x78, 0x5e, + 0x10, 0x09, 0x39, 0xc7, 0xf2, 0x51, 0x9d, 0xde, 0xe0, 0x5b, 0x89, 0x67, 0xe6, 0x97, 0xe0, 0x52, + 0x48, 0xd7, 0xcf, 0xf9, 0x9c, 0xc3, 0x36, 0x7c, 0xed, 0x6d, 0x91, 0xfc, 0xdf, 0x0b, 0x1c, 0x14, + 0x94, 0x0a, 0x08, 0x72, 0x03, 0x53, 0x23, 0x22, 0x23, 0xb3, 0x6b, 0x5a, 0x3e, 0x8c, 0xcd, 0xa1, + 0xc8, 0xbb, 0xf4, 0x92, 0x6a, 0xf9, 0x31, 0xbb, 0xcc, 0x43, 0xb2, 0xfc, 0xa7, 0x74, 0x80, 0x17, + 0x54, 0x0f, 0x8b, 0x88, 0x7e, 0xfa, 0xbf, 0x43, 0xf4, 0x33, 0xdf, 0x98, 0xe8, 0x87, 0x19, 0x51, + 0x36, 0xca, 0x88, 0xfe, 0x99, 0x0e, 0xbe, 0xb0, 0x4f, 0xdb, 0xbf, 0x99, 0x47, 0x02, 0x7a, 0x93, + 0x67, 0xdf, 0x4b, 0xd0, 0x1b, 0x51, 0x8c, 0x15, 0xd8, 0x73, 0xa3, 0xc5, 0x58, 0x91, 0x13, 0x1e, + 0x36, 0x40, 0xaf, 0x41, 0x99, 0x75, 0xf4, 0x54, 0xd3, 0x72, 0x44, 0x7a, 0x78, 0x22, 0x3c, 0x57, + 0xde, 0xb8, 0xdb, 0x38, 0xa0, 0x3a, 0xfb, 0x96, 0xa3, 0x94, 0x2c, 0x71, 0x15, 0x62, 0x6e, 0xe5, + 0x48, 0x01, 0x71, 0x0d, 0xca, 0xf4, 0xed, 0x1d, 0x0b, 0x0f, 0x08, 0x0b, 0xf5, 0x65, 0x25, 0x10, + 0xc8, 0xf7, 0x01, 0xcd, 0x27, 0x1b, 0xd4, 0x85, 0x02, 0x39, 0x21, 0x86, 0x4b, 0xbf, 0x5a, 0x76, + 0x96, 0x8e, 0x08, 0x76, 0x4e, 0x0c, 0xb7, 0xd5, 0xa4, 0x4e, 0xfe, 0xc7, 0x97, 0xeb, 0x0d, 0xae, + 0xfd, 0xa2, 0x39, 0xd1, 0x5d, 0x32, 0xb1, 0xdc, 0x33, 0x45, 0xd8, 0xcb, 0x3f, 0xcb, 0x50, 0xaa, + 0x1c, 0x49, 0x44, 0x0b, 0x7d, 0xeb, 0x6d, 0xa0, 0x4c, 0xa8, 0x4c, 0x4a, 0xe6, 0xef, 0x35, 0x80, + 0x21, 0x76, 0xd4, 0x87, 0xd8, 0x70, 0x89, 0x26, 0x9c, 0x1e, 0x92, 0x20, 0x09, 0x4a, 0x74, 0x34, + 0x75, 0x88, 0x26, 0x2a, 0x36, 0x7f, 0x1c, 0x9a, 0x67, 0xf1, 0xdb, 0xcd, 0x33, 0xea, 0xe5, 0xd2, + 0xac, 0x97, 0x7f, 0x91, 0x09, 0x76, 0x49, 0x50, 0x55, 0xfc, 0xef, 0xf9, 0xe1, 0x57, 0xac, 0xd5, + 0x10, 0x65, 0x04, 0xe8, 0x10, 0x56, 0xfd, 0x5d, 0xaa, 0x4e, 0xd9, 0xee, 0xf5, 0xd6, 0x5d, 0xd2, + 0x6d, 0xde, 0x38, 0x89, 0x8a, 0x1d, 0xf4, 0x03, 0xb8, 0x3a, 0x13, 0x81, 0x7c, 0xe8, 0x4c, 0xc2, + 0x40, 0xf4, 0x58, 0x34, 0x10, 0x79, 0xc8, 0x81, 0xaf, 0xb2, 0xdf, 0x72, 0x6f, 0xec, 0xd0, 0xea, + 0x35, 0xcc, 0x6f, 0x16, 0x7e, 0xfd, 0x1b, 0x50, 0xb5, 0x89, 0x8b, 0x75, 0x43, 0x8d, 0xf4, 0x07, + 0x56, 0xb8, 0x50, 0x74, 0x1d, 0x0e, 0xe0, 0xb1, 0x85, 0x3c, 0x07, 0xfd, 0x3f, 0x94, 0x03, 0x8a, + 0x94, 0x8e, 0x29, 0xb5, 0xfd, 0xf2, 0x31, 0xd0, 0x95, 0xff, 0x98, 0x0e, 0x20, 0xa3, 0x05, 0x69, + 0x07, 0x0a, 0x36, 0x71, 0xa6, 0x63, 0x5e, 0x22, 0xd6, 0xb6, 0x5e, 0x4a, 0xc6, 0x90, 0xa8, 0x74, + 0x3a, 0x76, 0x15, 0x61, 0x2c, 0xdf, 0x87, 0x02, 0x97, 0xa0, 0x0a, 0x14, 0x8f, 0xf6, 0xee, 0xee, + 0xed, 0xbf, 0xbf, 0xd7, 0x48, 0x21, 0x80, 0xc2, 0x76, 0xbb, 0xdd, 0x39, 0xe8, 0x35, 0xd2, 0xa8, + 0x0c, 0xf9, 0xed, 0xd6, 0xbe, 0xd2, 0x6b, 0x64, 0xa8, 0x58, 0xe9, 0xbc, 0xdb, 0x69, 0xf7, 0x1a, + 0x59, 0xb4, 0x0a, 0x55, 0x7e, 0xad, 0xde, 0xd9, 0x57, 0xde, 0xdb, 0xee, 0x35, 0x72, 0x21, 0xd1, + 0x61, 0x67, 0xef, 0x76, 0x47, 0x69, 0xe4, 0xe5, 0x97, 0x69, 0x0d, 0x1a, 0xc3, 0xa9, 0x82, 0x6a, + 0x33, 0x1d, 0xaa, 0x36, 0xe5, 0xdf, 0x64, 0x40, 0x8a, 0x27, 0x4a, 0xe8, 0xdd, 0x99, 0x89, 0x6f, + 0x5d, 0x80, 0x65, 0xcd, 0xcc, 0x1e, 0x3d, 0x0d, 0x35, 0x9b, 0x1c, 0x13, 0x77, 0x30, 0xe2, 0xc4, + 0x8d, 0x27, 0xb6, 0xaa, 0x52, 0x15, 0x52, 0x66, 0xe4, 0x70, 0xb5, 0x8f, 0xc8, 0xc0, 0x55, 0x79, + 0xe1, 0xcb, 0x17, 0x5d, 0x99, 0xaa, 0x51, 0xe9, 0x21, 0x17, 0xca, 0x1f, 0x5e, 0xc8, 0x97, 0x65, + 0xc8, 0x2b, 0x9d, 0x9e, 0xf2, 0xc3, 0x46, 0x16, 0x21, 0xa8, 0xb1, 0x4b, 0xf5, 0x70, 0x6f, 0xfb, + 0xe0, 0xb0, 0xbb, 0x4f, 0x7d, 0x79, 0x09, 0xea, 0x9e, 0x2f, 0x3d, 0x61, 0x5e, 0x3e, 0x80, 0xab, + 0x31, 0x2c, 0xef, 0x1b, 0x56, 0xdc, 0xf2, 0x6f, 0xd3, 0x61, 0xc8, 0x68, 0x29, 0xfd, 0xce, 0x8c, + 0xa7, 0x37, 0x93, 0x72, 0xc3, 0x59, 0x37, 0x4b, 0x50, 0x22, 0xa2, 0x8f, 0xc4, 0x1c, 0xbc, 0xa2, + 0xf8, 0x63, 0xf9, 0xa5, 0xe5, 0x4e, 0x0b, 0x56, 0x5d, 0x46, 0xfe, 0x77, 0x1a, 0xea, 0x33, 0x21, + 0x02, 0x6d, 0x41, 0x9e, 0x97, 0x3f, 0x71, 0xff, 0xb4, 0x58, 0x84, 0x13, 0xf1, 0x84, 0xab, 0xa2, + 0x37, 0x23, 0xaf, 0x34, 0x17, 0x8a, 0xb8, 0xb3, 0xbc, 0xe6, 0x97, 0x30, 0xf5, 0x2d, 0xd0, 0x5b, + 0x50, 0xf6, 0x63, 0x9d, 0xa8, 0xb9, 0x9f, 0x9a, 0x37, 0xf7, 0xa3, 0xa4, 0xb0, 0x0f, 0x6c, 0xd0, + 0xeb, 0x01, 0x2b, 0xcd, 0xcd, 0x17, 0x5d, 0xc2, 0x9c, 0x2b, 0x08, 0x63, 0x4f, 0x5f, 0x6e, 0x43, + 0x25, 0x34, 0x1f, 0xf4, 0x04, 0x94, 0x27, 0xf8, 0x54, 0xb4, 0x4c, 0x79, 0xd3, 0xab, 0x34, 0xc1, + 0xa7, 0xbc, 0x5b, 0x7a, 0x15, 0x8a, 0xf4, 0xe6, 0x10, 0x3b, 0xa2, 0x8f, 0x52, 0x98, 0xe0, 0xd3, + 0x77, 0xb0, 0x23, 0x7f, 0x00, 0xb5, 0x68, 0xbb, 0x90, 0xee, 0x45, 0xdb, 0x9c, 0x1a, 0x1a, 0xc3, + 0xc8, 0x2b, 0x7c, 0x80, 0x6e, 0x41, 0xfe, 0xc4, 0xe4, 0xe1, 0x7a, 0x71, 0xd0, 0xba, 0x67, 0xba, + 0x24, 0xd4, 0x6e, 0xe4, 0xda, 0xf2, 0x23, 0xc8, 0xb3, 0xf0, 0x4b, 0x43, 0x29, 0x6b, 0xfc, 0x09, + 0x46, 0x4e, 0xaf, 0xd1, 0x07, 0x00, 0xd8, 0x75, 0x6d, 0xbd, 0x3f, 0x0d, 0x80, 0xd7, 0x17, 0x87, + 0xef, 0x6d, 0x4f, 0xaf, 0x75, 0x4d, 0xc4, 0xf1, 0xcb, 0x81, 0x69, 0x28, 0x96, 0x87, 0x00, 0xe5, + 0x3d, 0xa8, 0x45, 0x6d, 0xc3, 0x2d, 0xf8, 0x95, 0x05, 0x2d, 0x78, 0x9f, 0xf5, 0xf9, 0x9c, 0x31, + 0xcb, 0x9b, 0xbc, 0x6c, 0x20, 0xff, 0x2e, 0x0d, 0xa5, 0xde, 0xa9, 0x58, 0xa3, 0x31, 0xfd, 0xc5, + 0xc0, 0x34, 0x13, 0xee, 0xa6, 0xf1, 0x86, 0x65, 0xd6, 0x6f, 0x83, 0xbe, 0xed, 0x6f, 0xa8, 0x5c, + 0xd2, 0x62, 0xdf, 0xeb, 0x52, 0x89, 0x9d, 0x74, 0x03, 0xaa, 0xa6, 0xad, 0x0f, 0x75, 0x03, 0x8f, + 0xc3, 0x05, 0xc6, 0x8a, 0x27, 0x64, 0x3c, 0xfa, 0x0d, 0x28, 0xfb, 0x4b, 0x8f, 0xd6, 0x3f, 0x58, + 0xd3, 0x6c, 0xe2, 0x38, 0xc2, 0x01, 0xde, 0x90, 0xf5, 0xb4, 0xcd, 0x87, 0xa2, 0xa9, 0x97, 0x55, + 0xf8, 0x40, 0xd6, 0xa0, 0x3e, 0x93, 0xdd, 0xd1, 0x1b, 0x50, 0xb4, 0xa6, 0x7d, 0xd5, 0xf3, 0xe1, + 0xcc, 0x0e, 0xf3, 0xb8, 0xf0, 0xb4, 0x3f, 0xd6, 0x07, 0x77, 0xc9, 0x99, 0xf7, 0xc6, 0xd6, 0xb4, + 0x7f, 0x97, 0xbb, 0x9a, 0x3f, 0x25, 0x13, 0x7e, 0xca, 0x09, 0x94, 0xbc, 0x95, 0x83, 0xbe, 0x17, + 0xde, 0x4c, 0xde, 0x9f, 0x8e, 0x58, 0xc6, 0x21, 0xe0, 0x43, 0x7b, 0xe9, 0x26, 0xac, 0x3a, 0xfa, + 0xd0, 0x20, 0x9a, 0x1a, 0x54, 0x60, 0xec, 0x69, 0x25, 0xa5, 0xce, 0x6f, 0xec, 0x7a, 0xe5, 0x97, + 0xfc, 0xaf, 0x34, 0x94, 0xbc, 0x5d, 0x8d, 0x5e, 0x0e, 0x2d, 0xce, 0xda, 0x82, 0xee, 0x97, 0xa7, + 0x18, 0xb4, 0xa5, 0xa3, 0xef, 0x9a, 0xb9, 0xf8, 0xbb, 0xc6, 0xfd, 0x5f, 0xf0, 0x7e, 0xf4, 0xe4, + 0x2e, 0xfc, 0xa3, 0xe7, 0x45, 0x40, 0xae, 0xe9, 0xe2, 0xb1, 0x7a, 0x62, 0xba, 0xba, 0x31, 0x54, + 0xb9, 0xb3, 0x39, 0xf1, 0x6c, 0xb0, 0x3b, 0xf7, 0xd8, 0x8d, 0x03, 0xe6, 0xf7, 0x9f, 0xa6, 0xa1, + 0xe4, 0x53, 0x88, 0x8b, 0x76, 0x99, 0xaf, 0x40, 0x41, 0x64, 0x49, 0xde, 0x66, 0x16, 0x23, 0xff, + 0x87, 0x47, 0x2e, 0xf4, 0xc3, 0x43, 0x82, 0xd2, 0x84, 0xb8, 0x98, 0x25, 0x23, 0xbe, 0x46, 0xfd, + 0xf1, 0xcd, 0xd7, 0xa1, 0x12, 0x6a, 0xf8, 0xd3, 0xed, 0xb9, 0xd7, 0x79, 0xbf, 0x91, 0x92, 0x8a, + 0x9f, 0x7c, 0x76, 0x3d, 0xbb, 0x47, 0x1e, 0xd2, 0x35, 0xab, 0x74, 0xda, 0xdd, 0x4e, 0xfb, 0x6e, + 0x23, 0x2d, 0x55, 0x3e, 0xf9, 0xec, 0x7a, 0x51, 0x21, 0xac, 0x69, 0x76, 0xb3, 0x0b, 0x2b, 0xe1, + 0xaf, 0x12, 0xcd, 0x19, 0x08, 0x6a, 0xb7, 0x8f, 0x0e, 0x76, 0x77, 0xda, 0xdb, 0xbd, 0x8e, 0x7a, + 0x6f, 0xbf, 0xd7, 0x69, 0xa4, 0xd1, 0x55, 0xb8, 0xb4, 0xbb, 0xf3, 0x4e, 0xb7, 0xa7, 0xb6, 0x77, + 0x77, 0x3a, 0x7b, 0x3d, 0x75, 0xbb, 0xd7, 0xdb, 0x6e, 0xdf, 0x6d, 0x64, 0xb6, 0xfe, 0x52, 0x81, + 0xfa, 0x76, 0xab, 0xbd, 0x43, 0x49, 0x82, 0x3e, 0xc0, 0xa2, 0x29, 0x99, 0x63, 0x3d, 0x88, 0x73, + 0x4f, 0x45, 0x48, 0xe7, 0xf7, 0x64, 0xd1, 0x1d, 0xc8, 0xb3, 0xf6, 0x04, 0x3a, 0xff, 0x98, 0x84, + 0xb4, 0xa4, 0x49, 0x4b, 0x5f, 0x86, 0x6d, 0x8f, 0x73, 0xcf, 0x4d, 0x48, 0xe7, 0xf7, 0x6c, 0x91, + 0x02, 0xe5, 0xa0, 0xbf, 0xb0, 0xfc, 0x1c, 0x85, 0x94, 0xa0, 0x8f, 0x4b, 0x31, 0x83, 0xea, 0x69, + 0xf9, 0xb9, 0x02, 0x29, 0x41, 0x94, 0x43, 0xbb, 0x50, 0xf4, 0xea, 0xd2, 0x65, 0x27, 0x1d, 0xa4, + 0xa5, 0x3d, 0x56, 0xfa, 0x09, 0x78, 0xff, 0xe0, 0xfc, 0x63, 0x1b, 0xd2, 0x92, 0x86, 0x31, 0xda, + 0x81, 0x82, 0x28, 0x09, 0x96, 0x9c, 0x5e, 0x90, 0x96, 0xf5, 0x4c, 0xa9, 0xd3, 0x82, 0xc6, 0xcc, + 0xf2, 0xc3, 0x28, 0x52, 0x82, 0x5e, 0x38, 0x3a, 0x02, 0x08, 0x75, 0x0b, 0x12, 0x9c, 0x32, 0x91, + 0x92, 0xf4, 0xb8, 0xd1, 0x3e, 0x94, 0xfc, 0xaa, 0x70, 0xe9, 0x99, 0x0f, 0x69, 0x79, 0xb3, 0x19, + 0xdd, 0x87, 0x6a, 0xb4, 0x1c, 0x4a, 0x76, 0x92, 0x43, 0x4a, 0xd8, 0x45, 0xa6, 0xf8, 0xd1, 0xda, + 0x28, 0xd9, 0xc9, 0x0e, 0x29, 0x61, 0x53, 0x19, 0x7d, 0x04, 0xab, 0xf3, 0xb5, 0x4b, 0xf2, 0x83, + 0x1e, 0xd2, 0x05, 0xda, 0xcc, 0x68, 0x02, 0x68, 0x41, 0xcd, 0x73, 0x81, 0x73, 0x1f, 0xd2, 0x45, + 0xba, 0xce, 0x48, 0x83, 0xfa, 0x6c, 0x21, 0x91, 0xf4, 0x1c, 0x88, 0x94, 0xb8, 0x03, 0xcd, 0x9f, + 0x12, 0xad, 0x2d, 0x92, 0x9e, 0x0b, 0x91, 0x12, 0x37, 0xa4, 0x5b, 0x9d, 0xcf, 0xbf, 0x5a, 0x4b, + 0x7f, 0xf1, 0xd5, 0x5a, 0xfa, 0xef, 0x5f, 0xad, 0xa5, 0x3f, 0xfd, 0x7a, 0x2d, 0xf5, 0xc5, 0xd7, + 0x6b, 0xa9, 0xbf, 0x7e, 0xbd, 0x96, 0xfa, 0xd1, 0x0b, 0x43, 0xdd, 0x1d, 0x4d, 0xfb, 0x1b, 0x03, + 0x73, 0xb2, 0x19, 0x3e, 0x60, 0xb7, 0xe8, 0xd0, 0x5f, 0xbf, 0xc0, 0x92, 0xee, 0x2b, 0xff, 0x09, + 0x00, 0x00, 0xff, 0xff, 0x16, 0x0c, 0xd3, 0x03, 0x14, 0x28, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -5342,14 +5342,17 @@ func (m *RequestPrepareProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) i-- dAtA[i] = 0x10 } - if len(m.BlockData) > 0 { - for iNdEx := len(m.BlockData) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.BlockData[iNdEx]) - copy(dAtA[i:], m.BlockData[iNdEx]) - i = encodeVarintTypes(dAtA, i, uint64(len(m.BlockData[iNdEx]))) - i-- - dAtA[i] = 0xa + if m.BlockData != nil { + { + size, err := m.BlockData.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTypes(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0xa } return len(dAtA) - i, nil } @@ -5374,14 +5377,17 @@ func (m *RequestProcessProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) _ = i var l int _ = l - if len(m.Txs) > 0 { - for iNdEx := len(m.Txs) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Txs[iNdEx]) - copy(dAtA[i:], m.Txs[iNdEx]) - i = encodeVarintTypes(dAtA, i, uint64(len(m.Txs[iNdEx]))) - i-- - dAtA[i] = 0x12 + if m.BlockData != nil { + { + size, err := m.BlockData.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTypes(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0x12 } { size, err := m.Header.MarshalToSizedBuffer(dAtA[:i]) @@ -6552,20 +6558,20 @@ func (m *ResponseApplySnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, err } } if len(m.RefetchChunks) > 0 { - dAtA46 := make([]byte, len(m.RefetchChunks)*10) - var j45 int + dAtA48 := make([]byte, len(m.RefetchChunks)*10) + var j47 int for _, num := range m.RefetchChunks { for num >= 1<<7 { - dAtA46[j45] = uint8(uint64(num)&0x7f | 0x80) + dAtA48[j47] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j45++ + j47++ } - dAtA46[j45] = uint8(num) - j45++ + dAtA48[j47] = uint8(num) + j47++ } - i -= j45 - copy(dAtA[i:], dAtA46[:j45]) - i = encodeVarintTypes(dAtA, i, uint64(j45)) + i -= j47 + copy(dAtA[i:], dAtA48[:j47]) + i = encodeVarintTypes(dAtA, i, uint64(j47)) i-- dAtA[i] = 0x12 } @@ -6597,14 +6603,17 @@ func (m *ResponsePrepareProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) _ = i var l int _ = l - if len(m.BlockData) > 0 { - for iNdEx := len(m.BlockData) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.BlockData[iNdEx]) - copy(dAtA[i:], m.BlockData[iNdEx]) - i = encodeVarintTypes(dAtA, i, uint64(len(m.BlockData[iNdEx]))) - i-- - dAtA[i] = 0xa + if m.BlockData != nil { + { + size, err := m.BlockData.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTypes(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0xa } return len(dAtA) - i, nil } @@ -7081,12 +7090,12 @@ func (m *Evidence) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x28 } - n54, err54 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) - if err54 != nil { - return 0, err54 + n57, err57 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) + if err57 != nil { + return 0, err57 } - i -= n54 - i = encodeVarintTypes(dAtA, i, uint64(n54)) + i -= n57 + i = encodeVarintTypes(dAtA, i, uint64(n57)) i-- dAtA[i] = 0x22 if m.Height != 0 { @@ -7647,11 +7656,9 @@ func (m *RequestPrepareProposal) Size() (n int) { } var l int _ = l - if len(m.BlockData) > 0 { - for _, b := range m.BlockData { - l = len(b) - n += 1 + l + sovTypes(uint64(l)) - } + if m.BlockData != nil { + l = m.BlockData.Size() + n += 1 + l + sovTypes(uint64(l)) } if m.BlockDataSize != 0 { n += 1 + sovTypes(uint64(m.BlockDataSize)) @@ -7667,11 +7674,9 @@ func (m *RequestProcessProposal) Size() (n int) { _ = l l = m.Header.Size() n += 1 + l + sovTypes(uint64(l)) - if len(m.Txs) > 0 { - for _, b := range m.Txs { - l = len(b) - n += 1 + l + sovTypes(uint64(l)) - } + if m.BlockData != nil { + l = m.BlockData.Size() + n += 1 + l + sovTypes(uint64(l)) } return n } @@ -8258,11 +8263,9 @@ func (m *ResponsePrepareProposal) Size() (n int) { } var l int _ = l - if len(m.BlockData) > 0 { - for _, b := range m.BlockData { - l = len(b) - n += 1 + l + sovTypes(uint64(l)) - } + if m.BlockData != nil { + l = m.BlockData.Size() + n += 1 + l + sovTypes(uint64(l)) } return n } @@ -10844,7 +10847,7 @@ func (m *RequestPrepareProposal) Unmarshal(dAtA []byte) error { if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field BlockData", wireType) } - var byteLen int + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -10854,23 +10857,27 @@ 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.BlockData = append(m.BlockData, make([]byte, postIndex-iNdEx)) - copy(m.BlockData[len(m.BlockData)-1], dAtA[iNdEx:postIndex]) + if m.BlockData == nil { + m.BlockData = &types1.Data{} + } + if err := m.BlockData.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 2: if wireType != 0 { @@ -10976,9 +10983,9 @@ func (m *RequestProcessProposal) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Txs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BlockData", wireType) } - var byteLen int + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -10988,23 +10995,27 @@ func (m *RequestProcessProposal) 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.Txs = append(m.Txs, make([]byte, postIndex-iNdEx)) - copy(m.Txs[len(m.Txs)-1], dAtA[iNdEx:postIndex]) + if m.BlockData == nil { + m.BlockData = &types1.Data{} + } + if err := m.BlockData.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -14031,7 +14042,7 @@ func (m *ResponsePrepareProposal) Unmarshal(dAtA []byte) error { if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field BlockData", wireType) } - var byteLen int + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -14041,23 +14052,27 @@ func (m *ResponsePrepareProposal) 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.BlockData = append(m.BlockData, make([]byte, postIndex-iNdEx)) - copy(m.BlockData[len(m.BlockData)-1], dAtA[iNdEx:postIndex]) + if m.BlockData == nil { + m.BlockData = &types1.Data{} + } + if err := m.BlockData.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex diff --git a/proto/tendermint/abci/types.pb.go b/proto/tendermint/abci/types.pb.go index 139a7e238a..32a7cc12b7 100644 --- a/proto/tendermint/abci/types.pb.go +++ b/proto/tendermint/abci/types.pb.go @@ -1273,7 +1273,7 @@ type RequestPrepareProposal struct { // block_data is an array of transactions that will be included in a block, // sent to the app for possible modifications. // applications can not exceed the size of the data passed to it. - BlockData [][]byte `protobuf:"bytes,1,rep,name=block_data,json=blockData,proto3" json:"block_data,omitempty"` + BlockData *types1.Data `protobuf:"bytes,1,opt,name=block_data,json=blockData,proto3" json:"block_data,omitempty"` // If an application decides to populate block_data with extra information, they can not exceed this value. BlockDataSize int64 `protobuf:"varint,2,opt,name=block_data_size,json=blockDataSize,proto3" json:"block_data_size,omitempty"` } @@ -1311,7 +1311,7 @@ func (m *RequestPrepareProposal) XXX_DiscardUnknown() { var xxx_messageInfo_RequestPrepareProposal proto.InternalMessageInfo -func (m *RequestPrepareProposal) GetBlockData() [][]byte { +func (m *RequestPrepareProposal) GetBlockData() *types1.Data { if m != nil { return m.BlockData } @@ -1326,8 +1326,8 @@ func (m *RequestPrepareProposal) GetBlockDataSize() int64 { } type RequestProcessProposal struct { - Header types1.Header `protobuf:"bytes,1,opt,name=header,proto3" json:"header"` - Txs [][]byte `protobuf:"bytes,2,rep,name=txs,proto3" json:"txs,omitempty"` + Header types1.Header `protobuf:"bytes,1,opt,name=header,proto3" json:"header"` + BlockData *types1.Data `protobuf:"bytes,2,opt,name=block_data,json=blockData,proto3" json:"block_data,omitempty"` } func (m *RequestProcessProposal) Reset() { *m = RequestProcessProposal{} } @@ -1370,9 +1370,9 @@ func (m *RequestProcessProposal) GetHeader() types1.Header { return types1.Header{} } -func (m *RequestProcessProposal) GetTxs() [][]byte { +func (m *RequestProcessProposal) GetBlockData() *types1.Data { if m != nil { - return m.Txs + return m.BlockData } return nil } @@ -2652,7 +2652,7 @@ func (m *ResponseApplySnapshotChunk) GetRejectSenders() []string { } type ResponsePrepareProposal struct { - BlockData [][]byte `protobuf:"bytes,1,rep,name=block_data,json=blockData,proto3" json:"block_data,omitempty"` + BlockData *types1.Data `protobuf:"bytes,1,opt,name=block_data,json=blockData,proto3" json:"block_data,omitempty"` } func (m *ResponsePrepareProposal) Reset() { *m = ResponsePrepareProposal{} } @@ -2688,7 +2688,7 @@ func (m *ResponsePrepareProposal) XXX_DiscardUnknown() { var xxx_messageInfo_ResponsePrepareProposal proto.InternalMessageInfo -func (m *ResponsePrepareProposal) GetBlockData() [][]byte { +func (m *ResponsePrepareProposal) GetBlockData() *types1.Data { if m != nil { return m.BlockData } @@ -3496,193 +3496,193 @@ func init() { func init() { proto.RegisterFile("tendermint/abci/types.proto", fileDescriptor_252557cfdd89a31a) } var fileDescriptor_252557cfdd89a31a = []byte{ - // 2968 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x5a, 0x4b, 0x73, 0xdb, 0xd6, - 0x15, 0xe6, 0x9b, 0xc4, 0xa1, 0xf8, 0xd0, 0xb5, 0x63, 0x33, 0x88, 0x2d, 0x39, 0xf0, 0x24, 0x71, - 0x9c, 0x44, 0x6a, 0x94, 0x49, 0xea, 0x34, 0x69, 0x13, 0x91, 0xa6, 0x43, 0xc5, 0x8a, 0xa4, 0x42, - 0xb4, 0xd3, 0x57, 0x8c, 0x80, 0xc4, 0x15, 0x89, 0x98, 0x04, 0x10, 0xe0, 0x52, 0x91, 0xbc, 0xec, - 0x63, 0x93, 0x6e, 0x32, 0xd3, 0x4d, 0x37, 0xf9, 0x09, 0x9d, 0x6e, 0xbb, 0x69, 0x37, 0xdd, 0x64, - 0xa6, 0x8b, 0x66, 0xd9, 0x55, 0xda, 0x89, 0x77, 0xfd, 0x03, 0x5d, 0x75, 0xda, 0xb9, 0x0f, 0xbc, - 0x48, 0x42, 0xa4, 0x92, 0xee, 0xba, 0xc3, 0x3d, 0x38, 0xe7, 0x03, 0xee, 0xc1, 0xbd, 0xe7, 0x7c, - 0xe7, 0xe0, 0xc2, 0x53, 0x04, 0x5b, 0x06, 0x76, 0xc7, 0xa6, 0x45, 0x36, 0xf5, 0x5e, 0xdf, 0xdc, - 0x24, 0xa7, 0x0e, 0xf6, 0x36, 0x1c, 0xd7, 0x26, 0x36, 0xaa, 0x85, 0x37, 0x37, 0xe8, 0x4d, 0xf9, - 0x6a, 0x44, 0xbb, 0xef, 0x9e, 0x3a, 0xc4, 0xde, 0x74, 0x5c, 0xdb, 0x3e, 0xe2, 0xfa, 0xf2, 0x95, - 0xc8, 0x6d, 0x86, 0x13, 0x45, 0x8b, 0xdd, 0x15, 0xc6, 0x0f, 0xf1, 0xa9, 0x7f, 0xf7, 0xea, 0x8c, - 0xad, 0xa3, 0xbb, 0xfa, 0xd8, 0xbf, 0xbd, 0x3e, 0xb0, 0xed, 0xc1, 0x08, 0x6f, 0xb2, 0x51, 0x6f, - 0x72, 0xb4, 0x49, 0xcc, 0x31, 0xf6, 0x88, 0x3e, 0x76, 0x84, 0xc2, 0xc5, 0x81, 0x3d, 0xb0, 0xd9, - 0xe5, 0x26, 0xbd, 0xe2, 0x52, 0xe5, 0x8f, 0x12, 0x14, 0x55, 0xfc, 0xf1, 0x04, 0x7b, 0x04, 0x6d, - 0x41, 0x0e, 0xf7, 0x87, 0x76, 0x23, 0x7d, 0x2d, 0x7d, 0xa3, 0xbc, 0x75, 0x65, 0x63, 0x6a, 0x72, - 0x1b, 0x42, 0xaf, 0xdd, 0x1f, 0xda, 0x9d, 0x94, 0xca, 0x74, 0xd1, 0xab, 0x90, 0x3f, 0x1a, 0x4d, - 0xbc, 0x61, 0x23, 0xc3, 0x8c, 0xae, 0x26, 0x19, 0xdd, 0xa1, 0x4a, 0x9d, 0x94, 0xca, 0xb5, 0xe9, - 0xa3, 0x4c, 0xeb, 0xc8, 0x6e, 0x64, 0xcf, 0x7e, 0xd4, 0x8e, 0x75, 0xc4, 0x1e, 0x45, 0x75, 0x51, - 0x13, 0xc0, 0xc3, 0x44, 0xb3, 0x1d, 0x62, 0xda, 0x56, 0x23, 0xc7, 0x2c, 0x9f, 0x4e, 0xb2, 0x3c, - 0xc4, 0x64, 0x9f, 0x29, 0x76, 0x52, 0xaa, 0xe4, 0xf9, 0x03, 0x8a, 0x61, 0x5a, 0x26, 0xd1, 0xfa, - 0x43, 0xdd, 0xb4, 0x1a, 0xf9, 0xb3, 0x31, 0x76, 0x2c, 0x93, 0xb4, 0xa8, 0x22, 0xc5, 0x30, 0xfd, - 0x01, 0x9d, 0xf2, 0xc7, 0x13, 0xec, 0x9e, 0x36, 0x0a, 0x67, 0x4f, 0xf9, 0x87, 0x54, 0x89, 0x4e, - 0x99, 0x69, 0xa3, 0x36, 0x94, 0x7b, 0x78, 0x60, 0x5a, 0x5a, 0x6f, 0x64, 0xf7, 0x1f, 0x36, 0x8a, - 0xcc, 0x58, 0x49, 0x32, 0x6e, 0x52, 0xd5, 0x26, 0xd5, 0xec, 0xa4, 0x54, 0xe8, 0x05, 0x23, 0xf4, - 0x26, 0x94, 0xfa, 0x43, 0xdc, 0x7f, 0xa8, 0x91, 0x93, 0x46, 0x89, 0x61, 0xac, 0x27, 0x61, 0xb4, - 0xa8, 0x5e, 0xf7, 0xa4, 0x93, 0x52, 0x8b, 0x7d, 0x7e, 0x49, 0xe7, 0x6f, 0xe0, 0x91, 0x79, 0x8c, - 0x5d, 0x6a, 0x2f, 0x9d, 0x3d, 0xff, 0xdb, 0x5c, 0x93, 0x21, 0x48, 0x86, 0x3f, 0x40, 0x6f, 0x81, - 0x84, 0x2d, 0x43, 0x4c, 0x03, 0x18, 0xc4, 0xb5, 0xc4, 0xb5, 0x62, 0x19, 0xfe, 0x24, 0x4a, 0x58, - 0x5c, 0xa3, 0x5b, 0x50, 0xe8, 0xdb, 0xe3, 0xb1, 0x49, 0x1a, 0x65, 0x66, 0xbd, 0x96, 0x38, 0x01, - 0xa6, 0xd5, 0x49, 0xa9, 0x42, 0x1f, 0xed, 0x41, 0x75, 0x64, 0x7a, 0x44, 0xf3, 0x2c, 0xdd, 0xf1, - 0x86, 0x36, 0xf1, 0x1a, 0x2b, 0x0c, 0xe1, 0x99, 0x24, 0x84, 0x5d, 0xd3, 0x23, 0x87, 0xbe, 0x72, - 0x27, 0xa5, 0x56, 0x46, 0x51, 0x01, 0xc5, 0xb3, 0x8f, 0x8e, 0xb0, 0x1b, 0x00, 0x36, 0x2a, 0x67, - 0xe3, 0xed, 0x53, 0x6d, 0xdf, 0x9e, 0xe2, 0xd9, 0x51, 0x01, 0xfa, 0x29, 0x5c, 0x18, 0xd9, 0xba, - 0x11, 0xc0, 0x69, 0xfd, 0xe1, 0xc4, 0x7a, 0xd8, 0xa8, 0x32, 0xd0, 0xe7, 0x13, 0x5f, 0xd2, 0xd6, - 0x0d, 0x1f, 0xa2, 0x45, 0x0d, 0x3a, 0x29, 0x75, 0x75, 0x34, 0x2d, 0x44, 0x0f, 0xe0, 0xa2, 0xee, - 0x38, 0xa3, 0xd3, 0x69, 0xf4, 0x1a, 0x43, 0xbf, 0x99, 0x84, 0xbe, 0x4d, 0x6d, 0xa6, 0xe1, 0x91, - 0x3e, 0x23, 0x45, 0x5d, 0xa8, 0x3b, 0x2e, 0x76, 0x74, 0x17, 0x6b, 0x8e, 0x6b, 0x3b, 0xb6, 0xa7, - 0x8f, 0x1a, 0x75, 0x86, 0xfd, 0x5c, 0x12, 0xf6, 0x01, 0xd7, 0x3f, 0x10, 0xea, 0x9d, 0x94, 0x5a, - 0x73, 0xe2, 0x22, 0x8e, 0x6a, 0xf7, 0xb1, 0xe7, 0x85, 0xa8, 0xab, 0x8b, 0x50, 0x99, 0x7e, 0x1c, - 0x35, 0x26, 0x6a, 0x16, 0x21, 0x7f, 0xac, 0x8f, 0x26, 0x58, 0x79, 0x0e, 0xca, 0x91, 0xb0, 0x84, - 0x1a, 0x50, 0x1c, 0x63, 0xcf, 0xd3, 0x07, 0x98, 0x45, 0x31, 0x49, 0xf5, 0x87, 0x4a, 0x15, 0x56, - 0xa2, 0xa1, 0x48, 0x19, 0x07, 0x86, 0x34, 0xc8, 0x50, 0xc3, 0x63, 0xec, 0x7a, 0x34, 0xb2, 0x08, - 0x43, 0x31, 0x44, 0xd7, 0xa1, 0xc2, 0x96, 0xba, 0xe6, 0xdf, 0xa7, 0x91, 0x2e, 0xa7, 0xae, 0x30, - 0xe1, 0x7d, 0xa1, 0xb4, 0x0e, 0x65, 0x67, 0xcb, 0x09, 0x54, 0xb2, 0x4c, 0x05, 0x9c, 0x2d, 0x47, - 0x28, 0x28, 0xdf, 0x83, 0xfa, 0x74, 0x64, 0x42, 0x75, 0xc8, 0x3e, 0xc4, 0xa7, 0xe2, 0x79, 0xf4, - 0x12, 0x5d, 0x14, 0xd3, 0x62, 0xcf, 0x90, 0x54, 0x31, 0xc7, 0xbf, 0x64, 0x02, 0xe3, 0x20, 0x24, - 0xa1, 0x5b, 0x90, 0xa3, 0x11, 0x5e, 0x04, 0x6b, 0x79, 0x83, 0x87, 0xff, 0x0d, 0x3f, 0xfc, 0x6f, - 0x74, 0xfd, 0xf0, 0xdf, 0x2c, 0x7d, 0xf1, 0xd5, 0x7a, 0xea, 0xb3, 0xbf, 0xaf, 0xa7, 0x55, 0x66, - 0x81, 0x9e, 0xa4, 0x11, 0x44, 0x37, 0x2d, 0xcd, 0x34, 0xc4, 0x73, 0x8a, 0x6c, 0xbc, 0x63, 0xa0, - 0xbb, 0x50, 0xef, 0xdb, 0x96, 0x87, 0x2d, 0x6f, 0xe2, 0x69, 0x3c, 0xbd, 0x88, 0x10, 0x3d, 0xbb, - 0xc3, 0x5b, 0xbe, 0xe2, 0x01, 0xd3, 0x53, 0x6b, 0xfd, 0xb8, 0x00, 0xdd, 0x01, 0x38, 0xd6, 0x47, - 0xa6, 0xa1, 0x13, 0xdb, 0xf5, 0x1a, 0xb9, 0x6b, 0xd9, 0xb9, 0x30, 0xf7, 0x7d, 0x95, 0x7b, 0x8e, - 0xa1, 0x13, 0xdc, 0xcc, 0xd1, 0xb7, 0x55, 0x23, 0x96, 0xe8, 0x59, 0xa8, 0xe9, 0x8e, 0xa3, 0x79, - 0x44, 0x27, 0x58, 0xeb, 0x9d, 0x12, 0xec, 0xb1, 0xc0, 0xbd, 0xa2, 0x56, 0x74, 0xc7, 0x39, 0xa4, - 0xd2, 0x26, 0x15, 0xa2, 0x67, 0xa0, 0x4a, 0x83, 0xb4, 0xa9, 0x8f, 0xb4, 0x21, 0x36, 0x07, 0x43, - 0xc2, 0x02, 0x74, 0x56, 0xad, 0x08, 0x69, 0x87, 0x09, 0x15, 0x23, 0x58, 0x08, 0x2c, 0x40, 0x23, - 0x04, 0x39, 0x43, 0x27, 0x3a, 0x73, 0xe4, 0x8a, 0xca, 0xae, 0xa9, 0xcc, 0xd1, 0xc9, 0x50, 0xb8, - 0x87, 0x5d, 0xa3, 0x4b, 0x50, 0x10, 0xb0, 0x59, 0x06, 0x2b, 0x46, 0xf4, 0x9b, 0x39, 0xae, 0x7d, - 0x8c, 0x59, 0x46, 0x2a, 0xa9, 0x7c, 0xa0, 0xfc, 0x32, 0x03, 0xab, 0x33, 0xa1, 0x9c, 0xe2, 0x0e, - 0x75, 0x6f, 0xe8, 0x3f, 0x8b, 0x5e, 0xa3, 0xd7, 0x28, 0xae, 0x6e, 0x60, 0x57, 0xa4, 0xd0, 0x46, - 0xd4, 0x45, 0x9c, 0x1e, 0x74, 0xd8, 0x7d, 0xe1, 0x1a, 0xa1, 0x8d, 0xf6, 0xa1, 0x3e, 0xd2, 0x3d, - 0xa2, 0xf1, 0xd0, 0xa8, 0x45, 0xd2, 0xe9, 0x6c, 0x42, 0xd8, 0xd5, 0xfd, 0x60, 0x4a, 0x17, 0xbb, - 0x00, 0xaa, 0x8e, 0x62, 0x52, 0xa4, 0xc2, 0xc5, 0xde, 0xe9, 0x23, 0xdd, 0x22, 0xa6, 0x85, 0xb5, - 0x99, 0x2f, 0xf7, 0xe4, 0x0c, 0x68, 0xfb, 0xd8, 0x34, 0xb0, 0xd5, 0xf7, 0x3f, 0xd9, 0x85, 0xc0, - 0x38, 0xf8, 0xa4, 0x9e, 0xa2, 0x42, 0x35, 0x9e, 0x8c, 0x50, 0x15, 0x32, 0xe4, 0x44, 0x38, 0x20, - 0x43, 0x4e, 0xd0, 0x77, 0x20, 0x47, 0x27, 0xc9, 0x26, 0x5f, 0x9d, 0xc3, 0x04, 0x84, 0x5d, 0xf7, - 0xd4, 0xc1, 0x2a, 0xd3, 0x54, 0x94, 0x60, 0x37, 0x04, 0x09, 0x6a, 0x1a, 0x55, 0x79, 0x1e, 0x6a, - 0x53, 0x19, 0x28, 0xf2, 0xfd, 0xd2, 0xd1, 0xef, 0xa7, 0xd4, 0xa0, 0x12, 0x4b, 0x37, 0xca, 0x25, - 0xb8, 0x38, 0x2f, 0x7b, 0x28, 0xc3, 0x40, 0x1e, 0xcb, 0x02, 0xe8, 0x55, 0x28, 0x05, 0xe9, 0x83, - 0xef, 0xc6, 0x59, 0x5f, 0xf9, 0xca, 0x6a, 0xa0, 0x4a, 0xb7, 0x21, 0x5d, 0xd6, 0x6c, 0x3d, 0x64, - 0xd8, 0x8b, 0x17, 0x75, 0xc7, 0xe9, 0xe8, 0xde, 0x50, 0xf9, 0x10, 0x1a, 0x49, 0xa9, 0x61, 0x6a, - 0x1a, 0xb9, 0x60, 0x19, 0x5e, 0x82, 0xc2, 0x91, 0xed, 0x8e, 0x75, 0xc2, 0xc0, 0x2a, 0xaa, 0x18, - 0xd1, 0xe5, 0xc9, 0xd3, 0x44, 0x96, 0x89, 0xf9, 0x40, 0xd1, 0xe0, 0xc9, 0xc4, 0xf4, 0x40, 0x4d, - 0x4c, 0xcb, 0xc0, 0xdc, 0x9f, 0x15, 0x95, 0x0f, 0x42, 0x20, 0xfe, 0xb2, 0x7c, 0x40, 0x1f, 0xeb, - 0xb1, 0xb9, 0x32, 0x7c, 0x49, 0x15, 0x23, 0x45, 0x83, 0x4b, 0xf3, 0x73, 0x04, 0xba, 0x0a, 0xc0, - 0xe3, 0xa9, 0xd8, 0x75, 0xd9, 0x1b, 0x2b, 0xaa, 0xc4, 0x24, 0xb7, 0xe9, 0xd6, 0x7b, 0x16, 0x6a, - 0xe1, 0x6d, 0xcd, 0x33, 0x1f, 0xf1, 0xa5, 0x91, 0x55, 0x2b, 0x81, 0xce, 0xa1, 0xf9, 0x08, 0x2b, - 0xbd, 0xc8, 0x03, 0x62, 0xb9, 0x21, 0xb2, 0xa1, 0xd2, 0xe7, 0xda, 0x50, 0x75, 0xc8, 0x92, 0x13, - 0xaf, 0x91, 0x61, 0x6f, 0x44, 0x2f, 0x95, 0xdf, 0x00, 0x94, 0x54, 0xec, 0x39, 0x34, 0xb0, 0xa1, - 0x26, 0x48, 0xf8, 0xa4, 0x8f, 0x39, 0xfb, 0x4c, 0x27, 0xb2, 0x37, 0xae, 0xdd, 0xf6, 0x35, 0x29, - 0x75, 0x0a, 0xcc, 0xd0, 0x2b, 0x82, 0x61, 0x27, 0x93, 0x65, 0x61, 0x1e, 0xa5, 0xd8, 0xaf, 0xf9, - 0x14, 0x3b, 0x9b, 0xc8, 0x96, 0xb8, 0xd5, 0x14, 0xc7, 0x7e, 0x45, 0x70, 0xec, 0xdc, 0x82, 0x87, - 0xc5, 0x48, 0x76, 0x2b, 0x46, 0xb2, 0xf3, 0x0b, 0xa6, 0x99, 0xc0, 0xb2, 0x5b, 0x31, 0x96, 0x5d, - 0x58, 0x00, 0x92, 0x40, 0xb3, 0x5f, 0xf3, 0x69, 0x76, 0x71, 0xc1, 0xb4, 0xa7, 0x78, 0xf6, 0x9d, - 0x38, 0xcf, 0xe6, 0x1c, 0xf9, 0x7a, 0xa2, 0x75, 0x22, 0xd1, 0xfe, 0x7e, 0x84, 0x68, 0x4b, 0x89, - 0x2c, 0x97, 0x83, 0xcc, 0x61, 0xda, 0xad, 0x18, 0xd3, 0x86, 0x05, 0x3e, 0x48, 0xa0, 0xda, 0x6f, - 0x47, 0xa9, 0x76, 0x39, 0x91, 0xad, 0x8b, 0x45, 0x33, 0x8f, 0x6b, 0xbf, 0x1e, 0x70, 0xed, 0x95, - 0xc4, 0x62, 0x41, 0xcc, 0x61, 0x9a, 0x6c, 0xef, 0xcf, 0x90, 0x6d, 0x4e, 0x8e, 0x9f, 0x4d, 0x84, - 0x58, 0xc0, 0xb6, 0xf7, 0x67, 0xd8, 0x76, 0x75, 0x01, 0xe0, 0x02, 0xba, 0xfd, 0xb3, 0xf9, 0x74, - 0x3b, 0x99, 0x10, 0x8b, 0xd7, 0x5c, 0x8e, 0x6f, 0x6b, 0x09, 0x7c, 0x9b, 0x73, 0xe2, 0x17, 0x12, - 0xe1, 0x97, 0x26, 0xdc, 0xf7, 0xe6, 0x10, 0x6e, 0x4e, 0x8d, 0x6f, 0x24, 0x82, 0x2f, 0xc1, 0xb8, - 0xef, 0xcd, 0x61, 0xdc, 0x68, 0x21, 0xec, 0xf2, 0x94, 0xfb, 0x79, 0xca, 0x6c, 0xa6, 0xc2, 0x1c, - 0xcd, 0x0e, 0xd8, 0x75, 0x6d, 0x57, 0xb0, 0x59, 0x3e, 0x50, 0x6e, 0x50, 0xae, 0x15, 0x86, 0xb4, - 0x33, 0xe8, 0x39, 0xcb, 0xc2, 0x91, 0x30, 0xa6, 0xfc, 0x21, 0x1d, 0xda, 0x32, 0x7a, 0x12, 0xe5, - 0x69, 0x92, 0xe0, 0x69, 0x11, 0xd6, 0x9e, 0x89, 0xb3, 0xf6, 0x75, 0x28, 0xd3, 0xec, 0x3a, 0x45, - 0xc8, 0x75, 0xc7, 0x27, 0xe4, 0xe8, 0x26, 0xac, 0x32, 0xfa, 0xc4, 0x93, 0x8d, 0x48, 0xa9, 0x39, - 0x96, 0x69, 0x6a, 0xf4, 0x06, 0xdf, 0x4a, 0x3c, 0xb7, 0xbe, 0x04, 0x17, 0x22, 0xba, 0x41, 0xd6, - 0xe6, 0x2c, 0xb4, 0x1e, 0x68, 0x6f, 0x8b, 0xf4, 0xfd, 0x5e, 0xe8, 0xa0, 0x90, 0xec, 0x23, 0xc8, - 0xf5, 0x6d, 0x03, 0x8b, 0x9c, 0xca, 0xae, 0x69, 0xc6, 0x19, 0xd9, 0x03, 0x91, 0x39, 0xe9, 0x25, - 0xd5, 0x0a, 0x62, 0xb6, 0xc4, 0x43, 0xb2, 0xf2, 0xe7, 0x74, 0x88, 0x17, 0xf2, 0xff, 0x79, 0x54, - 0x3d, 0xfd, 0xbf, 0xa1, 0xea, 0x99, 0x6f, 0x4c, 0xd5, 0xa3, 0x9c, 0x26, 0x1b, 0xe7, 0x34, 0xff, - 0x4a, 0x87, 0x5f, 0x38, 0x20, 0xde, 0xdf, 0xcc, 0x23, 0x21, 0x41, 0xc9, 0xb3, 0xef, 0x25, 0x08, - 0x8a, 0x28, 0xa7, 0x0a, 0xec, 0xb9, 0xf1, 0x72, 0xaa, 0xc8, 0x29, 0x0b, 0x1b, 0xa0, 0x5b, 0x20, - 0xb1, 0x9e, 0x9c, 0x66, 0x3b, 0x9e, 0x48, 0x0f, 0x4f, 0x45, 0xe7, 0xca, 0x5b, 0x6f, 0x1b, 0x07, - 0x54, 0x67, 0xdf, 0xf1, 0xd4, 0x92, 0x23, 0xae, 0x22, 0xdc, 0x4b, 0x8a, 0x95, 0x00, 0x57, 0x40, - 0xa2, 0x6f, 0xef, 0x39, 0x7a, 0x1f, 0xb3, 0x50, 0x2f, 0xa9, 0xa1, 0x40, 0x79, 0x00, 0x68, 0x36, - 0xd9, 0xa0, 0x0e, 0x14, 0xf0, 0x31, 0xb6, 0x88, 0xc7, 0x28, 0x50, 0x79, 0xeb, 0xd2, 0x1c, 0x7e, - 0x8d, 0x2d, 0xd2, 0x6c, 0x50, 0x27, 0xff, 0xf3, 0xab, 0xf5, 0x3a, 0xd7, 0x7e, 0xd1, 0x1e, 0x9b, - 0x04, 0x8f, 0x1d, 0x72, 0xaa, 0x0a, 0x7b, 0xe5, 0x17, 0x19, 0x4a, 0x76, 0x63, 0x89, 0x68, 0xae, - 0x6f, 0xfd, 0x0d, 0x94, 0x89, 0x14, 0x3a, 0xcb, 0xf9, 0x7b, 0x0d, 0x60, 0xa0, 0x7b, 0xda, 0x27, - 0xba, 0x45, 0xb0, 0x21, 0x9c, 0x1e, 0x91, 0x20, 0x19, 0x4a, 0x74, 0x34, 0xf1, 0xb0, 0x21, 0x6a, - 0xae, 0x60, 0x1c, 0x99, 0x67, 0xf1, 0xdb, 0xcd, 0x33, 0xee, 0xe5, 0xd2, 0xb4, 0x97, 0x7f, 0x95, - 0x09, 0x77, 0x49, 0x58, 0x17, 0xfc, 0xff, 0xf9, 0xe1, 0xd7, 0xac, 0x59, 0x10, 0x67, 0x04, 0xe8, - 0x10, 0x56, 0x83, 0x5d, 0xaa, 0x4d, 0xd8, 0xee, 0xf5, 0xd7, 0xdd, 0xb2, 0xdb, 0xbc, 0x7e, 0x1c, - 0x17, 0x7b, 0xe8, 0x47, 0x70, 0x79, 0x2a, 0x02, 0x05, 0xd0, 0x99, 0x25, 0x03, 0xd1, 0x13, 0xf1, - 0x40, 0xe4, 0x23, 0x87, 0xbe, 0xca, 0x7e, 0xcb, 0xbd, 0xb1, 0x43, 0xeb, 0xcf, 0x28, 0xbf, 0x99, - 0xfb, 0xf5, 0xaf, 0x43, 0xc5, 0xc5, 0x44, 0x37, 0x2d, 0x2d, 0x56, 0xe1, 0xaf, 0x70, 0xa1, 0xe8, - 0x1b, 0x1c, 0xc0, 0x13, 0x73, 0x79, 0x0e, 0xfa, 0x2e, 0x48, 0x21, 0x45, 0x4a, 0x27, 0x14, 0xcb, - 0x41, 0x01, 0x18, 0xea, 0x2a, 0x7f, 0x4a, 0x87, 0x90, 0xf1, 0x92, 0xb2, 0x0d, 0x05, 0x17, 0x7b, - 0x93, 0x11, 0x2f, 0xf2, 0xaa, 0x5b, 0x2f, 0x2d, 0xc7, 0x90, 0xa8, 0x74, 0x32, 0x22, 0xaa, 0x30, - 0x56, 0x1e, 0x40, 0x81, 0x4b, 0x50, 0x19, 0x8a, 0xf7, 0xf6, 0xee, 0xee, 0xed, 0xbf, 0xbf, 0x57, - 0x4f, 0x21, 0x80, 0xc2, 0x76, 0xab, 0xd5, 0x3e, 0xe8, 0xd6, 0xd3, 0x48, 0x82, 0xfc, 0x76, 0x73, - 0x5f, 0xed, 0xd6, 0x33, 0x54, 0xac, 0xb6, 0xdf, 0x6d, 0xb7, 0xba, 0xf5, 0x2c, 0x5a, 0x85, 0x0a, - 0xbf, 0xd6, 0xee, 0xec, 0xab, 0xef, 0x6d, 0x77, 0xeb, 0xb9, 0x88, 0xe8, 0xb0, 0xbd, 0x77, 0xbb, - 0xad, 0xd6, 0xf3, 0xca, 0xcb, 0xb4, 0x8a, 0x4c, 0xe0, 0x54, 0x61, 0xbd, 0x98, 0x8e, 0xd4, 0x8b, - 0xca, 0x6f, 0x33, 0x20, 0x27, 0x13, 0x25, 0xf4, 0xee, 0xd4, 0xc4, 0xb7, 0xce, 0xc1, 0xb2, 0xa6, - 0x66, 0x8f, 0x9e, 0x81, 0xaa, 0x8b, 0x8f, 0x30, 0xe9, 0x0f, 0x39, 0x71, 0xe3, 0x89, 0xad, 0xa2, - 0x56, 0x84, 0x94, 0x19, 0x79, 0x5c, 0xed, 0x23, 0xdc, 0x27, 0x1a, 0x2f, 0x5d, 0xf9, 0xa2, 0x93, - 0xa8, 0x1a, 0x95, 0x1e, 0x72, 0xa1, 0xf2, 0xe1, 0xb9, 0x7c, 0x29, 0x41, 0x5e, 0x6d, 0x77, 0xd5, - 0x1f, 0xd7, 0xb3, 0x08, 0x41, 0x95, 0x5d, 0x6a, 0x87, 0x7b, 0xdb, 0x07, 0x87, 0x9d, 0x7d, 0xea, - 0xcb, 0x0b, 0x50, 0xf3, 0x7d, 0xe9, 0x0b, 0xf3, 0xca, 0x2d, 0xb8, 0x9c, 0xc0, 0xf2, 0x16, 0xd4, - 0xcc, 0xca, 0xef, 0xd2, 0x51, 0xd3, 0x78, 0x35, 0xfc, 0xce, 0x94, 0x47, 0x37, 0x97, 0xe5, 0x80, - 0xd3, 0xee, 0x94, 0xa1, 0x84, 0x45, 0xc7, 0x47, 0xd4, 0xc8, 0xc1, 0x58, 0x79, 0x69, 0xb1, 0x73, - 0xc2, 0xd5, 0x95, 0x51, 0xfe, 0x93, 0x86, 0xda, 0x54, 0x28, 0x40, 0x5b, 0x90, 0xe7, 0x65, 0x4e, - 0xd2, 0xdf, 0x27, 0x16, 0xc9, 0x44, 0xdc, 0xe0, 0xaa, 0xe8, 0xcd, 0xd8, 0x2b, 0xcd, 0x84, 0x1c, - 0x5e, 0xeb, 0xfb, 0x6d, 0x2a, 0x61, 0x1a, 0x58, 0xa0, 0xb7, 0x40, 0x0a, 0x62, 0x9a, 0xa8, 0xad, - 0x9f, 0x9e, 0x35, 0x0f, 0xa2, 0xa1, 0xb0, 0x0f, 0x6d, 0xd0, 0xeb, 0x21, 0xfb, 0xcc, 0xcd, 0x16, - 0x57, 0xc2, 0x9c, 0x2b, 0x08, 0x63, 0x5f, 0x5f, 0x69, 0x41, 0x39, 0x32, 0x1f, 0xf4, 0x14, 0x48, - 0x63, 0xfd, 0x44, 0x34, 0x37, 0x79, 0x7b, 0xaa, 0x34, 0xd6, 0x4f, 0x78, 0x5f, 0xf3, 0x32, 0x14, - 0xe9, 0xcd, 0x81, 0xee, 0x89, 0x4e, 0x48, 0x61, 0xac, 0x9f, 0xbc, 0xa3, 0x7b, 0xca, 0x07, 0x50, - 0x8d, 0x37, 0xf6, 0xe8, 0x9e, 0x73, 0xed, 0x89, 0x65, 0x30, 0x8c, 0xbc, 0xca, 0x07, 0xe8, 0x55, - 0xc8, 0x1f, 0xdb, 0x3c, 0x2c, 0xcf, 0x0f, 0x4e, 0xf7, 0x6d, 0x82, 0x23, 0x8d, 0x41, 0xae, 0xad, - 0x3c, 0x82, 0x3c, 0x0b, 0xb3, 0x34, 0x64, 0xb2, 0x16, 0x9d, 0x60, 0xde, 0xf4, 0x1a, 0x7d, 0x00, - 0xa0, 0x13, 0xe2, 0x9a, 0xbd, 0x49, 0x08, 0xbc, 0x3e, 0x3f, 0x4c, 0x6f, 0xfb, 0x7a, 0xcd, 0x2b, - 0x22, 0x5e, 0x5f, 0x0c, 0x4d, 0x23, 0x31, 0x3b, 0x02, 0xa8, 0xec, 0x41, 0x35, 0x6e, 0x1b, 0x6d, - 0x96, 0xaf, 0xcc, 0x69, 0x96, 0x07, 0xec, 0x2e, 0xe0, 0x86, 0x59, 0xde, 0x8e, 0x65, 0x03, 0xe5, - 0xf7, 0x69, 0x28, 0x75, 0x4f, 0xc4, 0x1a, 0x4d, 0xe8, 0x04, 0x86, 0xa6, 0x99, 0x68, 0xdf, 0x8b, - 0xb7, 0x16, 0xb3, 0x41, 0xc3, 0xf2, 0xed, 0x60, 0x43, 0xe5, 0x96, 0x2d, 0xea, 0xfd, 0x46, 0x93, - 0xd8, 0x49, 0xd7, 0xa1, 0x62, 0xbb, 0xe6, 0xc0, 0xb4, 0xf4, 0x51, 0xb4, 0x90, 0x58, 0xf1, 0x85, - 0x8c, 0x2f, 0xbf, 0x01, 0x52, 0xb0, 0xf4, 0x68, 0x9d, 0xa3, 0x1b, 0x86, 0x8b, 0x3d, 0x4f, 0x38, - 0xc0, 0x1f, 0xb2, 0xee, 0xb3, 0xfd, 0x89, 0x68, 0xbf, 0x65, 0x55, 0x3e, 0x50, 0x0c, 0xa8, 0x4d, - 0x65, 0x71, 0xf4, 0x06, 0x14, 0x9d, 0x49, 0x4f, 0xf3, 0x7d, 0x38, 0xb5, 0xc3, 0x7c, 0xce, 0x3b, - 0xe9, 0x8d, 0xcc, 0xfe, 0x5d, 0x7c, 0xea, 0xbf, 0xb1, 0x33, 0xe9, 0xdd, 0xe5, 0xae, 0xe6, 0x4f, - 0xc9, 0x44, 0x9f, 0x72, 0x0c, 0x25, 0x7f, 0xe5, 0xa0, 0x1f, 0x44, 0x37, 0x93, 0xff, 0x4f, 0x22, - 0x91, 0x59, 0x08, 0xf8, 0xc8, 0x5e, 0xba, 0x09, 0xab, 0x9e, 0x39, 0xb0, 0xb0, 0xa1, 0x85, 0x95, - 0x16, 0x7b, 0x5a, 0x49, 0xad, 0xf1, 0x1b, 0xbb, 0x7e, 0x99, 0xa5, 0xfc, 0x3b, 0x0d, 0x25, 0x7f, - 0x57, 0xa3, 0x97, 0x23, 0x8b, 0xb3, 0x3a, 0xa7, 0xcb, 0xe5, 0x2b, 0x86, 0x0d, 0xe4, 0xf8, 0xbb, - 0x66, 0xce, 0xff, 0xae, 0x49, 0x7f, 0x02, 0xfc, 0x5f, 0x32, 0xb9, 0x73, 0xff, 0x92, 0x79, 0x11, - 0x10, 0xb1, 0x89, 0x3e, 0xd2, 0x8e, 0x6d, 0x62, 0x5a, 0x03, 0x8d, 0x3b, 0x9b, 0x13, 0xcc, 0x3a, - 0xbb, 0x73, 0x9f, 0xdd, 0x38, 0x60, 0x7e, 0xff, 0x79, 0x1a, 0x4a, 0x01, 0x55, 0x38, 0x6f, 0x3f, - 0xf8, 0x12, 0x14, 0x44, 0x36, 0xe4, 0x0d, 0x61, 0x31, 0x0a, 0x7e, 0x4d, 0xe4, 0x22, 0xbf, 0x26, - 0x64, 0x28, 0x8d, 0x31, 0xd1, 0x59, 0xd2, 0xe1, 0x6b, 0x34, 0x18, 0xdf, 0x7c, 0x1d, 0xca, 0x91, - 0xd6, 0x3c, 0xdd, 0x9e, 0x7b, 0xed, 0xf7, 0xeb, 0x29, 0xb9, 0xf8, 0xe9, 0xe7, 0xd7, 0xb2, 0x7b, - 0xf8, 0x13, 0xba, 0x66, 0xd5, 0x76, 0xab, 0xd3, 0x6e, 0xdd, 0xad, 0xa7, 0xe5, 0xf2, 0xa7, 0x9f, - 0x5f, 0x2b, 0xaa, 0x98, 0x35, 0xc7, 0x6e, 0x76, 0x60, 0x25, 0xfa, 0x55, 0xe2, 0x39, 0x03, 0x41, - 0xf5, 0xf6, 0xbd, 0x83, 0xdd, 0x9d, 0xd6, 0x76, 0xb7, 0xad, 0xdd, 0xdf, 0xef, 0xb6, 0xeb, 0x69, - 0x74, 0x19, 0x2e, 0xec, 0xee, 0xbc, 0xd3, 0xe9, 0x6a, 0xad, 0xdd, 0x9d, 0xf6, 0x5e, 0x57, 0xdb, - 0xee, 0x76, 0xb7, 0x5b, 0x77, 0xeb, 0x99, 0xad, 0xbf, 0x96, 0xa1, 0xb6, 0xdd, 0x6c, 0xed, 0x50, - 0x32, 0x60, 0xf6, 0x75, 0xd1, 0x7c, 0xcc, 0xb1, 0x5e, 0xc3, 0x99, 0xe7, 0x17, 0xe4, 0xb3, 0x7b, - 0xaf, 0xe8, 0x0e, 0xe4, 0x59, 0x1b, 0x02, 0x9d, 0x7d, 0xa0, 0x41, 0x5e, 0xd0, 0x8c, 0xa5, 0x2f, - 0xc3, 0xb6, 0xc7, 0x99, 0x27, 0x1c, 0xe4, 0xb3, 0x7b, 0xb3, 0x48, 0x05, 0x29, 0xec, 0x23, 0x2c, - 0x3e, 0xf1, 0x20, 0x2f, 0xd1, 0xaf, 0xa5, 0x98, 0x61, 0x95, 0xb4, 0xf8, 0x04, 0x80, 0xbc, 0x44, - 0x94, 0x43, 0xbb, 0x50, 0xf4, 0xeb, 0xcf, 0x45, 0x67, 0x12, 0xe4, 0x85, 0xbd, 0x54, 0xfa, 0x09, - 0x78, 0x9f, 0xe0, 0xec, 0x03, 0x16, 0xf2, 0x82, 0xc6, 0x30, 0xda, 0x81, 0x82, 0xa0, 0xfe, 0x0b, - 0xce, 0x19, 0xc8, 0x8b, 0x7a, 0xa3, 0xd4, 0x69, 0x61, 0x03, 0x66, 0xf1, 0xb1, 0x11, 0x79, 0x89, - 0x9e, 0x37, 0xba, 0x07, 0x10, 0xe9, 0x0a, 0x2c, 0x71, 0x1e, 0x44, 0x5e, 0xa6, 0x97, 0x8d, 0xf6, - 0xa1, 0x14, 0x54, 0x7f, 0x0b, 0x4f, 0x67, 0xc8, 0x8b, 0x9b, 0xca, 0xe8, 0x01, 0x54, 0xe2, 0x65, - 0xcf, 0x72, 0x67, 0x2e, 0xe4, 0x25, 0xbb, 0xc5, 0x14, 0x3f, 0x5e, 0x03, 0x2d, 0x77, 0x06, 0x43, - 0x5e, 0xb2, 0x79, 0x8c, 0x3e, 0x82, 0xd5, 0xd9, 0x1a, 0x65, 0xf9, 0x23, 0x19, 0xf2, 0x39, 0xda, - 0xc9, 0x68, 0x0c, 0x68, 0x4e, 0x6d, 0x73, 0x8e, 0x13, 0x1a, 0xf2, 0x79, 0xba, 0xcb, 0xc8, 0x80, - 0xda, 0x74, 0xc1, 0xb0, 0xec, 0x89, 0x0d, 0x79, 0xe9, 0x4e, 0x33, 0x7f, 0x4a, 0xbc, 0xb6, 0x58, - 0xf6, 0x04, 0x87, 0xbc, 0x74, 0xe3, 0xb9, 0xd9, 0xfe, 0xe2, 0xeb, 0xb5, 0xf4, 0x97, 0x5f, 0xaf, - 0xa5, 0xff, 0xf1, 0xf5, 0x5a, 0xfa, 0xb3, 0xc7, 0x6b, 0xa9, 0x2f, 0x1f, 0xaf, 0xa5, 0xfe, 0xf6, - 0x78, 0x2d, 0xf5, 0x93, 0x17, 0x06, 0x26, 0x19, 0x4e, 0x7a, 0x1b, 0x7d, 0x7b, 0xbc, 0x19, 0x3d, - 0x0a, 0x37, 0xef, 0x78, 0x5e, 0xaf, 0xc0, 0x92, 0xee, 0x2b, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, - 0x02, 0x09, 0x08, 0x34, 0xbe, 0x27, 0x00, 0x00, + // 2972 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x5a, 0x4b, 0x73, 0xe3, 0xc6, + 0xf1, 0xe7, 0xfb, 0xd1, 0x14, 0x1f, 0x9a, 0x5d, 0xef, 0xd2, 0xf0, 0x5a, 0x5a, 0x63, 0xcb, 0xaf, + 0xb5, 0x2d, 0xfd, 0x2d, 0xd7, 0xfa, 0x6f, 0xc7, 0x4e, 0x6c, 0x91, 0xcb, 0x35, 0xe5, 0x95, 0x25, + 0x05, 0xa2, 0xd6, 0x79, 0x79, 0xe1, 0x21, 0x31, 0x22, 0xe1, 0x25, 0x01, 0x18, 0x00, 0xb5, 0xd2, + 0x1e, 0xf3, 0xa8, 0x54, 0x39, 0x17, 0x57, 0xe5, 0x92, 0x8b, 0x3f, 0x42, 0x2a, 0xd7, 0x5c, 0x92, + 0x4b, 0x2e, 0xae, 0xca, 0x21, 0x3e, 0xe6, 0xe4, 0xa4, 0xec, 0x5b, 0xbe, 0x40, 0x4e, 0xa9, 0xa4, + 0xe6, 0x81, 0x17, 0x49, 0x88, 0x90, 0x9d, 0x5b, 0x6e, 0x98, 0x46, 0xf7, 0x0f, 0x98, 0xc6, 0x4c, + 0xf7, 0xaf, 0x1b, 0x03, 0x4f, 0xb8, 0xc4, 0xd0, 0x88, 0x3d, 0xd1, 0x0d, 0x77, 0x13, 0xf7, 0x07, + 0xfa, 0xa6, 0x7b, 0x66, 0x11, 0x67, 0xc3, 0xb2, 0x4d, 0xd7, 0x44, 0xf5, 0xe0, 0xe6, 0x06, 0xbd, + 0x29, 0x3d, 0x19, 0xd2, 0x1e, 0xd8, 0x67, 0x96, 0x6b, 0x6e, 0x5a, 0xb6, 0x69, 0x1e, 0x73, 0x7d, + 0xe9, 0x5a, 0xe8, 0x36, 0xc3, 0x09, 0xa3, 0x45, 0xee, 0x0a, 0xe3, 0x07, 0xe4, 0xcc, 0xbb, 0xfb, + 0xe4, 0x9c, 0xad, 0x85, 0x6d, 0x3c, 0xf1, 0x6e, 0xaf, 0x0f, 0x4d, 0x73, 0x38, 0x26, 0x9b, 0x6c, + 0xd4, 0x9f, 0x1e, 0x6f, 0xba, 0xfa, 0x84, 0x38, 0x2e, 0x9e, 0x58, 0x42, 0xe1, 0xf2, 0xd0, 0x1c, + 0x9a, 0xec, 0x72, 0x93, 0x5e, 0x71, 0xa9, 0xfc, 0x87, 0x32, 0x14, 0x15, 0xf2, 0xf1, 0x94, 0x38, + 0x2e, 0xda, 0x82, 0x1c, 0x19, 0x8c, 0xcc, 0x66, 0xfa, 0x7a, 0xfa, 0xb9, 0xca, 0xd6, 0xb5, 0x8d, + 0x99, 0xc9, 0x6d, 0x08, 0xbd, 0xce, 0x60, 0x64, 0x76, 0x53, 0x0a, 0xd3, 0x45, 0xb7, 0x20, 0x7f, + 0x3c, 0x9e, 0x3a, 0xa3, 0x66, 0x86, 0x19, 0x3d, 0x19, 0x67, 0x74, 0x87, 0x2a, 0x75, 0x53, 0x0a, + 0xd7, 0xa6, 0x8f, 0xd2, 0x8d, 0x63, 0xb3, 0x99, 0x3d, 0xff, 0x51, 0x3b, 0xc6, 0x31, 0x7b, 0x14, + 0xd5, 0x45, 0x2d, 0x00, 0x87, 0xb8, 0xaa, 0x69, 0xb9, 0xba, 0x69, 0x34, 0x73, 0xcc, 0xf2, 0xa9, + 0x38, 0xcb, 0x43, 0xe2, 0xee, 0x33, 0xc5, 0x6e, 0x4a, 0x29, 0x3b, 0xde, 0x80, 0x62, 0xe8, 0x86, + 0xee, 0xaa, 0x83, 0x11, 0xd6, 0x8d, 0x66, 0xfe, 0x7c, 0x8c, 0x1d, 0x43, 0x77, 0xdb, 0x54, 0x91, + 0x62, 0xe8, 0xde, 0x80, 0x4e, 0xf9, 0xe3, 0x29, 0xb1, 0xcf, 0x9a, 0x85, 0xf3, 0xa7, 0xfc, 0x7d, + 0xaa, 0x44, 0xa7, 0xcc, 0xb4, 0x51, 0x07, 0x2a, 0x7d, 0x32, 0xd4, 0x0d, 0xb5, 0x3f, 0x36, 0x07, + 0x0f, 0x9a, 0x45, 0x66, 0x2c, 0xc7, 0x19, 0xb7, 0xa8, 0x6a, 0x8b, 0x6a, 0x76, 0x53, 0x0a, 0xf4, + 0xfd, 0x11, 0x7a, 0x13, 0x4a, 0x83, 0x11, 0x19, 0x3c, 0x50, 0xdd, 0xd3, 0x66, 0x89, 0x61, 0xac, + 0xc7, 0x61, 0xb4, 0xa9, 0x5e, 0xef, 0xb4, 0x9b, 0x52, 0x8a, 0x03, 0x7e, 0x49, 0xe7, 0xaf, 0x91, + 0xb1, 0x7e, 0x42, 0x6c, 0x6a, 0x5f, 0x3e, 0x7f, 0xfe, 0xb7, 0xb9, 0x26, 0x43, 0x28, 0x6b, 0xde, + 0x00, 0xbd, 0x05, 0x65, 0x62, 0x68, 0x62, 0x1a, 0xc0, 0x20, 0xae, 0xc7, 0xae, 0x15, 0x43, 0xf3, + 0x26, 0x51, 0x22, 0xe2, 0x1a, 0xbd, 0x06, 0x85, 0x81, 0x39, 0x99, 0xe8, 0x6e, 0xb3, 0xc2, 0xac, + 0xd7, 0x62, 0x27, 0xc0, 0xb4, 0xba, 0x29, 0x45, 0xe8, 0xa3, 0x3d, 0xa8, 0x8d, 0x75, 0xc7, 0x55, + 0x1d, 0x03, 0x5b, 0xce, 0xc8, 0x74, 0x9d, 0xe6, 0x0a, 0x43, 0x78, 0x3a, 0x0e, 0x61, 0x57, 0x77, + 0xdc, 0x43, 0x4f, 0xb9, 0x9b, 0x52, 0xaa, 0xe3, 0xb0, 0x80, 0xe2, 0x99, 0xc7, 0xc7, 0xc4, 0xf6, + 0x01, 0x9b, 0xd5, 0xf3, 0xf1, 0xf6, 0xa9, 0xb6, 0x67, 0x4f, 0xf1, 0xcc, 0xb0, 0x00, 0xfd, 0x18, + 0x2e, 0x8d, 0x4d, 0xac, 0xf9, 0x70, 0xea, 0x60, 0x34, 0x35, 0x1e, 0x34, 0x6b, 0x0c, 0xf4, 0xf9, + 0xd8, 0x97, 0x34, 0xb1, 0xe6, 0x41, 0xb4, 0xa9, 0x41, 0x37, 0xa5, 0xac, 0x8e, 0x67, 0x85, 0xe8, + 0x3e, 0x5c, 0xc6, 0x96, 0x35, 0x3e, 0x9b, 0x45, 0xaf, 0x33, 0xf4, 0x9b, 0x71, 0xe8, 0xdb, 0xd4, + 0x66, 0x16, 0x1e, 0xe1, 0x39, 0x29, 0xea, 0x41, 0xc3, 0xb2, 0x89, 0x85, 0x6d, 0xa2, 0x5a, 0xb6, + 0x69, 0x99, 0x0e, 0x1e, 0x37, 0x1b, 0x0c, 0xfb, 0xd9, 0x38, 0xec, 0x03, 0xae, 0x7f, 0x20, 0xd4, + 0xbb, 0x29, 0xa5, 0x6e, 0x45, 0x45, 0x1c, 0xd5, 0x1c, 0x10, 0xc7, 0x09, 0x50, 0x57, 0x97, 0xa1, + 0x32, 0xfd, 0x28, 0x6a, 0x44, 0xd4, 0x2a, 0x42, 0xfe, 0x04, 0x8f, 0xa7, 0x44, 0x7e, 0x16, 0x2a, + 0xa1, 0xb0, 0x84, 0x9a, 0x50, 0x9c, 0x10, 0xc7, 0xc1, 0x43, 0xc2, 0xa2, 0x58, 0x59, 0xf1, 0x86, + 0x72, 0x0d, 0x56, 0xc2, 0xa1, 0x48, 0x9e, 0xf8, 0x86, 0x34, 0xc8, 0x50, 0xc3, 0x13, 0x62, 0x3b, + 0x34, 0xb2, 0x08, 0x43, 0x31, 0x44, 0x37, 0xa0, 0xca, 0x96, 0xba, 0xea, 0xdd, 0xa7, 0x91, 0x2e, + 0xa7, 0xac, 0x30, 0xe1, 0x3d, 0xa1, 0xb4, 0x0e, 0x15, 0x6b, 0xcb, 0xf2, 0x55, 0xb2, 0x4c, 0x05, + 0xac, 0x2d, 0x4b, 0x28, 0xc8, 0xdf, 0x81, 0xc6, 0x6c, 0x64, 0x42, 0x0d, 0xc8, 0x3e, 0x20, 0x67, + 0xe2, 0x79, 0xf4, 0x12, 0x5d, 0x16, 0xd3, 0x62, 0xcf, 0x28, 0x2b, 0x62, 0x8e, 0x7f, 0xce, 0xf8, + 0xc6, 0x7e, 0x48, 0x42, 0xaf, 0x41, 0x8e, 0x46, 0x78, 0x11, 0xac, 0xa5, 0x0d, 0x1e, 0xfe, 0x37, + 0xbc, 0xf0, 0xbf, 0xd1, 0xf3, 0xc2, 0x7f, 0xab, 0xf4, 0xf9, 0x97, 0xeb, 0xa9, 0x4f, 0xff, 0xb6, + 0x9e, 0x56, 0x98, 0x05, 0x7a, 0x9c, 0x46, 0x10, 0xac, 0x1b, 0xaa, 0xae, 0x89, 0xe7, 0x14, 0xd9, + 0x78, 0x47, 0x43, 0x77, 0xa1, 0x31, 0x30, 0x0d, 0x87, 0x18, 0xce, 0xd4, 0x51, 0x79, 0x7a, 0x11, + 0x21, 0x7a, 0x7e, 0x87, 0xb7, 0x3d, 0xc5, 0x03, 0xa6, 0xa7, 0xd4, 0x07, 0x51, 0x01, 0xba, 0x03, + 0x70, 0x82, 0xc7, 0xba, 0x86, 0x5d, 0xd3, 0x76, 0x9a, 0xb9, 0xeb, 0xd9, 0x85, 0x30, 0xf7, 0x3c, + 0x95, 0x23, 0x4b, 0xc3, 0x2e, 0x69, 0xe5, 0xe8, 0xdb, 0x2a, 0x21, 0x4b, 0xf4, 0x0c, 0xd4, 0xb1, + 0x65, 0xa9, 0x8e, 0x8b, 0x5d, 0xa2, 0xf6, 0xcf, 0x5c, 0xe2, 0xb0, 0xc0, 0xbd, 0xa2, 0x54, 0xb1, + 0x65, 0x1d, 0x52, 0x69, 0x8b, 0x0a, 0xd1, 0xd3, 0x50, 0xa3, 0x41, 0x5a, 0xc7, 0x63, 0x75, 0x44, + 0xf4, 0xe1, 0xc8, 0x65, 0x01, 0x3a, 0xab, 0x54, 0x85, 0xb4, 0xcb, 0x84, 0xb2, 0xe6, 0x2f, 0x04, + 0x16, 0xa0, 0x11, 0x82, 0x9c, 0x86, 0x5d, 0xcc, 0x1c, 0xb9, 0xa2, 0xb0, 0x6b, 0x2a, 0xb3, 0xb0, + 0x3b, 0x12, 0xee, 0x61, 0xd7, 0xe8, 0x0a, 0x14, 0x04, 0x6c, 0x96, 0xc1, 0x8a, 0x11, 0xfd, 0x66, + 0x96, 0x6d, 0x9e, 0x10, 0x96, 0x91, 0x4a, 0x0a, 0x1f, 0xc8, 0x3f, 0xcf, 0xc0, 0xea, 0x5c, 0x28, + 0xa7, 0xb8, 0x23, 0xec, 0x8c, 0xbc, 0x67, 0xd1, 0x6b, 0xf4, 0x2a, 0xc5, 0xc5, 0x1a, 0xb1, 0x45, + 0x0a, 0x6d, 0x86, 0x5d, 0xc4, 0xe9, 0x41, 0x97, 0xdd, 0x17, 0xae, 0x11, 0xda, 0x68, 0x1f, 0x1a, + 0x63, 0xec, 0xb8, 0x2a, 0x0f, 0x8d, 0x6a, 0x28, 0x9d, 0xce, 0x27, 0x84, 0x5d, 0xec, 0x05, 0x53, + 0xba, 0xd8, 0x05, 0x50, 0x6d, 0x1c, 0x91, 0x22, 0x05, 0x2e, 0xf7, 0xcf, 0x1e, 0x61, 0xc3, 0xd5, + 0x0d, 0xa2, 0xce, 0x7d, 0xb9, 0xc7, 0xe7, 0x40, 0x3b, 0x27, 0xba, 0x46, 0x8c, 0x81, 0xf7, 0xc9, + 0x2e, 0xf9, 0xc6, 0xfe, 0x27, 0x75, 0x64, 0x05, 0x6a, 0xd1, 0x64, 0x84, 0x6a, 0x90, 0x71, 0x4f, + 0x85, 0x03, 0x32, 0xee, 0x29, 0xfa, 0x3f, 0xc8, 0xd1, 0x49, 0xb2, 0xc9, 0xd7, 0x16, 0x30, 0x01, + 0x61, 0xd7, 0x3b, 0xb3, 0x88, 0xc2, 0x34, 0x65, 0xd9, 0xdf, 0x0d, 0x7e, 0x82, 0x9a, 0x45, 0x95, + 0x9f, 0x87, 0xfa, 0x4c, 0x06, 0x0a, 0x7d, 0xbf, 0x74, 0xf8, 0xfb, 0xc9, 0x75, 0xa8, 0x46, 0xd2, + 0x8d, 0x7c, 0x05, 0x2e, 0x2f, 0xca, 0x1e, 0xf2, 0xc8, 0x97, 0x47, 0xb2, 0x00, 0xba, 0x05, 0x25, + 0x3f, 0x7d, 0xf0, 0xdd, 0x38, 0xef, 0x2b, 0x4f, 0x59, 0xf1, 0x55, 0xe9, 0x36, 0xa4, 0xcb, 0x9a, + 0xad, 0x87, 0x0c, 0x7b, 0xf1, 0x22, 0xb6, 0xac, 0x2e, 0x76, 0x46, 0xf2, 0x87, 0xd0, 0x8c, 0x4b, + 0x0d, 0x33, 0xd3, 0xc8, 0xf9, 0xcb, 0xf0, 0x0a, 0x14, 0x8e, 0x4d, 0x7b, 0x82, 0x5d, 0x06, 0x56, + 0x55, 0xc4, 0x88, 0x2e, 0x4f, 0x9e, 0x26, 0xb2, 0x4c, 0xcc, 0x07, 0xb2, 0x0a, 0x8f, 0xc7, 0xa6, + 0x07, 0x6a, 0xa2, 0x1b, 0x1a, 0xe1, 0xfe, 0xac, 0x2a, 0x7c, 0x10, 0x00, 0xf1, 0x97, 0xe5, 0x03, + 0xfa, 0x58, 0x87, 0xcd, 0x95, 0xe1, 0x97, 0x15, 0x31, 0x92, 0x1f, 0xc2, 0x95, 0xc5, 0x39, 0x02, + 0xdd, 0x02, 0xe0, 0xf1, 0xd4, 0xdf, 0x75, 0x95, 0xad, 0x2b, 0xf3, 0x6b, 0xfe, 0x36, 0x76, 0xb1, + 0x52, 0x66, 0x9a, 0xf4, 0x92, 0x46, 0x81, 0xc0, 0x4c, 0x75, 0xf4, 0x47, 0x7c, 0xc9, 0x64, 0x95, + 0xaa, 0xaf, 0x73, 0xa8, 0x3f, 0x22, 0xf2, 0x2f, 0xd3, 0xa1, 0x27, 0x47, 0x92, 0x46, 0x68, 0xa7, + 0xa5, 0x2f, 0xb4, 0xd3, 0xa2, 0x6f, 0x9c, 0x49, 0xf8, 0xc6, 0xf2, 0xaf, 0x01, 0x4a, 0x0a, 0x71, + 0x2c, 0x1a, 0x16, 0x51, 0x0b, 0xca, 0xe4, 0x74, 0x40, 0x38, 0x77, 0x4d, 0xc7, 0x72, 0x3f, 0xae, + 0xdd, 0xf1, 0x34, 0x29, 0xf1, 0xf2, 0xcd, 0xd0, 0x2b, 0x82, 0x9f, 0xc7, 0x53, 0x6d, 0x61, 0x1e, + 0x26, 0xe8, 0xaf, 0x7a, 0x04, 0x3d, 0x1b, 0xcb, 0xb5, 0xb8, 0xd5, 0x0c, 0x43, 0x7f, 0x45, 0x30, + 0xf4, 0xdc, 0x92, 0x87, 0x45, 0x28, 0x7a, 0x3b, 0x42, 0xd1, 0xf3, 0x4b, 0xa6, 0x19, 0xc3, 0xd1, + 0xdb, 0x11, 0x8e, 0x5e, 0x58, 0x02, 0x12, 0x43, 0xd2, 0x5f, 0xf5, 0x48, 0x7a, 0x71, 0xc9, 0xb4, + 0x67, 0x58, 0xfa, 0x9d, 0x28, 0x4b, 0xe7, 0x0c, 0xfb, 0x46, 0xac, 0x75, 0x2c, 0x4d, 0xff, 0x6e, + 0x88, 0xa6, 0x97, 0x63, 0x39, 0x32, 0x07, 0x59, 0xc0, 0xd3, 0xdb, 0x11, 0x9e, 0x0e, 0x4b, 0x7c, + 0x10, 0x43, 0xd4, 0xdf, 0x0e, 0x13, 0xf5, 0x4a, 0x2c, 0xd7, 0x17, 0x8b, 0x66, 0x11, 0x53, 0x7f, + 0xdd, 0x67, 0xea, 0x2b, 0xb1, 0xa5, 0x86, 0x98, 0xc3, 0x2c, 0x55, 0xdf, 0x9f, 0xa3, 0xea, 0x9c, + 0x5a, 0x3f, 0x13, 0x0b, 0xb1, 0x84, 0xab, 0xef, 0xcf, 0x71, 0xf5, 0xda, 0x12, 0xc0, 0x25, 0x64, + 0xfd, 0x27, 0x8b, 0xc9, 0x7a, 0x3c, 0x9d, 0x16, 0xaf, 0x99, 0x8c, 0xad, 0xab, 0x31, 0x6c, 0x9d, + 0x33, 0xea, 0x17, 0x62, 0xe1, 0x13, 0xd3, 0xf5, 0xa3, 0x05, 0x74, 0x9d, 0x13, 0xeb, 0xe7, 0x62, + 0xc1, 0x13, 0xf0, 0xf5, 0xa3, 0x05, 0x7c, 0x1d, 0x2d, 0x85, 0x4d, 0x4e, 0xd8, 0x9f, 0xa7, 0xbc, + 0x68, 0x26, 0xcc, 0xd1, 0xdc, 0x42, 0x6c, 0xdb, 0xb4, 0x05, 0x17, 0xe6, 0x03, 0xf9, 0x39, 0xca, + 0xd4, 0x82, 0x90, 0x76, 0x0e, 0xb9, 0x67, 0x39, 0x3c, 0x14, 0xc6, 0xe4, 0xdf, 0xa7, 0x03, 0x5b, + 0x46, 0x6e, 0xc2, 0x2c, 0xaf, 0x2c, 0x58, 0x5e, 0x88, 0xf3, 0x67, 0xa2, 0x9c, 0x7f, 0x1d, 0x2a, + 0x34, 0x37, 0xcf, 0xd0, 0x79, 0x6c, 0x79, 0x74, 0x1e, 0xdd, 0x84, 0x55, 0x46, 0xbe, 0x78, 0x5e, + 0x10, 0x09, 0x39, 0xc7, 0xf2, 0x51, 0x9d, 0xde, 0xe0, 0x5b, 0x89, 0x67, 0xe6, 0x97, 0xe0, 0x52, + 0x48, 0xd7, 0xcf, 0xf9, 0x9c, 0xc3, 0x36, 0x7c, 0xed, 0x6d, 0x91, 0xfc, 0xdf, 0x0b, 0x1c, 0x14, + 0x94, 0x0a, 0x08, 0x72, 0x03, 0x53, 0x23, 0x22, 0x23, 0xb3, 0x6b, 0x5a, 0x3e, 0x8c, 0xcd, 0xa1, + 0xc8, 0xbb, 0xf4, 0x92, 0x6a, 0xf9, 0x31, 0xbb, 0xcc, 0x43, 0xb2, 0xfc, 0xa7, 0x74, 0x80, 0x17, + 0x54, 0x0f, 0x8b, 0x88, 0x7e, 0xfa, 0xbf, 0x43, 0xf4, 0x33, 0xdf, 0x98, 0xe8, 0x87, 0x19, 0x51, + 0x36, 0xca, 0x88, 0xfe, 0x99, 0x0e, 0xbe, 0xb0, 0x4f, 0xdb, 0xbf, 0x99, 0x47, 0x02, 0x7a, 0x93, + 0x67, 0xdf, 0x4b, 0xd0, 0x1b, 0x51, 0x8c, 0x15, 0xd8, 0x73, 0xa3, 0xc5, 0x58, 0x91, 0x13, 0x1e, + 0x36, 0x40, 0xaf, 0x41, 0x99, 0x75, 0xf4, 0x54, 0xd3, 0x72, 0x44, 0x7a, 0x78, 0x22, 0x3c, 0x57, + 0xde, 0xb8, 0xdb, 0x38, 0xa0, 0x3a, 0xfb, 0x96, 0xa3, 0x94, 0x2c, 0x71, 0x15, 0x62, 0x6e, 0xe5, + 0x48, 0x01, 0x71, 0x0d, 0xca, 0xf4, 0xed, 0x1d, 0x0b, 0x0f, 0x08, 0x0b, 0xf5, 0x65, 0x25, 0x10, + 0xc8, 0xf7, 0x01, 0xcd, 0x27, 0x1b, 0xd4, 0x85, 0x02, 0x39, 0x21, 0x86, 0x4b, 0xbf, 0x5a, 0x76, + 0x96, 0x8e, 0x08, 0x76, 0x4e, 0x0c, 0xb7, 0xd5, 0xa4, 0x4e, 0xfe, 0xc7, 0x97, 0xeb, 0x0d, 0xae, + 0xfd, 0xa2, 0x39, 0xd1, 0x5d, 0x32, 0xb1, 0xdc, 0x33, 0x45, 0xd8, 0xcb, 0x3f, 0xcb, 0x50, 0xaa, + 0x1c, 0x49, 0x44, 0x0b, 0x7d, 0xeb, 0x6d, 0xa0, 0x4c, 0xa8, 0x4c, 0x4a, 0xe6, 0xef, 0x35, 0x80, + 0x21, 0x76, 0xd4, 0x87, 0xd8, 0x70, 0x89, 0x26, 0x9c, 0x1e, 0x92, 0x20, 0x09, 0x4a, 0x74, 0x34, + 0x75, 0x88, 0x26, 0x2a, 0x36, 0x7f, 0x1c, 0x9a, 0x67, 0xf1, 0xdb, 0xcd, 0x33, 0xea, 0xe5, 0xd2, + 0xac, 0x97, 0x7f, 0x91, 0x09, 0x76, 0x49, 0x50, 0x55, 0xfc, 0xef, 0xf9, 0xe1, 0x57, 0xac, 0xd5, + 0x10, 0x65, 0x04, 0xe8, 0x10, 0x56, 0xfd, 0x5d, 0xaa, 0x4e, 0xd9, 0xee, 0xf5, 0xd6, 0x5d, 0xd2, + 0x6d, 0xde, 0x38, 0x89, 0x8a, 0x1d, 0xf4, 0x03, 0xb8, 0x3a, 0x13, 0x81, 0x7c, 0xe8, 0x4c, 0xc2, + 0x40, 0xf4, 0x58, 0x34, 0x10, 0x79, 0xc8, 0x81, 0xaf, 0xb2, 0xdf, 0x72, 0x6f, 0xec, 0xd0, 0xea, + 0x35, 0xcc, 0x6f, 0x16, 0x7e, 0xfd, 0x1b, 0x50, 0xb5, 0x89, 0x8b, 0x75, 0x43, 0x8d, 0xf4, 0x07, + 0x56, 0xb8, 0x50, 0x74, 0x1d, 0x0e, 0xe0, 0xb1, 0x85, 0x3c, 0x07, 0xfd, 0x3f, 0x94, 0x03, 0x8a, + 0x94, 0x8e, 0x29, 0xb5, 0xfd, 0xf2, 0x31, 0xd0, 0x95, 0xff, 0x98, 0x0e, 0x20, 0xa3, 0x05, 0x69, + 0x07, 0x0a, 0x36, 0x71, 0xa6, 0x63, 0x5e, 0x22, 0xd6, 0xb6, 0x5e, 0x4a, 0xc6, 0x90, 0xa8, 0x74, + 0x3a, 0x76, 0x15, 0x61, 0x2c, 0xdf, 0x87, 0x02, 0x97, 0xa0, 0x0a, 0x14, 0x8f, 0xf6, 0xee, 0xee, + 0xed, 0xbf, 0xbf, 0xd7, 0x48, 0x21, 0x80, 0xc2, 0x76, 0xbb, 0xdd, 0x39, 0xe8, 0x35, 0xd2, 0xa8, + 0x0c, 0xf9, 0xed, 0xd6, 0xbe, 0xd2, 0x6b, 0x64, 0xa8, 0x58, 0xe9, 0xbc, 0xdb, 0x69, 0xf7, 0x1a, + 0x59, 0xb4, 0x0a, 0x55, 0x7e, 0xad, 0xde, 0xd9, 0x57, 0xde, 0xdb, 0xee, 0x35, 0x72, 0x21, 0xd1, + 0x61, 0x67, 0xef, 0x76, 0x47, 0x69, 0xe4, 0xe5, 0x97, 0x69, 0x0d, 0x1a, 0xc3, 0xa9, 0x82, 0x6a, + 0x33, 0x1d, 0xaa, 0x36, 0xe5, 0xdf, 0x64, 0x40, 0x8a, 0x27, 0x4a, 0xe8, 0xdd, 0x99, 0x89, 0x6f, + 0x5d, 0x80, 0x65, 0xcd, 0xcc, 0x1e, 0x3d, 0x0d, 0x35, 0x9b, 0x1c, 0x13, 0x77, 0x30, 0xe2, 0xc4, + 0x8d, 0x27, 0xb6, 0xaa, 0x52, 0x15, 0x52, 0x66, 0xe4, 0x70, 0xb5, 0x8f, 0xc8, 0xc0, 0x55, 0x79, + 0xe1, 0xcb, 0x17, 0x5d, 0x99, 0xaa, 0x51, 0xe9, 0x21, 0x17, 0xca, 0x1f, 0x5e, 0xc8, 0x97, 0x65, + 0xc8, 0x2b, 0x9d, 0x9e, 0xf2, 0xc3, 0x46, 0x16, 0x21, 0xa8, 0xb1, 0x4b, 0xf5, 0x70, 0x6f, 0xfb, + 0xe0, 0xb0, 0xbb, 0x4f, 0x7d, 0x79, 0x09, 0xea, 0x9e, 0x2f, 0x3d, 0x61, 0x5e, 0x3e, 0x80, 0xab, + 0x31, 0x2c, 0xef, 0x1b, 0x56, 0xdc, 0xf2, 0x6f, 0xd3, 0x61, 0xc8, 0x68, 0x29, 0xfd, 0xce, 0x8c, + 0xa7, 0x37, 0x93, 0x72, 0xc3, 0x59, 0x37, 0x4b, 0x50, 0x22, 0xa2, 0x8f, 0xc4, 0x1c, 0xbc, 0xa2, + 0xf8, 0x63, 0xf9, 0xa5, 0xe5, 0x4e, 0x0b, 0x56, 0x5d, 0x46, 0xfe, 0x77, 0x1a, 0xea, 0x33, 0x21, + 0x02, 0x6d, 0x41, 0x9e, 0x97, 0x3f, 0x71, 0xff, 0xb4, 0x58, 0x84, 0x13, 0xf1, 0x84, 0xab, 0xa2, + 0x37, 0x23, 0xaf, 0x34, 0x17, 0x8a, 0xb8, 0xb3, 0xbc, 0xe6, 0x97, 0x30, 0xf5, 0x2d, 0xd0, 0x5b, + 0x50, 0xf6, 0x63, 0x9d, 0xa8, 0xb9, 0x9f, 0x9a, 0x37, 0xf7, 0xa3, 0xa4, 0xb0, 0x0f, 0x6c, 0xd0, + 0xeb, 0x01, 0x2b, 0xcd, 0xcd, 0x17, 0x5d, 0xc2, 0x9c, 0x2b, 0x08, 0x63, 0x4f, 0x5f, 0x6e, 0x43, + 0x25, 0x34, 0x1f, 0xf4, 0x04, 0x94, 0x27, 0xf8, 0x54, 0xb4, 0x4c, 0x79, 0xd3, 0xab, 0x34, 0xc1, + 0xa7, 0xbc, 0x5b, 0x7a, 0x15, 0x8a, 0xf4, 0xe6, 0x10, 0x3b, 0xa2, 0x8f, 0x52, 0x98, 0xe0, 0xd3, + 0x77, 0xb0, 0x23, 0x7f, 0x00, 0xb5, 0x68, 0xbb, 0x90, 0xee, 0x45, 0xdb, 0x9c, 0x1a, 0x1a, 0xc3, + 0xc8, 0x2b, 0x7c, 0x80, 0x6e, 0x41, 0xfe, 0xc4, 0xe4, 0xe1, 0x7a, 0x71, 0xd0, 0xba, 0x67, 0xba, + 0x24, 0xd4, 0x6e, 0xe4, 0xda, 0xf2, 0x23, 0xc8, 0xb3, 0xf0, 0x4b, 0x43, 0x29, 0x6b, 0xfc, 0x09, + 0x46, 0x4e, 0xaf, 0xd1, 0x07, 0x00, 0xd8, 0x75, 0x6d, 0xbd, 0x3f, 0x0d, 0x80, 0xd7, 0x17, 0x87, + 0xef, 0x6d, 0x4f, 0xaf, 0x75, 0x4d, 0xc4, 0xf1, 0xcb, 0x81, 0x69, 0x28, 0x96, 0x87, 0x00, 0xe5, + 0x3d, 0xa8, 0x45, 0x6d, 0xc3, 0x2d, 0xf8, 0x95, 0x05, 0x2d, 0x78, 0x9f, 0xf5, 0xf9, 0x9c, 0x31, + 0xcb, 0x9b, 0xbc, 0x6c, 0x20, 0xff, 0x2e, 0x0d, 0xa5, 0xde, 0xa9, 0x58, 0xa3, 0x31, 0xfd, 0xc5, + 0xc0, 0x34, 0x13, 0xee, 0xa6, 0xf1, 0x86, 0x65, 0xd6, 0x6f, 0x83, 0xbe, 0xed, 0x6f, 0xa8, 0x5c, + 0xd2, 0x62, 0xdf, 0xeb, 0x52, 0x89, 0x9d, 0x74, 0x03, 0xaa, 0xa6, 0xad, 0x0f, 0x75, 0x03, 0x8f, + 0xc3, 0x05, 0xc6, 0x8a, 0x27, 0x64, 0x3c, 0xfa, 0x0d, 0x28, 0xfb, 0x4b, 0x8f, 0xd6, 0x3f, 0x58, + 0xd3, 0x6c, 0xe2, 0x38, 0xc2, 0x01, 0xde, 0x90, 0xf5, 0xb4, 0xcd, 0x87, 0xa2, 0xa9, 0x97, 0x55, + 0xf8, 0x40, 0xd6, 0xa0, 0x3e, 0x93, 0xdd, 0xd1, 0x1b, 0x50, 0xb4, 0xa6, 0x7d, 0xd5, 0xf3, 0xe1, + 0xcc, 0x0e, 0xf3, 0xb8, 0xf0, 0xb4, 0x3f, 0xd6, 0x07, 0x77, 0xc9, 0x99, 0xf7, 0xc6, 0xd6, 0xb4, + 0x7f, 0x97, 0xbb, 0x9a, 0x3f, 0x25, 0x13, 0x7e, 0xca, 0x09, 0x94, 0xbc, 0x95, 0x83, 0xbe, 0x17, + 0xde, 0x4c, 0xde, 0x9f, 0x8e, 0x58, 0xc6, 0x21, 0xe0, 0x43, 0x7b, 0xe9, 0x26, 0xac, 0x3a, 0xfa, + 0xd0, 0x20, 0x9a, 0x1a, 0x54, 0x60, 0xec, 0x69, 0x25, 0xa5, 0xce, 0x6f, 0xec, 0x7a, 0xe5, 0x97, + 0xfc, 0xaf, 0x34, 0x94, 0xbc, 0x5d, 0x8d, 0x5e, 0x0e, 0x2d, 0xce, 0xda, 0x82, 0xee, 0x97, 0xa7, + 0x18, 0xb4, 0xa5, 0xa3, 0xef, 0x9a, 0xb9, 0xf8, 0xbb, 0xc6, 0xfd, 0x5f, 0xf0, 0x7e, 0xf4, 0xe4, + 0x2e, 0xfc, 0xa3, 0xe7, 0x45, 0x40, 0xae, 0xe9, 0xe2, 0xb1, 0x7a, 0x62, 0xba, 0xba, 0x31, 0x54, + 0xb9, 0xb3, 0x39, 0xf1, 0x6c, 0xb0, 0x3b, 0xf7, 0xd8, 0x8d, 0x03, 0xe6, 0xf7, 0x9f, 0xa6, 0xa1, + 0xe4, 0x53, 0x88, 0x8b, 0x76, 0x99, 0xaf, 0x40, 0x41, 0x64, 0x49, 0xde, 0x66, 0x16, 0x23, 0xff, + 0x87, 0x47, 0x2e, 0xf4, 0xc3, 0x43, 0x82, 0xd2, 0x84, 0xb8, 0x98, 0x25, 0x23, 0xbe, 0x46, 0xfd, + 0xf1, 0xcd, 0xd7, 0xa1, 0x12, 0x6a, 0xf8, 0xd3, 0xed, 0xb9, 0xd7, 0x79, 0xbf, 0x91, 0x92, 0x8a, + 0x9f, 0x7c, 0x76, 0x3d, 0xbb, 0x47, 0x1e, 0xd2, 0x35, 0xab, 0x74, 0xda, 0xdd, 0x4e, 0xfb, 0x6e, + 0x23, 0x2d, 0x55, 0x3e, 0xf9, 0xec, 0x7a, 0x51, 0x21, 0xac, 0x69, 0x76, 0xb3, 0x0b, 0x2b, 0xe1, + 0xaf, 0x12, 0xcd, 0x19, 0x08, 0x6a, 0xb7, 0x8f, 0x0e, 0x76, 0x77, 0xda, 0xdb, 0xbd, 0x8e, 0x7a, + 0x6f, 0xbf, 0xd7, 0x69, 0xa4, 0xd1, 0x55, 0xb8, 0xb4, 0xbb, 0xf3, 0x4e, 0xb7, 0xa7, 0xb6, 0x77, + 0x77, 0x3a, 0x7b, 0x3d, 0x75, 0xbb, 0xd7, 0xdb, 0x6e, 0xdf, 0x6d, 0x64, 0xb6, 0xfe, 0x52, 0x81, + 0xfa, 0x76, 0xab, 0xbd, 0x43, 0x49, 0x82, 0x3e, 0xc0, 0xa2, 0x29, 0x99, 0x63, 0x3d, 0x88, 0x73, + 0x4f, 0x45, 0x48, 0xe7, 0xf7, 0x64, 0xd1, 0x1d, 0xc8, 0xb3, 0xf6, 0x04, 0x3a, 0xff, 0x98, 0x84, + 0xb4, 0xa4, 0x49, 0x4b, 0x5f, 0x86, 0x6d, 0x8f, 0x73, 0xcf, 0x4d, 0x48, 0xe7, 0xf7, 0x6c, 0x91, + 0x02, 0xe5, 0xa0, 0xbf, 0xb0, 0xfc, 0x1c, 0x85, 0x94, 0xa0, 0x8f, 0x4b, 0x31, 0x83, 0xea, 0x69, + 0xf9, 0xb9, 0x02, 0x29, 0x41, 0x94, 0x43, 0xbb, 0x50, 0xf4, 0xea, 0xd2, 0x65, 0x27, 0x1d, 0xa4, + 0xa5, 0x3d, 0x56, 0xfa, 0x09, 0x78, 0xff, 0xe0, 0xfc, 0x63, 0x1b, 0xd2, 0x92, 0x86, 0x31, 0xda, + 0x81, 0x82, 0x28, 0x09, 0x96, 0x9c, 0x5e, 0x90, 0x96, 0xf5, 0x4c, 0xa9, 0xd3, 0x82, 0xc6, 0xcc, + 0xf2, 0xc3, 0x28, 0x52, 0x82, 0x5e, 0x38, 0x3a, 0x02, 0x08, 0x75, 0x0b, 0x12, 0x9c, 0x32, 0x91, + 0x92, 0xf4, 0xb8, 0xd1, 0x3e, 0x94, 0xfc, 0xaa, 0x70, 0xe9, 0x99, 0x0f, 0x69, 0x79, 0xb3, 0x19, + 0xdd, 0x87, 0x6a, 0xb4, 0x1c, 0x4a, 0x76, 0x92, 0x43, 0x4a, 0xd8, 0x45, 0xa6, 0xf8, 0xd1, 0xda, + 0x28, 0xd9, 0xc9, 0x0e, 0x29, 0x61, 0x53, 0x19, 0x7d, 0x04, 0xab, 0xf3, 0xb5, 0x4b, 0xf2, 0x83, + 0x1e, 0xd2, 0x05, 0xda, 0xcc, 0x68, 0x02, 0x68, 0x41, 0xcd, 0x73, 0x81, 0x73, 0x1f, 0xd2, 0x45, + 0xba, 0xce, 0x48, 0x83, 0xfa, 0x6c, 0x21, 0x91, 0xf4, 0x1c, 0x88, 0x94, 0xb8, 0x03, 0xcd, 0x9f, + 0x12, 0xad, 0x2d, 0x92, 0x9e, 0x0b, 0x91, 0x12, 0x37, 0xa4, 0x5b, 0x9d, 0xcf, 0xbf, 0x5a, 0x4b, + 0x7f, 0xf1, 0xd5, 0x5a, 0xfa, 0xef, 0x5f, 0xad, 0xa5, 0x3f, 0xfd, 0x7a, 0x2d, 0xf5, 0xc5, 0xd7, + 0x6b, 0xa9, 0xbf, 0x7e, 0xbd, 0x96, 0xfa, 0xd1, 0x0b, 0x43, 0xdd, 0x1d, 0x4d, 0xfb, 0x1b, 0x03, + 0x73, 0xb2, 0x19, 0x3e, 0x60, 0xb7, 0xe8, 0xd0, 0x5f, 0xbf, 0xc0, 0x92, 0xee, 0x2b, 0xff, 0x09, + 0x00, 0x00, 0xff, 0xff, 0x16, 0x0c, 0xd3, 0x03, 0x14, 0x28, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -5342,14 +5342,17 @@ func (m *RequestPrepareProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) i-- dAtA[i] = 0x10 } - if len(m.BlockData) > 0 { - for iNdEx := len(m.BlockData) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.BlockData[iNdEx]) - copy(dAtA[i:], m.BlockData[iNdEx]) - i = encodeVarintTypes(dAtA, i, uint64(len(m.BlockData[iNdEx]))) - i-- - dAtA[i] = 0xa + if m.BlockData != nil { + { + size, err := m.BlockData.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTypes(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0xa } return len(dAtA) - i, nil } @@ -5374,14 +5377,17 @@ func (m *RequestProcessProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) _ = i var l int _ = l - if len(m.Txs) > 0 { - for iNdEx := len(m.Txs) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Txs[iNdEx]) - copy(dAtA[i:], m.Txs[iNdEx]) - i = encodeVarintTypes(dAtA, i, uint64(len(m.Txs[iNdEx]))) - i-- - dAtA[i] = 0x12 + if m.BlockData != nil { + { + size, err := m.BlockData.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTypes(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0x12 } { size, err := m.Header.MarshalToSizedBuffer(dAtA[:i]) @@ -6552,20 +6558,20 @@ func (m *ResponseApplySnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, err } } if len(m.RefetchChunks) > 0 { - dAtA46 := make([]byte, len(m.RefetchChunks)*10) - var j45 int + dAtA48 := make([]byte, len(m.RefetchChunks)*10) + var j47 int for _, num := range m.RefetchChunks { for num >= 1<<7 { - dAtA46[j45] = uint8(uint64(num)&0x7f | 0x80) + dAtA48[j47] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j45++ + j47++ } - dAtA46[j45] = uint8(num) - j45++ + dAtA48[j47] = uint8(num) + j47++ } - i -= j45 - copy(dAtA[i:], dAtA46[:j45]) - i = encodeVarintTypes(dAtA, i, uint64(j45)) + i -= j47 + copy(dAtA[i:], dAtA48[:j47]) + i = encodeVarintTypes(dAtA, i, uint64(j47)) i-- dAtA[i] = 0x12 } @@ -6597,14 +6603,17 @@ func (m *ResponsePrepareProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) _ = i var l int _ = l - if len(m.BlockData) > 0 { - for iNdEx := len(m.BlockData) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.BlockData[iNdEx]) - copy(dAtA[i:], m.BlockData[iNdEx]) - i = encodeVarintTypes(dAtA, i, uint64(len(m.BlockData[iNdEx]))) - i-- - dAtA[i] = 0xa + if m.BlockData != nil { + { + size, err := m.BlockData.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTypes(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0xa } return len(dAtA) - i, nil } @@ -7081,12 +7090,12 @@ func (m *Evidence) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x28 } - n54, err54 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) - if err54 != nil { - return 0, err54 + n57, err57 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) + if err57 != nil { + return 0, err57 } - i -= n54 - i = encodeVarintTypes(dAtA, i, uint64(n54)) + i -= n57 + i = encodeVarintTypes(dAtA, i, uint64(n57)) i-- dAtA[i] = 0x22 if m.Height != 0 { @@ -7647,11 +7656,9 @@ func (m *RequestPrepareProposal) Size() (n int) { } var l int _ = l - if len(m.BlockData) > 0 { - for _, b := range m.BlockData { - l = len(b) - n += 1 + l + sovTypes(uint64(l)) - } + if m.BlockData != nil { + l = m.BlockData.Size() + n += 1 + l + sovTypes(uint64(l)) } if m.BlockDataSize != 0 { n += 1 + sovTypes(uint64(m.BlockDataSize)) @@ -7667,11 +7674,9 @@ func (m *RequestProcessProposal) Size() (n int) { _ = l l = m.Header.Size() n += 1 + l + sovTypes(uint64(l)) - if len(m.Txs) > 0 { - for _, b := range m.Txs { - l = len(b) - n += 1 + l + sovTypes(uint64(l)) - } + if m.BlockData != nil { + l = m.BlockData.Size() + n += 1 + l + sovTypes(uint64(l)) } return n } @@ -8258,11 +8263,9 @@ func (m *ResponsePrepareProposal) Size() (n int) { } var l int _ = l - if len(m.BlockData) > 0 { - for _, b := range m.BlockData { - l = len(b) - n += 1 + l + sovTypes(uint64(l)) - } + if m.BlockData != nil { + l = m.BlockData.Size() + n += 1 + l + sovTypes(uint64(l)) } return n } @@ -10844,7 +10847,7 @@ func (m *RequestPrepareProposal) Unmarshal(dAtA []byte) error { if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field BlockData", wireType) } - var byteLen int + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -10854,23 +10857,27 @@ 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.BlockData = append(m.BlockData, make([]byte, postIndex-iNdEx)) - copy(m.BlockData[len(m.BlockData)-1], dAtA[iNdEx:postIndex]) + if m.BlockData == nil { + m.BlockData = &types1.Data{} + } + if err := m.BlockData.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 2: if wireType != 0 { @@ -10976,9 +10983,9 @@ func (m *RequestProcessProposal) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Txs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BlockData", wireType) } - var byteLen int + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -10988,23 +10995,27 @@ func (m *RequestProcessProposal) 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.Txs = append(m.Txs, make([]byte, postIndex-iNdEx)) - copy(m.Txs[len(m.Txs)-1], dAtA[iNdEx:postIndex]) + if m.BlockData == nil { + m.BlockData = &types1.Data{} + } + if err := m.BlockData.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -14031,7 +14042,7 @@ func (m *ResponsePrepareProposal) Unmarshal(dAtA []byte) error { if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field BlockData", wireType) } - var byteLen int + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -14041,23 +14052,27 @@ func (m *ResponsePrepareProposal) 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.BlockData = append(m.BlockData, make([]byte, postIndex-iNdEx)) - copy(m.BlockData[len(m.BlockData)-1], dAtA[iNdEx:postIndex]) + if m.BlockData == nil { + m.BlockData = &types1.Data{} + } + if err := m.BlockData.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex diff --git a/proto/tendermint/abci/types.proto b/proto/tendermint/abci/types.proto index 718e594936..22c74a395c 100644 --- a/proto/tendermint/abci/types.proto +++ b/proto/tendermint/abci/types.proto @@ -131,14 +131,14 @@ message RequestPrepareProposal { // block_data is an array of transactions that will be included in a block, // sent to the app for possible modifications. // applications can not exceed the size of the data passed to it. - repeated bytes block_data = 1; + tendermint.types.Data block_data = 1; // If an application decides to populate block_data with extra information, they can not exceed this value. int64 block_data_size = 2; } message RequestProcessProposal { tendermint.types.Header header = 1 [(gogoproto.nullable) = false]; - repeated bytes txs = 2; + tendermint.types.Data block_data = 2; } //---------------------------------------- @@ -295,7 +295,7 @@ message ResponseApplySnapshotChunk { } message ResponsePrepareProposal { - repeated bytes block_data = 1; + tendermint.types.Data block_data = 1; } message ResponseProcessProposal { diff --git a/state/execution.go b/state/execution.go index 86259bafb5..b1323dcd23 100644 --- a/state/execution.go +++ b/state/execution.go @@ -104,6 +104,13 @@ func (blockExec *BlockExecutor) CreateProposalBlock( evidence, evSize := blockExec.evpool.PendingEvidence(state.ConsensusParams.Evidence.MaxBytes) + evdData := types.EvidenceData{Evidence: evidence} + pevdData, err := evdData.ToProto() + if err != nil { + // todo(evan): see if we can get rid of this panic + panic(err) + } + // Fetch a limited amount of valid txs maxDataBytes := types.MaxDataBytes(maxBytes, evSize, state.Validators.Size()) @@ -121,7 +128,7 @@ func (blockExec *BlockExecutor) CreateProposalBlock( } preparedProposal, err := blockExec.proxyApp.PrepareProposalSync( - abci.RequestPrepareProposal{BlockData: txs.ToSliceOfBytes(), BlockDataSize: maxDataBytes}, + abci.RequestPrepareProposal{BlockData: &tmproto.Data{Txs: txs.ToSliceOfBytes(), Evidence: *pevdData}, BlockDataSize: maxDataBytes}, ) if err != nil { // The App MUST ensure that only valid (and hence 'processable') transactions @@ -134,9 +141,9 @@ func (blockExec *BlockExecutor) CreateProposalBlock( // purpose for now. panic(err) } - newTxs := preparedProposal.GetBlockData() + rawNewData := preparedProposal.GetBlockData() var txSize int - for _, tx := range newTxs { + for _, tx := range rawNewData.GetTxs() { txSize += len(tx) if maxDataBytes < int64(txSize) { @@ -144,19 +151,30 @@ func (blockExec *BlockExecutor) CreateProposalBlock( } } - // todo(evan) unmarshal block data and return transactions or simply change prepareprop to pass block data - - modifiedTxs := types.ToTxs(preparedProposal.GetBlockData()) + newData, err := types.DataFromProto(rawNewData) + if err != nil { + // todo(evan): see if we can get rid of this panic + panic(err) + } - return state.MakeBlock(height, modifiedTxs, evidence, nil, nil, commit, proposerAddr) + return state.MakeBlock( + height, + newData.Txs, + newData.Evidence.Evidence, + newData.IntermediateStateRoots.RawRootsList, + newData.Messages.MessagesList, + commit, + proposerAddr, + ) } func (blockExec *BlockExecutor) ProcessProposal( block *types.Block, ) (bool, error) { + pData := block.Data.ToProto() req := abci.RequestProcessProposal{ - Txs: block.Data.Txs.ToSliceOfBytes(), - Header: *block.Header.ToProto(), + BlockData: &pData, + Header: *block.Header.ToProto(), } resp, err := blockExec.proxyApp.ProcessProposalSync(req) diff --git a/state/helpers_test.go b/state/helpers_test.go index c9817d48f0..2deea7d90b 100644 --- a/state/helpers_test.go +++ b/state/helpers_test.go @@ -284,7 +284,7 @@ func (app *testApp) Query(reqQuery abci.RequestQuery) (resQuery abci.ResponseQue } func (app *testApp) ProcessProposal(req abci.RequestProcessProposal) abci.ResponseProcessProposal { - for _, tx := range req.Txs { + for _, tx := range req.BlockData.Txs { if len(tx) == 0 { return abci.ResponseProcessProposal{Result: abci.ResponseProcessProposal_REJECT} } From 62962915e055bbd26673ba70da1925280bd436ab Mon Sep 17 00:00:00 2001 From: evan-forbes Date: Wed, 16 Feb 2022 00:20:48 -0600 Subject: [PATCH 11/19] linter --- abci/types/application.go | 2 +- consensus/byzantine_test.go | 6 ++++-- consensus/mempool_test.go | 2 +- consensus/state.go | 8 +++++++- state/execution.go | 4 +++- test/e2e/app/app.go | 2 +- 6 files changed, 17 insertions(+), 7 deletions(-) diff --git a/abci/types/application.go b/abci/types/application.go index 6c8fabb228..86492273ed 100644 --- a/abci/types/application.go +++ b/abci/types/application.go @@ -8,7 +8,7 @@ import ( // to be driven by a blockchain-based replication engine via the ABCI. // All methods take a RequestXxx argument and return a ResponseXxx argument, // except CheckTx/DeliverTx, which take `tx []byte`, and `Commit`, which takes nothing. -// nolint:lll // ignore for interface +// ignore for interface type Application interface { // Info/Query Connection Info(RequestInfo) ResponseInfo // Return application info diff --git a/consensus/byzantine_test.go b/consensus/byzantine_test.go index f7aac09452..f4c3c9b635 100644 --- a/consensus/byzantine_test.go +++ b/consensus/byzantine_test.go @@ -441,7 +441,8 @@ func byzantineDecideProposalFunc(t *testing.T, height int64, round int32, cs *St // Create a new proposal block from state/txs from the mempool. block1, blockParts1 := cs.createProposalBlock() - polRound, propBlockID := cs.TwoThirdPrevoteRound, types.BlockID{Hash: block1.Hash(), PartSetHeader: blockParts1.Header()} + polRound := cs.TwoThirdPrevoteRound + propBlockID := types.BlockID{Hash: block1.Hash(), PartSetHeader: blockParts1.Header()} proposal1 := types.NewProposal(height, round, polRound, propBlockID) p1 := proposal1.ToProto() if err := cs.privValidator.SignProposal(cs.state.ChainID, p1); err != nil { @@ -455,7 +456,8 @@ func byzantineDecideProposalFunc(t *testing.T, height int64, round int32, cs *St // Create a new proposal block from state/txs from the mempool. block2, blockParts2 := cs.createProposalBlock() - polRound, propBlockID = cs.TwoThirdPrevoteRound, types.BlockID{Hash: block2.Hash(), PartSetHeader: blockParts2.Header()} + polRound = cs.TwoThirdPrevoteRound + propBlockID = types.BlockID{Hash: block2.Hash(), PartSetHeader: blockParts2.Header()} proposal2 := types.NewProposal(height, round, polRound, propBlockID) p2 := proposal2.ToProto() if err := cs.privValidator.SignProposal(cs.state.ChainID, p2); err != nil { diff --git a/consensus/mempool_test.go b/consensus/mempool_test.go index 87b71870ab..a0cdae1dfa 100644 --- a/consensus/mempool_test.go +++ b/consensus/mempool_test.go @@ -259,5 +259,5 @@ func (app *CounterApplication) Commit() abci.ResponseCommit { func (app *CounterApplication) PrepareProposal( req abci.RequestPrepareProposal) abci.ResponsePrepareProposal { - return abci.ResponsePrepareProposal{BlockData: req.BlockData} //nolint:gosimple + return abci.ResponsePrepareProposal{BlockData: req.BlockData} } diff --git a/consensus/state.go b/consensus/state.go index dc3199f1d6..42f274e139 100644 --- a/consensus/state.go +++ b/consensus/state.go @@ -2079,7 +2079,13 @@ func (cs *State) addVote(vote *types.Vote, peerID p2p.ID) (added bool, err error // NOTE: our proposal block may be nil or not what received a polka.. if len(blockID.Hash) != 0 && (cs.TwoThirdPrevoteRound < vote.Round) && (vote.Round == cs.Round) { if cs.ProposalBlock.HashesTo(blockID.Hash) { - cs.Logger.Debug("updating valid block because of POL", "valid_round", cs.TwoThirdPrevoteRound, "pol_round", vote.Round) + cs.Logger.Debug( + "updating valid block because of POL", + "valid_round", + cs.TwoThirdPrevoteRound, + "pol_round", + vote.Round, + ) cs.TwoThirdPrevoteRound = vote.Round cs.TwoThirdPrevoteBlock = cs.ProposalBlock cs.TwoThirdPrevoteBlockParts = cs.ProposalBlockParts diff --git a/state/execution.go b/state/execution.go index b1323dcd23..a63ecff503 100644 --- a/state/execution.go +++ b/state/execution.go @@ -128,7 +128,9 @@ func (blockExec *BlockExecutor) CreateProposalBlock( } preparedProposal, err := blockExec.proxyApp.PrepareProposalSync( - abci.RequestPrepareProposal{BlockData: &tmproto.Data{Txs: txs.ToSliceOfBytes(), Evidence: *pevdData}, BlockDataSize: maxDataBytes}, + abci.RequestPrepareProposal{ + BlockData: &tmproto.Data{Txs: txs.ToSliceOfBytes(), Evidence: *pevdData}, + BlockDataSize: maxDataBytes}, ) if err != nil { // The App MUST ensure that only valid (and hence 'processable') transactions diff --git a/test/e2e/app/app.go b/test/e2e/app/app.go index 8caf9aea9e..ef62e213bc 100644 --- a/test/e2e/app/app.go +++ b/test/e2e/app/app.go @@ -256,7 +256,7 @@ func (app *Application) ApplySnapshotChunk(req abci.RequestApplySnapshotChunk) a func (app *Application) PrepareProposal( req abci.RequestPrepareProposal) abci.ResponsePrepareProposal { - return abci.ResponsePrepareProposal{BlockData: req.BlockData} //nolint:gosimple + return abci.ResponsePrepareProposal{BlockData: req.BlockData} } // validatorUpdates generates a validator set update. From 44c81db4e3ecfbd123c8f5baa9743dc006be5d1c Mon Sep 17 00:00:00 2001 From: evan-forbes Date: Wed, 16 Feb 2022 00:32:57 -0600 Subject: [PATCH 12/19] add the process proposal method to the e2e app --- test/e2e/app/app.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/test/e2e/app/app.go b/test/e2e/app/app.go index ef62e213bc..8a94786323 100644 --- a/test/e2e/app/app.go +++ b/test/e2e/app/app.go @@ -259,6 +259,11 @@ func (app *Application) PrepareProposal( return abci.ResponsePrepareProposal{BlockData: req.BlockData} } +func (app *Application) ProcessProposal( + req abci.RequestProcessProposal) abci.ResponseProcessProposal { + return abci.ResponseProcessProposal{Result: abci.ResponseProcessProposal_ACCEPT} +} + // validatorUpdates generates a validator set update. func (app *Application) validatorUpdates(height uint64) (abci.ValidatorUpdates, error) { updates := app.cfg.ValidatorUpdates[fmt.Sprintf("%v", height)] From 65cdd2f10b3cb3da04d85052b41f76ef1bc2684a Mon Sep 17 00:00:00 2001 From: evan-forbes Date: Wed, 16 Feb 2022 00:54:17 -0600 Subject: [PATCH 13/19] add missing kvstore abci method --- abci/example/kvstore/kvstore.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/abci/example/kvstore/kvstore.go b/abci/example/kvstore/kvstore.go index 1e898e9c13..3d5ac57589 100644 --- a/abci/example/kvstore/kvstore.go +++ b/abci/example/kvstore/kvstore.go @@ -176,3 +176,9 @@ func (app *Application) PrepareProposal(req types.RequestPrepareProposal) types. BlockData: req.BlockData, } } + +func (app *Application) ProcessProposal(req types.RequestProcessProposal) types.ResponseProcessProposal { + return types.ResponseProcessProposal{ + Result: types.ResponseProcessProposal_ACCEPT, + } +} From 5b2b444e93095d7716a96cd474fef7e022e80476 Mon Sep 17 00:00:00 2001 From: evan-forbes Date: Wed, 16 Feb 2022 01:02:21 -0600 Subject: [PATCH 14/19] pass block data and results for bass app --- abci/types/application.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/abci/types/application.go b/abci/types/application.go index 86492273ed..54aeba36a8 100644 --- a/abci/types/application.go +++ b/abci/types/application.go @@ -99,11 +99,11 @@ func (BaseApplication) ApplySnapshotChunk(req RequestApplySnapshotChunk) Respons } func (BaseApplication) PrepareProposal(req RequestPrepareProposal) ResponsePrepareProposal { - return ResponsePrepareProposal{} + return ResponsePrepareProposal{BlockData: req.BlockData} } func (BaseApplication) ProcessProposal(req RequestProcessProposal) ResponseProcessProposal { - return ResponseProcessProposal{} + return ResponseProcessProposal{Result: ResponseProcessProposal_ACCEPT} } //------------------------------------------------------- From 373ca76fcc505dc6e8a6a74008d1da52f6e86f46 Mon Sep 17 00:00:00 2001 From: evan-forbes Date: Wed, 16 Feb 2022 01:17:45 -0600 Subject: [PATCH 15/19] use correct kvstore process logic for kvstore app --- abci/example/kvstore/kvstore.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/abci/example/kvstore/kvstore.go b/abci/example/kvstore/kvstore.go index 3d5ac57589..937b2992f5 100644 --- a/abci/example/kvstore/kvstore.go +++ b/abci/example/kvstore/kvstore.go @@ -178,7 +178,10 @@ func (app *Application) PrepareProposal(req types.RequestPrepareProposal) types. } func (app *Application) ProcessProposal(req types.RequestProcessProposal) types.ResponseProcessProposal { - return types.ResponseProcessProposal{ - Result: types.ResponseProcessProposal_ACCEPT, + for _, tx := range req.BlockData.Txs { + if len(tx) == 0 { + return types.ResponseProcessProposal{Result: types.ResponseProcessProposal_REJECT} + } } + return types.ResponseProcessProposal{Result: types.ResponseProcessProposal_ACCEPT} } From 9ece9876adcb31816107ebab43b24d0d700068eb Mon Sep 17 00:00:00 2001 From: Evan Forbes <42654277+evan-forbes@users.noreply.github.com> Date: Mon, 21 Mar 2022 10:30:01 -0500 Subject: [PATCH 16/19] remove linting comment Co-authored-by: Ismail Khoffi --- abci/types/application.go | 1 - 1 file changed, 1 deletion(-) diff --git a/abci/types/application.go b/abci/types/application.go index 54aeba36a8..870cd9d5a1 100644 --- a/abci/types/application.go +++ b/abci/types/application.go @@ -8,7 +8,6 @@ import ( // to be driven by a blockchain-based replication engine via the ABCI. // All methods take a RequestXxx argument and return a ResponseXxx argument, // except CheckTx/DeliverTx, which take `tx []byte`, and `Commit`, which takes nothing. -// ignore for interface type Application interface { // Info/Query Connection Info(RequestInfo) ResponseInfo // Return application info From 53673201d43555805f8891a010c5fb6874a2d471 Mon Sep 17 00:00:00 2001 From: Evan Forbes <42654277+evan-forbes@users.noreply.github.com> Date: Mon, 21 Mar 2022 10:47:09 -0500 Subject: [PATCH 17/19] formatting Co-authored-by: John Adler --- proto/tendermint/abci/types.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proto/tendermint/abci/types.proto b/proto/tendermint/abci/types.proto index 22c74a395c..ee1c03d2bf 100644 --- a/proto/tendermint/abci/types.proto +++ b/proto/tendermint/abci/types.proto @@ -37,7 +37,7 @@ message Request { RequestLoadSnapshotChunk load_snapshot_chunk = 14; RequestApplySnapshotChunk apply_snapshot_chunk = 15; RequestPrepareProposal prepare_proposal = 16; - RequestProcessProposal process_proposal = 17; + RequestProcessProposal process_proposal = 17; } } From 90e4244bcdc771108acd31627cf6331c202ec083 Mon Sep 17 00:00:00 2001 From: evan-forbes Date: Tue, 29 Mar 2022 19:01:03 -0500 Subject: [PATCH 18/19] use go generate instead of make mockery --- evidence/mocks/block_store.go | 2 +- light/rpc/mocks/light_client.go | 2 +- p2p/mocks/peer.go | 2 +- proxy/mocks/app_conn_consensus.go | 188 ++++++++++++++++++++++++++++++ proxy/mocks/app_conn_mempool.go | 2 +- proxy/mocks/app_conn_query.go | 2 +- proxy/mocks/app_conn_snapshot.go | 2 +- state/mocks/block_store.go | 2 +- state/mocks/evidence_pool.go | 2 +- state/mocks/store.go | 2 +- statesync/mocks/state_provider.go | 2 +- 11 files changed, 198 insertions(+), 10 deletions(-) create mode 100644 proxy/mocks/app_conn_consensus.go diff --git a/evidence/mocks/block_store.go b/evidence/mocks/block_store.go index ef3346b2a7..4fc722198b 100644 --- a/evidence/mocks/block_store.go +++ b/evidence/mocks/block_store.go @@ -1,4 +1,4 @@ -// Code generated by mockery. DO NOT EDIT. +// Code generated by mockery v2.10.0. DO NOT EDIT. package mocks diff --git a/light/rpc/mocks/light_client.go b/light/rpc/mocks/light_client.go index 644a18a20c..0498f73175 100644 --- a/light/rpc/mocks/light_client.go +++ b/light/rpc/mocks/light_client.go @@ -1,4 +1,4 @@ -// Code generated by mockery 2.7.5. DO NOT EDIT. +// Code generated by mockery v2.10.0. DO NOT EDIT. package mocks diff --git a/p2p/mocks/peer.go b/p2p/mocks/peer.go index 8f0e5ee5c3..31f2cd24d7 100644 --- a/p2p/mocks/peer.go +++ b/p2p/mocks/peer.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.1.0. DO NOT EDIT. +// Code generated by mockery v2.10.0. DO NOT EDIT. package mocks diff --git a/proxy/mocks/app_conn_consensus.go b/proxy/mocks/app_conn_consensus.go new file mode 100644 index 0000000000..6f9a1ab2e0 --- /dev/null +++ b/proxy/mocks/app_conn_consensus.go @@ -0,0 +1,188 @@ +// Code generated by mockery v2.10.0. DO NOT EDIT. + +package mocks + +import ( + mock "github.com/stretchr/testify/mock" + abcicli "github.com/tendermint/tendermint/abci/client" + + types "github.com/tendermint/tendermint/abci/types" +) + +// AppConnConsensus is an autogenerated mock type for the AppConnConsensus type +type AppConnConsensus struct { + mock.Mock +} + +// BeginBlockSync provides a mock function with given fields: _a0 +func (_m *AppConnConsensus) BeginBlockSync(_a0 types.RequestBeginBlock) (*types.ResponseBeginBlock, error) { + ret := _m.Called(_a0) + + var r0 *types.ResponseBeginBlock + if rf, ok := ret.Get(0).(func(types.RequestBeginBlock) *types.ResponseBeginBlock); ok { + r0 = rf(_a0) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*types.ResponseBeginBlock) + } + } + + var r1 error + if rf, ok := ret.Get(1).(func(types.RequestBeginBlock) error); ok { + r1 = rf(_a0) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// CommitSync provides a mock function with given fields: +func (_m *AppConnConsensus) CommitSync() (*types.ResponseCommit, error) { + ret := _m.Called() + + var r0 *types.ResponseCommit + if rf, ok := ret.Get(0).(func() *types.ResponseCommit); ok { + r0 = rf() + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*types.ResponseCommit) + } + } + + var r1 error + if rf, ok := ret.Get(1).(func() error); ok { + r1 = rf() + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// DeliverTxAsync provides a mock function with given fields: _a0 +func (_m *AppConnConsensus) DeliverTxAsync(_a0 types.RequestDeliverTx) *abcicli.ReqRes { + ret := _m.Called(_a0) + + var r0 *abcicli.ReqRes + if rf, ok := ret.Get(0).(func(types.RequestDeliverTx) *abcicli.ReqRes); ok { + r0 = rf(_a0) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*abcicli.ReqRes) + } + } + + return r0 +} + +// EndBlockSync provides a mock function with given fields: _a0 +func (_m *AppConnConsensus) EndBlockSync(_a0 types.RequestEndBlock) (*types.ResponseEndBlock, error) { + ret := _m.Called(_a0) + + var r0 *types.ResponseEndBlock + if rf, ok := ret.Get(0).(func(types.RequestEndBlock) *types.ResponseEndBlock); ok { + r0 = rf(_a0) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*types.ResponseEndBlock) + } + } + + var r1 error + if rf, ok := ret.Get(1).(func(types.RequestEndBlock) error); ok { + r1 = rf(_a0) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// Error provides a mock function with given fields: +func (_m *AppConnConsensus) Error() error { + ret := _m.Called() + + var r0 error + if rf, ok := ret.Get(0).(func() error); ok { + r0 = rf() + } else { + r0 = ret.Error(0) + } + + return r0 +} + +// InitChainSync provides a mock function with given fields: _a0 +func (_m *AppConnConsensus) InitChainSync(_a0 types.RequestInitChain) (*types.ResponseInitChain, error) { + ret := _m.Called(_a0) + + var r0 *types.ResponseInitChain + if rf, ok := ret.Get(0).(func(types.RequestInitChain) *types.ResponseInitChain); ok { + r0 = rf(_a0) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*types.ResponseInitChain) + } + } + + var r1 error + if rf, ok := ret.Get(1).(func(types.RequestInitChain) error); ok { + r1 = rf(_a0) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// PrepareProposalSync provides a mock function with given fields: _a0 +func (_m *AppConnConsensus) PrepareProposalSync(_a0 types.RequestPrepareProposal) (*types.ResponsePrepareProposal, error) { + ret := _m.Called(_a0) + + var r0 *types.ResponsePrepareProposal + if rf, ok := ret.Get(0).(func(types.RequestPrepareProposal) *types.ResponsePrepareProposal); ok { + r0 = rf(_a0) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*types.ResponsePrepareProposal) + } + } + + var r1 error + if rf, ok := ret.Get(1).(func(types.RequestPrepareProposal) error); ok { + r1 = rf(_a0) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// ProcessProposalSync provides a mock function with given fields: _a0 +func (_m *AppConnConsensus) ProcessProposalSync(_a0 types.RequestProcessProposal) (*types.ResponseProcessProposal, error) { + ret := _m.Called(_a0) + + var r0 *types.ResponseProcessProposal + if rf, ok := ret.Get(0).(func(types.RequestProcessProposal) *types.ResponseProcessProposal); ok { + r0 = rf(_a0) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*types.ResponseProcessProposal) + } + } + + var r1 error + if rf, ok := ret.Get(1).(func(types.RequestProcessProposal) error); ok { + r1 = rf(_a0) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// SetResponseCallback provides a mock function with given fields: _a0 +func (_m *AppConnConsensus) SetResponseCallback(_a0 abcicli.Callback) { + _m.Called(_a0) +} diff --git a/proxy/mocks/app_conn_mempool.go b/proxy/mocks/app_conn_mempool.go index 50e937ea6e..bc38147c79 100644 --- a/proxy/mocks/app_conn_mempool.go +++ b/proxy/mocks/app_conn_mempool.go @@ -1,4 +1,4 @@ -// Code generated by mockery 2.7.5. DO NOT EDIT. +// Code generated by mockery v2.10.0. DO NOT EDIT. package mocks diff --git a/proxy/mocks/app_conn_query.go b/proxy/mocks/app_conn_query.go index 646661c95f..dd43b43e30 100644 --- a/proxy/mocks/app_conn_query.go +++ b/proxy/mocks/app_conn_query.go @@ -1,4 +1,4 @@ -// Code generated by mockery 2.7.5. DO NOT EDIT. +// Code generated by mockery v2.10.0. DO NOT EDIT. package mocks diff --git a/proxy/mocks/app_conn_snapshot.go b/proxy/mocks/app_conn_snapshot.go index 146fbd3304..dab5fee828 100644 --- a/proxy/mocks/app_conn_snapshot.go +++ b/proxy/mocks/app_conn_snapshot.go @@ -1,4 +1,4 @@ -// Code generated by mockery 2.7.5. DO NOT EDIT. +// Code generated by mockery v2.10.0. DO NOT EDIT. package mocks diff --git a/state/mocks/block_store.go b/state/mocks/block_store.go index 91bfd0f5be..48e5d1838c 100644 --- a/state/mocks/block_store.go +++ b/state/mocks/block_store.go @@ -1,4 +1,4 @@ -// Code generated by mockery 2.9.0. DO NOT EDIT. +// Code generated by mockery v2.10.0. DO NOT EDIT. package mocks diff --git a/state/mocks/evidence_pool.go b/state/mocks/evidence_pool.go index 8dd6a68d43..5c85354e19 100644 --- a/state/mocks/evidence_pool.go +++ b/state/mocks/evidence_pool.go @@ -1,4 +1,4 @@ -// Code generated by mockery 2.7.5. DO NOT EDIT. +// Code generated by mockery v2.10.0. DO NOT EDIT. package mocks diff --git a/state/mocks/store.go b/state/mocks/store.go index 5f4f849f65..11cf93397f 100644 --- a/state/mocks/store.go +++ b/state/mocks/store.go @@ -1,4 +1,4 @@ -// Code generated by mockery 2.7.5. DO NOT EDIT. +// Code generated by mockery v2.10.0. DO NOT EDIT. package mocks diff --git a/statesync/mocks/state_provider.go b/statesync/mocks/state_provider.go index af66fb24b7..1b989a636f 100644 --- a/statesync/mocks/state_provider.go +++ b/statesync/mocks/state_provider.go @@ -1,4 +1,4 @@ -// Code generated by mockery 2.7.5. DO NOT EDIT. +// Code generated by mockery v2.10.0. DO NOT EDIT. package mocks From 48e9ebfe23afd28b8bbedb9a77c911698087e325 Mon Sep 17 00:00:00 2001 From: evan-forbes Date: Tue, 29 Mar 2022 19:07:21 -0500 Subject: [PATCH 19/19] add link --- types/tx.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/tx.go b/types/tx.go index cab9c036f2..56e7bf0396 100644 --- a/types/tx.go +++ b/types/tx.go @@ -80,7 +80,7 @@ func (txs Txs) SplitIntoShares() NamespacedShares { // ToSliceOfBytes converts a Txs to slice of byte slices. // // NOTE: This method should become obsolete once Txs is switched to [][]byte. -// ref: #2603 +// ref: #2603 https://github.com/tendermint/tendermint/issues/2603 func (txs Txs) ToSliceOfBytes() [][]byte { txBzs := make([][]byte, len(txs)) for i := 0; i < len(txs); i++ {