From 6e3c268a721a1506c153171f5cbb15e56df6ce4e Mon Sep 17 00:00:00 2001 From: Amaury Martiny Date: Mon, 10 Aug 2020 10:12:59 +0200 Subject: [PATCH] Protobuf audit: Queries (#6967) * Add required fields for queries, p1 * Add comments * Remove required * More modules * 2 to go * Finish all modules * Fix typo * Fix test * Make proto-gen Co-authored-by: Alexander Bezobchuk --- proto/cosmos/auth/query.proto | 19 +- proto/cosmos/bank/query.proto | 42 +- proto/cosmos/distribution/query.proto | 73 +- proto/cosmos/evidence/query.proto | 19 +- proto/cosmos/gov/query.proto | 86 +- proto/cosmos/mint/query.proto | 17 +- proto/cosmos/params/query.proto | 13 +- proto/cosmos/staking/query.proto | 121 ++- proto/cosmos/upgrade/query.proto | 20 +- x/auth/types/query.pb.go | 19 +- x/bank/types/query.pb.go | 53 +- x/distribution/types/query.pb.go | 101 ++- x/evidence/types/query.pb.go | 23 +- x/gov/types/query.pb.go | 118 +-- x/mint/types/query.pb.go | 15 +- x/params/client/cli/query.go | 2 +- x/params/keeper/grpc_query.go | 4 +- x/params/keeper/grpc_query_test.go | 2 +- x/params/types/proposal/query.pb.go | 41 +- x/staking/types/query.pb.go | 374 ++++---- x/staking/types/staking.pb.go | 1211 ++++++++++++------------- x/upgrade/types/query.pb.go | 22 +- 22 files changed, 1259 insertions(+), 1136 deletions(-) diff --git a/proto/cosmos/auth/query.proto b/proto/cosmos/auth/query.proto index 1ea76372bd..94f12fdb34 100644 --- a/proto/cosmos/auth/query.proto +++ b/proto/cosmos/auth/query.proto @@ -8,29 +8,32 @@ import "cosmos_proto/cosmos.proto"; option go_package = "github.com/cosmos/cosmos-sdk/x/auth/types"; -// Query creates service with Account and Parameters as rpc +// Query defines the gRPC querier service. service Query{ - // Account returns account details based on address + // Account returns account details based on address. rpc Account (QueryAccountRequest) returns (QueryAccountResponse) {} - // Params queries all parameters + // Params queries all parameters. rpc Params (QueryParamsRequest) returns (QueryParamsResponse) {} } -// QueryAccountRequest is request type for the Query/Account RPC method +// QueryAccountRequest is the request type for the Query/Account RPC method. message QueryAccountRequest{ - bytes address = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; + // address defines the address to query for. + bytes address = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; } -// QueryAccountResponse is response type for the Query/Account RPC method +// QueryAccountResponse is the response type for the Query/Account RPC method. message QueryAccountResponse{ + // account defines the account of the corresponding address. google.protobuf.Any account = 1 [(cosmos_proto.accepts_interface) = "AccountI"]; } -// QueryParamsRequest is request type for the Query/Params RPC method +// QueryParamsRequest is the request type for the Query/Params RPC method. message QueryParamsRequest{ } -// QueryParamsResponse is response type for the Query/Params RPC method +// QueryParamsResponse is the response type for the Query/Params RPC method. message QueryParamsResponse{ + // params defines the parameters of the module. cosmos.auth.Params params = 1 [(gogoproto.nullable) = false]; } diff --git a/proto/cosmos/bank/query.proto b/proto/cosmos/bank/query.proto index 13fdc78c28..af7ce6e5b0 100644 --- a/proto/cosmos/bank/query.proto +++ b/proto/cosmos/bank/query.proto @@ -7,54 +7,57 @@ import "cosmos/cosmos.proto"; option go_package = "github.com/cosmos/cosmos-sdk/x/bank/types"; -// Query provides defines the gRPC querier service +// Query defines the gRPC querier service. service Query { - // Balance queries the balance of a single coin for a single account + // Balance queries the balance of a single coin for a single account. rpc Balance(QueryBalanceRequest) returns (QueryBalanceResponse) {} - // AllBalances queries the balance of all coins for a single account + // AllBalances queries the balance of all coins for a single account. rpc AllBalances(QueryAllBalancesRequest) returns (QueryAllBalancesResponse) {} - // TotalSupply queries the total supply of all coins + // TotalSupply queries the total supply of all coins. rpc TotalSupply(QueryTotalSupplyRequest) returns (QueryTotalSupplyResponse) {} - // SupplyOf queries the supply of a single coin + // SupplyOf queries the supply of a single coin. rpc SupplyOf(QuerySupplyOfRequest) returns (QuerySupplyOfResponse) {} } -// QueryBalanceRequest is the request type for the Query/Balance RPC method +// QueryBalanceRequest is the request type for the Query/Balance RPC method. message QueryBalanceRequest { - // address is the address to query balances for + // address is the address to query balances for. bytes address = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; - // denom is the coin denom to query balances for + // denom is the coin denom to query balances for. string denom = 2; } -// QueryBalanceResponse is the response type for the Query/Balance RPC method +// QueryBalanceResponse is the response type for the Query/Balance RPC method. message QueryBalanceResponse { - // balance is the balance of the coin + // balance is the balance of the coin. cosmos.Coin balance = 1; } -// QueryBalanceRequest is the request type for the Query/AllBalances RPC method +// QueryBalanceRequest is the request type for the Query/AllBalances RPC method. message QueryAllBalancesRequest { - // address is the address to query balances for - bytes address = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; + // address is the address to query balances for. + bytes address = 1 + [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; + // pagination defines an optional pagination for the request. cosmos.query.PageRequest pagination = 2; } -// QueryAllBalancesResponse is the response type for the Query/AllBalances RPC method +// QueryAllBalancesResponse is the response type for the Query/AllBalances RPC method. message QueryAllBalancesResponse { - // balances is the balances of the coins + // balances is the balances of all the coins. repeated cosmos.Coin balances = 1 [(gogoproto.nullable) = false, (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins"]; + // pagination defines the pagination in the response. cosmos.query.PageResponse pagination = 2; } -// QueryTotalSupplyRequest is the request type for the Query/TotalSupply RPC method +// QueryTotalSupplyRequest is the request type for the Query/TotalSupply RPC method. message QueryTotalSupplyRequest {} // QueryTotalSupplyResponse is the response type for the Query/TotalSupply RPC method @@ -64,14 +67,15 @@ message QueryTotalSupplyResponse { [(gogoproto.nullable) = false, (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins"]; } -// QuerySupplyOfRequest is the request type for the Query/SupplyOf RPC method +// QuerySupplyOfRequest is the request type for the Query/SupplyOf RPC method. message QuerySupplyOfRequest { + // denom is the coin denom to query balances for. string denom = 1; } -// QuerySupplyOfResponse is the response type for the Query/SupplyOf RPC method +// QuerySupplyOfResponse is the response type for the Query/SupplyOf RPC method. message QuerySupplyOfResponse { - // amount is the supply of the coin + // amount is the supply of the coin. cosmos.Coin amount = 1 [(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Coin", (gogoproto.nullable) = false]; } diff --git a/proto/cosmos/distribution/query.proto b/proto/cosmos/distribution/query.proto index f0d18a954a..869767f828 100644 --- a/proto/cosmos/distribution/query.proto +++ b/proto/cosmos/distribution/query.proto @@ -8,132 +8,153 @@ import "cosmos/distribution/distribution.proto"; option go_package = "github.com/cosmos/cosmos-sdk/x/distribution/types"; -// Query defines the gRPC querier service for distribution module +// Query defines the gRPC querier service for distribution module. service Query { - // Params queries params of distribution module + // Params queries params of the distribution module. rpc Params(QueryParamsRequest) returns (QueryParamsResponse) {} - // ValidatorOutstandingRewards queries rewards of a validator address + // ValidatorOutstandingRewards queries rewards of a validator address. rpc ValidatorOutstandingRewards(QueryValidatorOutstandingRewardsRequest) returns (QueryValidatorOutstandingRewardsResponse) {} - // ValidatorCommission queries accumulated commission for a validator + // ValidatorCommission queries accumulated commission for a validator. rpc ValidatorCommission (QueryValidatorCommissionRequest) returns (QueryValidatorCommissionResponse) {} - // ValidatorSlashes queries slash events of a validator + // ValidatorSlashes queries slash events of a validator. rpc ValidatorSlashes (QueryValidatorSlashesRequest) returns (QueryValidatorSlashesResponse) {} - // DelegationRewards the total rewards accrued by a delegation + // DelegationRewards queries the total rewards accrued by a delegation. rpc DelegationRewards (QueryDelegationRewardsRequest) returns (QueryDelegationRewardsResponse) {} - // DelegationTotalRewards the total rewards accrued by a each validator + // DelegationTotalRewards queries the total rewards accrued by a each validator. rpc DelegationTotalRewards (QueryDelegationTotalRewardsRequest) returns (QueryDelegationTotalRewardsResponse) {} - // DelegatorValidators queries the validators of a delegator + // DelegatorValidators queries the validators of a delegator. rpc DelegatorValidators (QueryDelegatorValidatorsRequest) returns (QueryDelegatorValidatorsResponse) {} - // DelegatorWithdrawAddress queries withdraw address of a delegator + // DelegatorWithdrawAddress queries withdraw address of a delegator. rpc DelegatorWithdrawAddress (QueryDelegatorWithdrawAddressRequest) returns (QueryDelegatorWithdrawAddressResponse) {} - // CommunityPool queries the community pool coins + // CommunityPool queries the community pool coins. rpc CommunityPool (QueryCommunityPoolRequest) returns (QueryCommunityPoolResponse) {} } -// QueryParamsRequest is the request type for the Query/Params RPC method +// QueryParamsRequest is the request type for the Query/Params RPC method. message QueryParamsRequest { } -// QueryParamsResponse is the response type for the Query/Params RPC method -message QueryParamsResponse { +// QueryParamsResponse is the response type for the Query/Params RPC method. +message QueryParamsResponse { + // params defines the parameters of the module. Params params = 1 [(gogoproto.nullable) = false]; } -// QueryValidatorOutstandingRewardsRequest is the request type for the Query/ValidatorOutstandingRewards RPC method +// QueryValidatorOutstandingRewardsRequest is the request type for the Query/ValidatorOutstandingRewards RPC method. message QueryValidatorOutstandingRewardsRequest { + // validator_address defines the validator address to query for. bytes validator_address = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.ValAddress"]; } -// QueryValidatorOutstandingRewardsResponse is the response type for the Query/ValidatorOutstandingRewards RPC method +// QueryValidatorOutstandingRewardsResponse is the response type for the Query/ValidatorOutstandingRewards RPC method. message QueryValidatorOutstandingRewardsResponse { ValidatorOutstandingRewards rewards = 1 [(gogoproto.nullable) = false]; } // QueryValidatorCommissionRequest is the request type for the Query/ValidatorCommission RPC method message QueryValidatorCommissionRequest { + // validator_address defines the validator address to query for. bytes validator_address = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.ValAddress"]; } // QueryValidatorCommissionResponse is the response type for the Query/ValidatorCommission RPC method message QueryValidatorCommissionResponse { + // commission defines the commision the validator received. ValidatorAccumulatedCommission commission = 1 [(gogoproto.nullable) = false]; } // QueryValidatorSlashesRequest is the request type for the Query/ValidatorSlashes RPC method message QueryValidatorSlashesRequest { + // validator_address defines the validator address to query for. bytes validator_address = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.ValAddress"]; + // starting_height defines the optional starting height to query the slashes. uint64 starting_height = 2; + // starting_height defines the optional ending height to query the slashes. uint64 ending_height = 3; + // pagination defines an optional pagination for the request. cosmos.query.PageRequest pagination = 4; } -// QueryValidatorSlashesResponse is the response type for the Query/ValidatorSlashes RPC method +// QueryValidatorSlashesResponse is the response type for the Query/ValidatorSlashes RPC method. message QueryValidatorSlashesResponse { + // slashes defines the slashes the validator received. repeated ValidatorSlashEvent slashes = 1 [(gogoproto.nullable) = false]; + // pagination defines the pagination in the response. cosmos.query.PageResponse pagination = 2; } -// QueryDelegationRewardsRequest is the request type for the Query/DelegationRewards RPC method +// QueryDelegationRewardsRequest is the request type for the Query/DelegationRewards RPC method. message QueryDelegationRewardsRequest { + // delegator_address defines the delegator address to query for. bytes delegator_address = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; + // validator_address defines the validator address to query for. bytes validator_address = 2 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.ValAddress"]; } -// QueryDelegationRewardsResponse is the response type for the Query/DelegationRewards RPC method +// QueryDelegationRewardsResponse is the response type for the Query/DelegationRewards RPC method. message QueryDelegationRewardsResponse { + // rewards defines the rewards accrued by a delegation. repeated cosmos.DecCoin rewards = 1 [ (gogoproto.nullable) = false, (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.DecCoins" ]; } -// QueryDelegationTotalRewardsRequest is the request type for the Query/DelegationTotalRewards RPC method +// QueryDelegationTotalRewardsRequest is the request type for the Query/DelegationTotalRewards RPC method. message QueryDelegationTotalRewardsRequest { + // delegator_address defines the delegator address to query for. bytes delegator_address = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; } -// QueryDelegationTotalRewardsResponse is the response type for the Query/DelegationTotalRewards RPC method +// QueryDelegationTotalRewardsResponse is the response type for the Query/DelegationTotalRewards RPC method. message QueryDelegationTotalRewardsResponse { + // rewards defines all the rewards accrued by a delegator. repeated DelegationDelegatorReward rewards = 1 [(gogoproto.nullable) = false]; + // total defines the sum of all the rewards. repeated cosmos.DecCoin total = 2 [ (gogoproto.nullable) = false, (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.DecCoins" ]; } -// QueryDelegatorValidatorsRequest is the request type for the Query/DelegatorValidators RPC method +// QueryDelegatorValidatorsRequest is the request type for the Query/DelegatorValidators RPC method. message QueryDelegatorValidatorsRequest { + // delegator_address defines the delegator address to query for. bytes delegator_address = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; } -// QueryDelegatorValidatorsResponse is the response type for the Query/DelegatorValidators RPC method +// QueryDelegatorValidatorsResponse is the response type for the Query/DelegatorValidators RPC method. message QueryDelegatorValidatorsResponse { + // validators defines the validators a delegator is delegating for. repeated bytes validators = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.ValAddress"]; } -// QueryDelegatorWithdrawAddressRequest is the request type for the Query/DelegatorWithdrawAddress RPC method +// QueryDelegatorWithdrawAddressRequest is the request type for the Query/DelegatorWithdrawAddress RPC method. message QueryDelegatorWithdrawAddressRequest { + // delegator_address defines the delegator address to query for. bytes delegator_address = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; } -// QueryDelegatorWithdrawAddressResponse is the response type for the Query/DelegatorWithdrawAddress RPC method +// QueryDelegatorWithdrawAddressResponse is the response type for the Query/DelegatorWithdrawAddress RPC method. message QueryDelegatorWithdrawAddressResponse { + // withdraw_address defines the delegator address to query for. bytes withdraw_address = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; } -// QueryCommunityPoolRequest is the request type for the Query/CommunityPool RPC method +// QueryCommunityPoolRequest is the request type for the Query/CommunityPool RPC method. message QueryCommunityPoolRequest {} -// QueryCommunityPoolResponse is the response type for the Query/CommunityPool RPC method +// QueryCommunityPoolResponse is the response type for the Query/CommunityPool RPC method. message QueryCommunityPoolResponse { + // pool defines community pool's coins. repeated cosmos.DecCoin pool = 1 [ (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.DecCoins", (gogoproto.nullable) = false diff --git a/proto/cosmos/evidence/query.proto b/proto/cosmos/evidence/query.proto index 451ae67d83..51c7c2cf7f 100644 --- a/proto/cosmos/evidence/query.proto +++ b/proto/cosmos/evidence/query.proto @@ -7,33 +7,38 @@ import "google/protobuf/any.proto"; option go_package = "github.com/cosmos/cosmos-sdk/x/evidence/types"; -// Query defines the gRPC querier service +// Query defines the gRPC querier service. service Query { - // Evidence queries evidence based on evidence hash + // Evidence queries evidence based on evidence hash. rpc Evidence(QueryEvidenceRequest) returns (QueryEvidenceResponse) {} - // AllEvidence queries all evidence + // AllEvidence queries all evidence. rpc AllEvidence(QueryAllEvidenceRequest) returns (QueryAllEvidenceResponse) {} } -// QueryEvidenceRequest is the request type for the Query/Evidence RPC method +// QueryEvidenceRequest is the request type for the Query/Evidence RPC method. message QueryEvidenceRequest { + // evidence_hash defines the hash of the requested evidence. bytes evidence_hash = 1 [(gogoproto.casttype) = "github.com/tendermint/tendermint/libs/bytes.HexBytes"];; } -// QueryEvidenceResponse is the response type for the Query/Evidence RPC method +// QueryEvidenceResponse is the response type for the Query/Evidence RPC method. message QueryEvidenceResponse { + // evidence returns the requested evidence. google.protobuf.Any evidence = 1; } -// QueryEvidenceRequest is the request type for the Query/AllEvidence RPC method +// QueryEvidenceRequest is the request type for the Query/AllEvidence RPC method. message QueryAllEvidenceRequest { +// pagination defines an optional pagination for the request. cosmos.query.PageRequest pagination = 1; } -// QueryAllEvidenceResponse is the response type for the Query/AllEvidence RPC method +// QueryAllEvidenceResponse is the response type for the Query/AllEvidence RPC method. message QueryAllEvidenceResponse { + // evidence returns all evidences. repeated google.protobuf.Any evidence = 1; + // pagination defines the pagination in the response. cosmos.query.PageResponse pagination = 2; } diff --git a/proto/cosmos/gov/query.proto b/proto/cosmos/gov/query.proto index 01dd28f124..dbbdc8b655 100644 --- a/proto/cosmos/gov/query.proto +++ b/proto/cosmos/gov/query.proto @@ -9,140 +9,154 @@ option go_package = "github.com/cosmos/cosmos-sdk/x/gov/types"; // Query defines the gRPC querier service for gov module service Query { - // Proposal queries proposal details based on ProposalID + // Proposal queries proposal details based on ProposalID. rpc Proposal (QueryProposalRequest) returns (QueryProposalResponse) {} - // Proposals queries all proposals based on given status + // Proposals queries all proposals based on given status. rpc Proposals (QueryProposalsRequest) returns (QueryProposalsResponse) {} - // Vote queries Voted information based on proposalID, voterAddr + // Vote queries voted information based on proposalID, voterAddr. rpc Vote(QueryVoteRequest) returns (QueryVoteResponse) {} - // Votes queries votes of a given proposal + // Votes queries votes of a given proposal. rpc Votes (QueryVotesRequest) returns (QueryVotesResponse) {} - // Params queries all parameters of the gov module + // Params queries all parameters of the gov module. rpc Params(QueryParamsRequest) returns (QueryParamsResponse) {} - // Deposit queries single deposit information based proposalID, depositAddr + // Deposit queries single deposit information based proposalID, depositAddr. rpc Deposit(QueryDepositRequest) returns (QueryDepositResponse) {} - // Deposits queries all deposits of a single proposal + // Deposits queries all deposits of a single proposal. rpc Deposits(QueryDepositsRequest) returns (QueryDepositsResponse) {} - // TallyResult queries the tally of a proposal vote + // TallyResult queries the tally of a proposal vote. rpc TallyResult(QueryTallyResultRequest) returns (QueryTallyResultResponse) {} } -// QueryProposalRequest is the request type for the Query/Proposal RPC method +// QueryProposalRequest is the request type for the Query/Proposal RPC method. message QueryProposalRequest { - // unique id of the proposal + // proposal_id defines the unique id of the proposal. uint64 proposal_id = 1; } -// QueryProposalResponse is the response type for the Query/Proposal RPC method +// QueryProposalResponse is the response type for the Query/Proposal RPC method. message QueryProposalResponse { Proposal proposal = 1 [(gogoproto.nullable) = false]; } -// QueryProposalsRequest is the request type for the Query/Proposals RPC method +// QueryProposalsRequest is the request type for the Query/Proposals RPC method. message QueryProposalsRequest { - // status of the proposals. + // proposal_status defines the status of the proposals. ProposalStatus proposal_status = 1 ; - // Voter address for the proposals. + // voter defines the voter address for the proposals. bytes voter = 2 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; - // Deposit addresses from the proposals. + // depositor defines the deposit addresses from the proposals. bytes depositor = 3 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; + // pagination defines an optional pagination for the request. cosmos.query.PageRequest pagination = 4; } -// QueryProposalsResponse is the response type for the Query/Proposals RPC method +// QueryProposalsResponse is the response type for the Query/Proposals RPC method. message QueryProposalsResponse { repeated Proposal proposals = 1 [(gogoproto.nullable) = false]; + // pagination defines the pagination in the response. cosmos.query.PageResponse pagination = 2; } -// QueryVoteRequest is the request type for the Query/Vote RPC method +// QueryVoteRequest is the request type for the Query/Vote RPC method. message QueryVoteRequest { - // unique id of the proposal + // proposal_id defines the unique id of the proposal. uint64 proposal_id = 1; - // Voter address for the proposals. + // voter defines the oter address for the proposals. bytes voter = 2 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; } -// QueryVoteResponse is the response type for the Query/Vote RPC method +// QueryVoteResponse is the response type for the Query/Vote RPC method. message QueryVoteResponse { + // vote defined the queried vote. Vote vote = 1 [(gogoproto.nullable) = false]; } -// QueryVotesRequest is the request type for the Query/Votes RPC method +// QueryVotesRequest is the request type for the Query/Votes RPC method. message QueryVotesRequest { - // unique id of the proposal + // proposal_id defines the unique id of the proposal. uint64 proposal_id = 1; + // pagination defines an optional pagination for the request. cosmos.query.PageRequest pagination = 2; } -// QueryVotesResponse is the response type for the Query/Votes RPC method +// QueryVotesResponse is the response type for the Query/Votes RPC method. message QueryVotesResponse { + // votes defined the queried votes. repeated Vote votes = 1 [(gogoproto.nullable) = false]; + // pagination defines the pagination in the response. cosmos.query.PageResponse pagination = 2; } -// QueryParamsRequest is the request type for the Query/Params RPC method +// QueryParamsRequest is the request type for the Query/Params RPC method. message QueryParamsRequest { + // params_type defines which parameters to query for, can be one of "voting", "tallying" or "deposit". string params_type = 1; } -// QueryParamsResponse is the response type for the Query/Params RPC method +// QueryParamsResponse is the response type for the Query/Params RPC method. message QueryParamsResponse { + // voting_params defines the parameters related to voting. VotingParams voting_params = 1 [(gogoproto.nullable) = false]; + // deposit_params defines the parameters related to deposit. DepositParams deposit_params = 2 [(gogoproto.nullable) = false]; + // tally_params defines the parameters related to tally. TallyParams tally_params = 3 [(gogoproto.nullable) = false]; } -// QueryDepositRequest is the request type for the Query/Deposit RPC method +// QueryDepositRequest is the request type for the Query/Deposit RPC method. message QueryDepositRequest { - // unique id of the proposal + // proposal_id defines the unique id of the proposal. uint64 proposal_id = 1; - // Deposit addresses from the proposals. + // depositor defines the deposit addresses from the proposals. bytes depositor = 2 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; } -// QueryDepositResponse is the response type for the Query/Deposit RPC method +// QueryDepositResponse is the response type for the Query/Deposit RPC method. message QueryDepositResponse { + // deposit defines the requested deposit. Deposit deposit = 1 [(gogoproto.nullable) = false]; } -// QueryDepositsRequest is the request type for the Query/Deposits RPC method +// QueryDepositsRequest is the request type for the Query/Deposits RPC method. message QueryDepositsRequest { - // unique id of the proposal + // proposal_id defines the unique id of the proposal. uint64 proposal_id = 1; + // pagination defines an optional pagination for the request. cosmos.query.PageRequest pagination = 2; } -// QueryDepositsResponse is the response type for the Query/Deposits RPC method +// QueryDepositsResponse is the response type for the Query/Deposits RPC method. message QueryDepositsResponse { repeated Deposit deposits = 1 [(gogoproto.nullable) = false]; + // pagination defines the pagination in the response. cosmos.query.PageResponse pagination = 2; } -// QueryTallyResultRequest is the request type for the Query/Tally RPC method +// QueryTallyResultRequest is the request type for the Query/Tally RPC method. message QueryTallyResultRequest { - // unique id of the proposal + // proposal_id defines the unique id of the proposal. uint64 proposal_id = 1; } -// QueryTallyResultResponse is the response type for the Query/Tally RPC method -message QueryTallyResultResponse { +// QueryTallyResultResponse is the response type for the Query/Tally RPC method. +message QueryTallyResultResponse { + // tally defines the requested tally. TallyResult tally = 1 [(gogoproto.nullable) = false]; } diff --git a/proto/cosmos/mint/query.proto b/proto/cosmos/mint/query.proto index 365c65b41e..cc17c36821 100644 --- a/proto/cosmos/mint/query.proto +++ b/proto/cosmos/mint/query.proto @@ -6,7 +6,7 @@ import "cosmos/mint/mint.proto"; option go_package = "github.com/cosmos/cosmos-sdk/x/mint/types"; -// Query provides defines the gRPC querier service +// Query provides defines the gRPC querier service. service Query { // Params returns the total set of minting parameters. rpc Params (QueryParamsRequest) returns (QueryParamsResponse) {} @@ -18,26 +18,29 @@ service Query { rpc AnnualProvisions (QueryAnnualProvisionsRequest) returns (QueryAnnualProvisionsResponse) {} } -// QueryParamsRequest is the request type for the Query/Params RPC method +// QueryParamsRequest is the request type for the Query/Params RPC method. message QueryParamsRequest { } -// QueryParamsResponse is the response type for the Query/Params RPC method +// QueryParamsResponse is the response type for the Query/Params RPC method. message QueryParamsResponse { + // params defines the parameters of the module. Params params = 1 [(gogoproto.nullable) = false]; } -// QueryInflationRequest is the request type for the Query/Inflation RPC method +// QueryInflationRequest is the request type for the Query/Inflation RPC method. message QueryInflationRequest { } -// QueryInflationResponse is the response type for the Query/Inflation RPC method +// QueryInflationResponse is the response type for the Query/Inflation RPC method. message QueryInflationResponse { + // inflation is the current minting inflation value. bytes inflation = 1 [(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false]; } -// QueryAnnualProvisionsRequest is the request type for the Query/AnnualProvisions RPC method +// QueryAnnualProvisionsRequest is the request type for the Query/AnnualProvisions RPC method. message QueryAnnualProvisionsRequest { } -// QueryAnnualProvisionsResponse is the response type for the Query/AnnualProvisions RPC method +// QueryAnnualProvisionsResponse is the response type for the Query/AnnualProvisions RPC method. message QueryAnnualProvisionsResponse { + // annual_provisions is the current minting annual provisions value. bytes annual_provisions = 1 [(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", (gogoproto.nullable) = false]; } diff --git a/proto/cosmos/params/query.proto b/proto/cosmos/params/query.proto index cda23d050a..138eaa087a 100644 --- a/proto/cosmos/params/query.proto +++ b/proto/cosmos/params/query.proto @@ -6,20 +6,23 @@ import "cosmos/params/params.proto"; option go_package = "github.com/cosmos/cosmos-sdk/x/params/types/proposal"; -// Query creates service with Parameters as rpc +// Query defines the gRPC querier service. service Query{ - // Params queries all parameters of the params module + // Params queries a specific parameter of a module, given its subspace and key. rpc Params (QueryParamsRequest) returns (QueryParamsResponse) {} } -// QueryParamsRequest is request type for the Query/Params RPC method +// QueryParamsRequest is request type for the Query/Params RPC method. message QueryParamsRequest{ + // subspace defines the module to query the parameter for. string subspace = 1; + // key defines the key of the parameter in the subspace. string key = 2; } -// QueryParamsResponse is response type for the Query/Params RPC method +// QueryParamsResponse is response type for the Query/Params RPC method. message QueryParamsResponse{ - cosmos.params.ParamChange params = 1 [(gogoproto.nullable) = false]; + // param defines the queried parameter. + cosmos.params.ParamChange param = 1 [(gogoproto.nullable) = false]; } diff --git a/proto/cosmos/staking/query.proto b/proto/cosmos/staking/query.proto index 139ff9eb7e..9db00df56c 100644 --- a/proto/cosmos/staking/query.proto +++ b/proto/cosmos/staking/query.proto @@ -7,79 +7,87 @@ import "cosmos/staking/staking.proto"; option go_package = "github.com/cosmos/cosmos-sdk/x/staking/types"; -// Query defines the gRPC querier service +// Query defines the gRPC querier service. service Query { - // Validators queries all validators that match the given status + // Validators queries all validators that match the given status. rpc Validators (QueryValidatorsRequest) returns (QueryValidatorsResponse) {} - // Validator queries validator info for given validator addr + // Validator queries validator info for given validator address. rpc Validator (QueryValidatorRequest) returns (QueryValidatorResponse) {} - // ValidatorDelegations queries delegate info for given validator + // ValidatorDelegations queries delegate info for given validator. rpc ValidatorDelegations (QueryValidatorDelegationsRequest) returns (QueryValidatorDelegationsResponse) {} - // ValidatorUnbondingDelegations queries unbonding delegations of a validator + // ValidatorUnbondingDelegations queries unbonding delegations of a validator. rpc ValidatorUnbondingDelegations (QueryValidatorUnbondingDelegationsRequest) returns (QueryValidatorUnbondingDelegationsResponse) {} - // Delegation queries delegate info for given validator delegator pair + // Delegation queries delegate info for given validator delegator pair. rpc Delegation (QueryDelegationRequest) returns (QueryDelegationResponse) {} - // UnbondingDelegation queries unbonding info for give validator delegator pair + // UnbondingDelegation queries unbonding info for given validator delegator pair. rpc UnbondingDelegation (QueryUnbondingDelegationRequest) returns (QueryUnbondingDelegationResponse) {} - // DelegatorDelegations queries all delegations of a give delegator address + // DelegatorDelegations queries all delegations of a given delegator address. rpc DelegatorDelegations (QueryDelegatorDelegationsRequest) returns (QueryDelegatorDelegationsResponse) {} - // DelegatorUnbondingDelegations queries all unbonding delegations of a give delegator address + // DelegatorUnbondingDelegations queries all unbonding delegations of a give delegator address. rpc DelegatorUnbondingDelegations (QueryDelegatorUnbondingDelegationsRequest) returns (QueryDelegatorUnbondingDelegationsResponse) {} - // Redelegations queries redelegations of given address + // Redelegations queries redelegations of given address. rpc Redelegations (QueryRedelegationsRequest) returns (QueryRedelegationsResponse) {} - // DelegatorValidators queries all validator info for given delegator address + // DelegatorValidators queries all validator info for given delegator address. rpc DelegatorValidators (QueryDelegatorValidatorsRequest) returns (QueryDelegatorValidatorsResponse) {} - // DelegatorValidator queries validator info for given delegator validator pair + // DelegatorValidator queries validator info for given delegator validator pair. rpc DelegatorValidator (QueryDelegatorValidatorRequest) returns (QueryDelegatorValidatorResponse) {} - // HistoricalInfo queries the historical info for given height + // HistoricalInfo queries the historical info for given height. rpc HistoricalInfo (QueryHistoricalInfoRequest) returns (QueryHistoricalInfoResponse) {} - // Pool queries the pool info + // Pool queries the pool info. rpc Pool (QueryPoolRequest) returns (QueryPoolResponse) {} - // Parameters queries the staking parameters + // Parameters queries the staking parameters. rpc Params (QueryParamsRequest) returns (QueryParamsResponse) {} } -// QueryValidatorsRequest is request type for Query/Validators RPC method +// QueryValidatorsRequest is request type for Query/Validators RPC method. message QueryValidatorsRequest{ + // status enables to query for validators matching a given status. string status = 1; + // pagination defines an optional pagination for the request. cosmos.query.PageRequest pagination = 2; } // QueryValidatorsResponse is response type for the Query/Validators RPC method message QueryValidatorsResponse { + // validators contains all the queried validators repeated cosmos.staking.Validator validators = 1 [(gogoproto.nullable) = false]; + // pagination defines the pagination in the response. cosmos.query.PageResponse pagination = 2; } // QueryValidatorRequest is response type for the Query/Validator RPC method message QueryValidatorRequest { + // validator_addr defines the validator address to query for. bytes validator_addr = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.ValAddress"]; } // QueryValidatorResponse is response type for the Query/Validator RPC method message QueryValidatorResponse { + // validator defines the the validator info. Validator validator = 1 [(gogoproto.nullable) = false]; } // QueryValidatorDelegationsRequest is request type for the Query/ValidatorDelegations RPC method message QueryValidatorDelegationsRequest { + // validator_addr defines the validator address to query for. bytes validator_addr = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.ValAddress"]; + // pagination defines an optional pagination for the request. cosmos.query.PageRequest pagination = 2; } @@ -87,142 +95,173 @@ message QueryValidatorDelegationsRequest { message QueryValidatorDelegationsResponse { repeated DelegationResponse delegation_responses = 1 [(gogoproto.nullable) = false, (gogoproto.castrepeated) = "DelegationResponses"]; + // pagination defines the pagination in the response. cosmos.query.PageResponse pagination = 2; } // QueryValidatorUnbondingDelegationsRequest is required type for the Query/ValidatorUnbondingDelegations RPC method message QueryValidatorUnbondingDelegationsRequest { + // validator_addr defines the validator address to query for. bytes validator_addr = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.ValAddress"]; + // pagination defines an optional pagination for the request. cosmos.query.PageRequest pagination = 2; } -// QueryValidatorUnbondingDelegationsResponse is response type for the Query/ValidatorUnbondingDelegations RPC method +// QueryValidatorUnbondingDelegationsResponse is response type for the Query/ValidatorUnbondingDelegations RPC method. message QueryValidatorUnbondingDelegationsResponse { repeated UnbondingDelegation unbonding_responses = 1 [(gogoproto.nullable) = false]; + // pagination defines the pagination in the response. cosmos.query.PageResponse pagination = 2; } -// QueryDelegationRequest is request type for the Query/Delegation RPC method +// QueryDelegationRequest is request type for the Query/Delegation RPC method. message QueryDelegationRequest { + // delegator_addr defines the delegator address to query for. bytes delegator_addr = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; + // validator_addr defines the validator address to query for. bytes validator_addr = 2 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.ValAddress"]; } -// QueryDelegationResponse is response type for the Query/Delegation RPC method +// QueryDelegationResponse is response type for the Query/Delegation RPC method. message QueryDelegationResponse { - DelegationResponse delegation_response = 1 [(gogoproto.casttype) = "DelegationResponse"]; + // delegation_responses defines the delegation info of a delegation. + DelegationResponse delegation_response = 1; } -// QueryUnbondingDelegationRequest is request type for the Query/UnbondingDelegation RPC method +// QueryUnbondingDelegationRequest is request type for the Query/UnbondingDelegation RPC method. message QueryUnbondingDelegationRequest { + // delegator_addr defines the delegator address to query for. bytes delegator_addr = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; + // validator_addr defines the validator address to query for. bytes validator_addr = 2 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.ValAddress"]; } -// QueryDelegationResponse is response type for the Query/UnbondingDelegation RPC method +// QueryDelegationResponse is response type for the Query/UnbondingDelegation RPC method. message QueryUnbondingDelegationResponse { + // unbond defines the unbonding information of a delegation. UnbondingDelegation unbond =1 [(gogoproto.nullable) = false]; } -// QueryDelegatorDelegationsRequest is request type for the Query/DelegatorDelegations RPC method +// QueryDelegatorDelegationsRequest is request type for the Query/DelegatorDelegations RPC method. message QueryDelegatorDelegationsRequest { + // delegator_addr defines the delegator address to query for. bytes delegator_addr = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; + // pagination defines an optional pagination for the request. cosmos.query.PageRequest pagination = 2; } -// QueryDelegatorDelegationsResponse is response type for the Query/DelegatorDelegations RPC method +// QueryDelegatorDelegationsResponse is response type for the Query/DelegatorDelegations RPC method. message QueryDelegatorDelegationsResponse { + // delegation_responses defines all the delegations' info of a delegator. repeated DelegationResponse delegation_responses = 1 [(gogoproto.nullable) = false]; + // pagination defines the pagination in the response. cosmos.query.PageResponse pagination = 2; } -// QueryDelegatorUnbondingDelegationsRequest is request type for the Query/DelegatorUnbondingDelegations RPC method +// QueryDelegatorUnbondingDelegationsRequest is request type for the Query/DelegatorUnbondingDelegations RPC method. message QueryDelegatorUnbondingDelegationsRequest { + // delegator_addr defines the delegator address to query for. bytes delegator_addr = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; + // pagination defines an optional pagination for the request. cosmos.query.PageRequest pagination = 2; } -// QueryUnbondingDelegatorDelegationsResponse is response type for the Query/UnbondingDelegatorDelegations RPC method +// QueryUnbondingDelegatorDelegationsResponse is response type for the Query/UnbondingDelegatorDelegations RPC method. message QueryDelegatorUnbondingDelegationsResponse { repeated UnbondingDelegation unbonding_responses = 1 [(gogoproto.nullable) = false]; + // pagination defines the pagination in the response. cosmos.query.PageResponse pagination = 2; } -// QueryRedelegationsRequest is request type for the Query/Redelegations RPC method +// QueryRedelegationsRequest is request type for the Query/Redelegations RPC method. message QueryRedelegationsRequest { + // delegator_addr defines the delegator address to query for. bytes delegator_addr = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; + // src_validator_addr defines the validator address to redelegate from. bytes src_validator_addr = 2 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.ValAddress"]; + // dst_validator_addr defines the validator address to redelegate to. bytes dst_validator_addr = 3 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.ValAddress"]; + // pagination defines an optional pagination for the request. cosmos.query.PageRequest pagination = 4; } -// QueryRedelegationsResponse is response type for the Query/Redelegations RPC method +// QueryRedelegationsResponse is response type for the Query/Redelegations RPC method. message QueryRedelegationsResponse { repeated RedelegationResponse redelegation_responses = 1 [(gogoproto.nullable) = false]; + // pagination defines the pagination in the response. cosmos.query.PageResponse pagination = 2; } -// QueryDelegatorValidatorsRequest is request type for the Query/DelegatorValidators RPC method +// QueryDelegatorValidatorsRequest is request type for the Query/DelegatorValidators RPC method. message QueryDelegatorValidatorsRequest { + // delegator_addr defines the delegator address to query for. bytes delegator_addr = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; + // pagination defines an optional pagination for the request. cosmos.query.PageRequest pagination = 2; } -// QueryDelegatorValidatorsResponse is response type for the Query/DelegatorValidators RPC method +// QueryDelegatorValidatorsResponse is response type for the Query/DelegatorValidators RPC method. message QueryDelegatorValidatorsResponse { + // validators defines the the validators' info of a delegator. repeated Validator validators = 1 [(gogoproto.nullable) = false]; + // pagination defines the pagination in the response. cosmos.query.PageResponse pagination = 2; } -// QueryDelegatorValidatorRequest is request type for the Query/DelegatorValidator RPC method +// QueryDelegatorValidatorRequest is request type for the Query/DelegatorValidator RPC method. message QueryDelegatorValidatorRequest { + // delegator_addr defines the delegator address to query for. bytes delegator_addr = 1 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"]; + // validator_addr defines the validator address to query for. bytes validator_addr = 2 [(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.ValAddress"]; } -// QueryDelegatorValidatorResponse response type for the Query/DelegatorValidator RPC method +// QueryDelegatorValidatorResponse response type for the Query/DelegatorValidator RPC method. message QueryDelegatorValidatorResponse { + // validator defines the the validator info. Validator validator = 1 [(gogoproto.nullable) = false]; } -// QueryHistoricalInfoRequest is request type for the Query/HistoricalInfo RPC method +// QueryHistoricalInfoRequest is request type for the Query/HistoricalInfo RPC method. message QueryHistoricalInfoRequest { + // height defines at which height to query the historical info. int64 height = 1; } -// QueryHistoricalInfoResponse is response type for the Query/HistoricalInfo RPC method +// QueryHistoricalInfoResponse is response type for the Query/HistoricalInfo RPC method. message QueryHistoricalInfoResponse { + // hist defines the historical info at the given height. HistoricalInfo hist = 1; } -// QueryPoolRequest is request type for the Query/Pool RPC method +// QueryPoolRequest is request type for the Query/Pool RPC method. message QueryPoolRequest { } -// QueryPoolResponse is response type for the Query/Pool RPC method +// QueryPoolResponse is response type for the Query/Pool RPC method. message QueryPoolResponse { + // pool defines the pool info. Pool pool = 1 [(gogoproto.nullable) = false]; } -// QueryParamsRequest is request type for the Query/Params RPC method +// QueryParamsRequest is request type for the Query/Params RPC method. message QueryParamsRequest { } -// QueryParamsResponse is response type for the Query/Params RPC method +// QueryParamsResponse is response type for the Query/Params RPC method. message QueryParamsResponse { + // params holds all the parameters of this module. Params params = 1 [(gogoproto.nullable) = false]; - - cosmos.query.PageResponse pagination = 2; -} \ No newline at end of file +} diff --git a/proto/cosmos/upgrade/query.proto b/proto/cosmos/upgrade/query.proto index 28e6eadc2c..f25ad95922 100644 --- a/proto/cosmos/upgrade/query.proto +++ b/proto/cosmos/upgrade/query.proto @@ -5,32 +5,32 @@ import "cosmos/upgrade/upgrade.proto"; option go_package = "github.com/cosmos/cosmos-sdk/x/upgrade/types"; -// Query defines the gRPC upgrade querier service +// Query defines the gRPC upgrade querier service. service Query { - // CurrentPlan queries the current upgrade plan + // CurrentPlan queries the current upgrade plan. rpc CurrentPlan(QueryCurrentPlanRequest) returns (QueryCurrentPlanResponse) {} - // AppliedPlan queries a previously applied upgrade plan by its name + // AppliedPlan queries a previously applied upgrade plan by its name. rpc AppliedPlan(QueryAppliedPlanRequest) returns (QueryAppliedPlanResponse) {} } -// QueryCurrentPlanRequest is the request type for the Query/CurrentPlan RPC method +// QueryCurrentPlanRequest is the request type for the Query/CurrentPlan RPC method. message QueryCurrentPlanRequest {} -// QueryCurrentPlanResponse is the response type for the Query/CurrentPlan RPC method +// QueryCurrentPlanResponse is the response type for the Query/CurrentPlan RPC method. message QueryCurrentPlanResponse { - // plan is the current upgrade plan + // plan is the current upgrade plan. Plan plan = 1; } -// QueryCurrentPlanRequest is the request type for the Query/AppliedPlan RPC method +// QueryCurrentPlanRequest is the request type for the Query/AppliedPlan RPC method. message QueryAppliedPlanRequest { - // name is the name of the applied plan to query for + // name is the name of the applied plan to query for. string name = 1; } -// QueryAppliedPlanResponse is the response type for the Query/AppliedPlan RPC method +// QueryAppliedPlanResponse is the response type for the Query/AppliedPlan RPC method. message QueryAppliedPlanResponse { - // height is the block height at which the plan was applied + // height is the block height at which the plan was applied. int64 height = 1; } diff --git a/x/auth/types/query.pb.go b/x/auth/types/query.pb.go index 4dd7fe3b87..e60b3ff2b1 100644 --- a/x/auth/types/query.pb.go +++ b/x/auth/types/query.pb.go @@ -31,8 +31,9 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package -// QueryAccountRequest is request type for the Query/Account RPC method +// QueryAccountRequest is the request type for the Query/Account RPC method. type QueryAccountRequest struct { + // address defines the address to query for. Address github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=address,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"address,omitempty"` } @@ -76,8 +77,9 @@ func (m *QueryAccountRequest) GetAddress() github_com_cosmos_cosmos_sdk_types.Ac return nil } -// QueryAccountResponse is response type for the Query/Account RPC method +// QueryAccountResponse is the response type for the Query/Account RPC method. type QueryAccountResponse struct { + // account defines the account of the corresponding address. Account *types.Any `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` } @@ -121,7 +123,7 @@ func (m *QueryAccountResponse) GetAccount() *types.Any { return nil } -// QueryParamsRequest is request type for the Query/Params RPC method +// QueryParamsRequest is the request type for the Query/Params RPC method. type QueryParamsRequest struct { } @@ -158,8 +160,9 @@ func (m *QueryParamsRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryParamsRequest proto.InternalMessageInfo -// QueryParamsResponse is response type for the Query/Params RPC method +// QueryParamsResponse is the response type for the Query/Params RPC method. type QueryParamsResponse struct { + // params defines the parameters of the module. Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"` } @@ -251,9 +254,9 @@ const _ = grpc.SupportPackageIsVersion4 // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type QueryClient interface { - // Account returns account details based on address + // Account returns account details based on address. Account(ctx context.Context, in *QueryAccountRequest, opts ...grpc.CallOption) (*QueryAccountResponse, error) - // Params queries all parameters + // Params queries all parameters. Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) } @@ -285,9 +288,9 @@ func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts . // QueryServer is the server API for Query service. type QueryServer interface { - // Account returns account details based on address + // Account returns account details based on address. Account(context.Context, *QueryAccountRequest) (*QueryAccountResponse, error) - // Params queries all parameters + // Params queries all parameters. Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) } diff --git a/x/bank/types/query.pb.go b/x/bank/types/query.pb.go index 3f3867afdb..30613d449d 100644 --- a/x/bank/types/query.pb.go +++ b/x/bank/types/query.pb.go @@ -31,11 +31,11 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package -// QueryBalanceRequest is the request type for the Query/Balance RPC method +// QueryBalanceRequest is the request type for the Query/Balance RPC method. type QueryBalanceRequest struct { - // address is the address to query balances for + // address is the address to query balances for. Address github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=address,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"address,omitempty"` - // denom is the coin denom to query balances for + // denom is the coin denom to query balances for. Denom string `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` } @@ -86,9 +86,9 @@ func (m *QueryBalanceRequest) GetDenom() string { return "" } -// QueryBalanceResponse is the response type for the Query/Balance RPC method +// QueryBalanceResponse is the response type for the Query/Balance RPC method. type QueryBalanceResponse struct { - // balance is the balance of the coin + // balance is the balance of the coin. Balance *types.Coin `protobuf:"bytes,1,opt,name=balance,proto3" json:"balance,omitempty"` } @@ -132,11 +132,12 @@ func (m *QueryBalanceResponse) GetBalance() *types.Coin { return nil } -// QueryBalanceRequest is the request type for the Query/AllBalances RPC method +// QueryBalanceRequest is the request type for the Query/AllBalances RPC method. type QueryAllBalancesRequest struct { - // address is the address to query balances for - Address github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=address,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"address,omitempty"` - Pagination *query.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` + // address is the address to query balances for. + Address github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=address,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"address,omitempty"` + // pagination defines an optional pagination for the request. + Pagination *query.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } func (m *QueryAllBalancesRequest) Reset() { *m = QueryAllBalancesRequest{} } @@ -186,11 +187,12 @@ func (m *QueryAllBalancesRequest) GetPagination() *query.PageRequest { return nil } -// QueryAllBalancesResponse is the response type for the Query/AllBalances RPC method +// QueryAllBalancesResponse is the response type for the Query/AllBalances RPC method. type QueryAllBalancesResponse struct { - // balances is the balances of the coins - Balances github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,1,rep,name=balances,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"balances"` - Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` + // balances is the balances of all the coins. + Balances github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,1,rep,name=balances,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"balances"` + // pagination defines the pagination in the response. + Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } func (m *QueryAllBalancesResponse) Reset() { *m = QueryAllBalancesResponse{} } @@ -240,7 +242,7 @@ func (m *QueryAllBalancesResponse) GetPagination() *query.PageResponse { return nil } -// QueryTotalSupplyRequest is the request type for the Query/TotalSupply RPC method +// QueryTotalSupplyRequest is the request type for the Query/TotalSupply RPC method. type QueryTotalSupplyRequest struct { } @@ -323,8 +325,9 @@ func (m *QueryTotalSupplyResponse) GetSupply() github_com_cosmos_cosmos_sdk_type return nil } -// QuerySupplyOfRequest is the request type for the Query/SupplyOf RPC method +// QuerySupplyOfRequest is the request type for the Query/SupplyOf RPC method. type QuerySupplyOfRequest struct { + // denom is the coin denom to query balances for. Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` } @@ -368,9 +371,9 @@ func (m *QuerySupplyOfRequest) GetDenom() string { return "" } -// QuerySupplyOfResponse is the response type for the Query/SupplyOf RPC method +// QuerySupplyOfResponse is the response type for the Query/SupplyOf RPC method. type QuerySupplyOfResponse struct { - // amount is the supply of the coin + // amount is the supply of the coin. Amount github_com_cosmos_cosmos_sdk_types.Coin `protobuf:"bytes,1,opt,name=amount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Coin" json:"amount"` } @@ -469,13 +472,13 @@ const _ = grpc.SupportPackageIsVersion4 // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type QueryClient interface { - // Balance queries the balance of a single coin for a single account + // Balance queries the balance of a single coin for a single account. Balance(ctx context.Context, in *QueryBalanceRequest, opts ...grpc.CallOption) (*QueryBalanceResponse, error) - // AllBalances queries the balance of all coins for a single account + // AllBalances queries the balance of all coins for a single account. AllBalances(ctx context.Context, in *QueryAllBalancesRequest, opts ...grpc.CallOption) (*QueryAllBalancesResponse, error) - // TotalSupply queries the total supply of all coins + // TotalSupply queries the total supply of all coins. TotalSupply(ctx context.Context, in *QueryTotalSupplyRequest, opts ...grpc.CallOption) (*QueryTotalSupplyResponse, error) - // SupplyOf queries the supply of a single coin + // SupplyOf queries the supply of a single coin. SupplyOf(ctx context.Context, in *QuerySupplyOfRequest, opts ...grpc.CallOption) (*QuerySupplyOfResponse, error) } @@ -525,13 +528,13 @@ func (c *queryClient) SupplyOf(ctx context.Context, in *QuerySupplyOfRequest, op // QueryServer is the server API for Query service. type QueryServer interface { - // Balance queries the balance of a single coin for a single account + // Balance queries the balance of a single coin for a single account. Balance(context.Context, *QueryBalanceRequest) (*QueryBalanceResponse, error) - // AllBalances queries the balance of all coins for a single account + // AllBalances queries the balance of all coins for a single account. AllBalances(context.Context, *QueryAllBalancesRequest) (*QueryAllBalancesResponse, error) - // TotalSupply queries the total supply of all coins + // TotalSupply queries the total supply of all coins. TotalSupply(context.Context, *QueryTotalSupplyRequest) (*QueryTotalSupplyResponse, error) - // SupplyOf queries the supply of a single coin + // SupplyOf queries the supply of a single coin. SupplyOf(context.Context, *QuerySupplyOfRequest) (*QuerySupplyOfResponse, error) } diff --git a/x/distribution/types/query.pb.go b/x/distribution/types/query.pb.go index 7e1de4f3fa..ed67841208 100644 --- a/x/distribution/types/query.pb.go +++ b/x/distribution/types/query.pb.go @@ -31,7 +31,7 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package -// QueryParamsRequest is the request type for the Query/Params RPC method +// QueryParamsRequest is the request type for the Query/Params RPC method. type QueryParamsRequest struct { } @@ -68,8 +68,9 @@ func (m *QueryParamsRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryParamsRequest proto.InternalMessageInfo -// QueryParamsResponse is the response type for the Query/Params RPC method +// QueryParamsResponse is the response type for the Query/Params RPC method. type QueryParamsResponse struct { + // params defines the parameters of the module. Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"` } @@ -113,8 +114,9 @@ func (m *QueryParamsResponse) GetParams() Params { return Params{} } -// QueryValidatorOutstandingRewardsRequest is the request type for the Query/ValidatorOutstandingRewards RPC method +// QueryValidatorOutstandingRewardsRequest is the request type for the Query/ValidatorOutstandingRewards RPC method. type QueryValidatorOutstandingRewardsRequest struct { + // validator_address defines the validator address to query for. ValidatorAddress github_com_cosmos_cosmos_sdk_types.ValAddress `protobuf:"bytes,1,opt,name=validator_address,json=validatorAddress,proto3,casttype=github.com/cosmos/cosmos-sdk/types.ValAddress" json:"validator_address,omitempty"` } @@ -160,7 +162,7 @@ func (m *QueryValidatorOutstandingRewardsRequest) GetValidatorAddress() github_c return nil } -// QueryValidatorOutstandingRewardsResponse is the response type for the Query/ValidatorOutstandingRewards RPC method +// QueryValidatorOutstandingRewardsResponse is the response type for the Query/ValidatorOutstandingRewards RPC method. type QueryValidatorOutstandingRewardsResponse struct { Rewards ValidatorOutstandingRewards `protobuf:"bytes,1,opt,name=rewards,proto3" json:"rewards"` } @@ -209,6 +211,7 @@ func (m *QueryValidatorOutstandingRewardsResponse) GetRewards() ValidatorOutstan // QueryValidatorCommissionRequest is the request type for the Query/ValidatorCommission RPC method type QueryValidatorCommissionRequest struct { + // validator_address defines the validator address to query for. ValidatorAddress github_com_cosmos_cosmos_sdk_types.ValAddress `protobuf:"bytes,1,opt,name=validator_address,json=validatorAddress,proto3,casttype=github.com/cosmos/cosmos-sdk/types.ValAddress" json:"validator_address,omitempty"` } @@ -254,6 +257,7 @@ func (m *QueryValidatorCommissionRequest) GetValidatorAddress() github_com_cosmo // QueryValidatorCommissionResponse is the response type for the Query/ValidatorCommission RPC method type QueryValidatorCommissionResponse struct { + // commission defines the commision the validator received. Commission ValidatorAccumulatedCommission `protobuf:"bytes,1,opt,name=commission,proto3" json:"commission"` } @@ -299,10 +303,14 @@ func (m *QueryValidatorCommissionResponse) GetCommission() ValidatorAccumulatedC // QueryValidatorSlashesRequest is the request type for the Query/ValidatorSlashes RPC method type QueryValidatorSlashesRequest struct { + // validator_address defines the validator address to query for. ValidatorAddress github_com_cosmos_cosmos_sdk_types.ValAddress `protobuf:"bytes,1,opt,name=validator_address,json=validatorAddress,proto3,casttype=github.com/cosmos/cosmos-sdk/types.ValAddress" json:"validator_address,omitempty"` - StartingHeight uint64 `protobuf:"varint,2,opt,name=starting_height,json=startingHeight,proto3" json:"starting_height,omitempty"` - EndingHeight uint64 `protobuf:"varint,3,opt,name=ending_height,json=endingHeight,proto3" json:"ending_height,omitempty"` - Pagination *query.PageRequest `protobuf:"bytes,4,opt,name=pagination,proto3" json:"pagination,omitempty"` + // starting_height defines the optional starting height to query the slashes. + StartingHeight uint64 `protobuf:"varint,2,opt,name=starting_height,json=startingHeight,proto3" json:"starting_height,omitempty"` + // starting_height defines the optional ending height to query the slashes. + EndingHeight uint64 `protobuf:"varint,3,opt,name=ending_height,json=endingHeight,proto3" json:"ending_height,omitempty"` + // pagination defines an optional pagination for the request. + Pagination *query.PageRequest `protobuf:"bytes,4,opt,name=pagination,proto3" json:"pagination,omitempty"` } func (m *QueryValidatorSlashesRequest) Reset() { *m = QueryValidatorSlashesRequest{} } @@ -366,10 +374,12 @@ func (m *QueryValidatorSlashesRequest) GetPagination() *query.PageRequest { return nil } -// QueryValidatorSlashesResponse is the response type for the Query/ValidatorSlashes RPC method +// QueryValidatorSlashesResponse is the response type for the Query/ValidatorSlashes RPC method. type QueryValidatorSlashesResponse struct { - Slashes []ValidatorSlashEvent `protobuf:"bytes,1,rep,name=slashes,proto3" json:"slashes"` - Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` + // slashes defines the slashes the validator received. + Slashes []ValidatorSlashEvent `protobuf:"bytes,1,rep,name=slashes,proto3" json:"slashes"` + // pagination defines the pagination in the response. + Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } func (m *QueryValidatorSlashesResponse) Reset() { *m = QueryValidatorSlashesResponse{} } @@ -419,9 +429,11 @@ func (m *QueryValidatorSlashesResponse) GetPagination() *query.PageResponse { return nil } -// QueryDelegationRewardsRequest is the request type for the Query/DelegationRewards RPC method +// QueryDelegationRewardsRequest is the request type for the Query/DelegationRewards RPC method. type QueryDelegationRewardsRequest struct { + // delegator_address defines the delegator address to query for. DelegatorAddress github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=delegator_address,json=delegatorAddress,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"delegator_address,omitempty"` + // validator_address defines the validator address to query for. ValidatorAddress github_com_cosmos_cosmos_sdk_types.ValAddress `protobuf:"bytes,2,opt,name=validator_address,json=validatorAddress,proto3,casttype=github.com/cosmos/cosmos-sdk/types.ValAddress" json:"validator_address,omitempty"` } @@ -472,8 +484,9 @@ func (m *QueryDelegationRewardsRequest) GetValidatorAddress() github_com_cosmos_ return nil } -// QueryDelegationRewardsResponse is the response type for the Query/DelegationRewards RPC method +// QueryDelegationRewardsResponse is the response type for the Query/DelegationRewards RPC method. type QueryDelegationRewardsResponse struct { + // rewards defines the rewards accrued by a delegation. Rewards github_com_cosmos_cosmos_sdk_types.DecCoins `protobuf:"bytes,1,rep,name=rewards,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.DecCoins" json:"rewards"` } @@ -517,8 +530,9 @@ func (m *QueryDelegationRewardsResponse) GetRewards() github_com_cosmos_cosmos_s return nil } -// QueryDelegationTotalRewardsRequest is the request type for the Query/DelegationTotalRewards RPC method +// QueryDelegationTotalRewardsRequest is the request type for the Query/DelegationTotalRewards RPC method. type QueryDelegationTotalRewardsRequest struct { + // delegator_address defines the delegator address to query for. DelegatorAddress github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=delegator_address,json=delegatorAddress,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"delegator_address,omitempty"` } @@ -562,10 +576,12 @@ func (m *QueryDelegationTotalRewardsRequest) GetDelegatorAddress() github_com_co return nil } -// QueryDelegationTotalRewardsResponse is the response type for the Query/DelegationTotalRewards RPC method +// QueryDelegationTotalRewardsResponse is the response type for the Query/DelegationTotalRewards RPC method. type QueryDelegationTotalRewardsResponse struct { - Rewards []DelegationDelegatorReward `protobuf:"bytes,1,rep,name=rewards,proto3" json:"rewards"` - Total github_com_cosmos_cosmos_sdk_types.DecCoins `protobuf:"bytes,2,rep,name=total,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.DecCoins" json:"total"` + // rewards defines all the rewards accrued by a delegator. + Rewards []DelegationDelegatorReward `protobuf:"bytes,1,rep,name=rewards,proto3" json:"rewards"` + // total defines the sum of all the rewards. + Total github_com_cosmos_cosmos_sdk_types.DecCoins `protobuf:"bytes,2,rep,name=total,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.DecCoins" json:"total"` } func (m *QueryDelegationTotalRewardsResponse) Reset() { *m = QueryDelegationTotalRewardsResponse{} } @@ -615,8 +631,9 @@ func (m *QueryDelegationTotalRewardsResponse) GetTotal() github_com_cosmos_cosmo return nil } -// QueryDelegatorValidatorsRequest is the request type for the Query/DelegatorValidators RPC method +// QueryDelegatorValidatorsRequest is the request type for the Query/DelegatorValidators RPC method. type QueryDelegatorValidatorsRequest struct { + // delegator_address defines the delegator address to query for. DelegatorAddress github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=delegator_address,json=delegatorAddress,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"delegator_address,omitempty"` } @@ -660,8 +677,9 @@ func (m *QueryDelegatorValidatorsRequest) GetDelegatorAddress() github_com_cosmo return nil } -// QueryDelegatorValidatorsResponse is the response type for the Query/DelegatorValidators RPC method +// QueryDelegatorValidatorsResponse is the response type for the Query/DelegatorValidators RPC method. type QueryDelegatorValidatorsResponse struct { + // validators defines the validators a delegator is delegating for. Validators []github_com_cosmos_cosmos_sdk_types.ValAddress `protobuf:"bytes,1,rep,name=validators,proto3,casttype=github.com/cosmos/cosmos-sdk/types.ValAddress" json:"validators,omitempty"` } @@ -705,8 +723,9 @@ func (m *QueryDelegatorValidatorsResponse) GetValidators() []github_com_cosmos_c return nil } -// QueryDelegatorWithdrawAddressRequest is the request type for the Query/DelegatorWithdrawAddress RPC method +// QueryDelegatorWithdrawAddressRequest is the request type for the Query/DelegatorWithdrawAddress RPC method. type QueryDelegatorWithdrawAddressRequest struct { + // delegator_address defines the delegator address to query for. DelegatorAddress github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=delegator_address,json=delegatorAddress,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"delegator_address,omitempty"` } @@ -750,8 +769,9 @@ func (m *QueryDelegatorWithdrawAddressRequest) GetDelegatorAddress() github_com_ return nil } -// QueryDelegatorWithdrawAddressResponse is the response type for the Query/DelegatorWithdrawAddress RPC method +// QueryDelegatorWithdrawAddressResponse is the response type for the Query/DelegatorWithdrawAddress RPC method. type QueryDelegatorWithdrawAddressResponse struct { + // withdraw_address defines the delegator address to query for. WithdrawAddress github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=withdraw_address,json=withdrawAddress,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"withdraw_address,omitempty"` } @@ -795,7 +815,7 @@ func (m *QueryDelegatorWithdrawAddressResponse) GetWithdrawAddress() github_com_ return nil } -// QueryCommunityPoolRequest is the request type for the Query/CommunityPool RPC method +// QueryCommunityPoolRequest is the request type for the Query/CommunityPool RPC method. type QueryCommunityPoolRequest struct { } @@ -832,8 +852,9 @@ func (m *QueryCommunityPoolRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryCommunityPoolRequest proto.InternalMessageInfo -// QueryCommunityPoolResponse is the response type for the Query/CommunityPool RPC method +// QueryCommunityPoolResponse is the response type for the Query/CommunityPool RPC method. type QueryCommunityPoolResponse struct { + // pool defines community pool's coins. Pool github_com_cosmos_cosmos_sdk_types.DecCoins `protobuf:"bytes,1,rep,name=pool,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.DecCoins" json:"pool"` } @@ -975,23 +996,23 @@ const _ = grpc.SupportPackageIsVersion4 // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type QueryClient interface { - // Params queries params of distribution module + // Params queries params of the distribution module. Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) - // ValidatorOutstandingRewards queries rewards of a validator address + // ValidatorOutstandingRewards queries rewards of a validator address. ValidatorOutstandingRewards(ctx context.Context, in *QueryValidatorOutstandingRewardsRequest, opts ...grpc.CallOption) (*QueryValidatorOutstandingRewardsResponse, error) - // ValidatorCommission queries accumulated commission for a validator + // ValidatorCommission queries accumulated commission for a validator. ValidatorCommission(ctx context.Context, in *QueryValidatorCommissionRequest, opts ...grpc.CallOption) (*QueryValidatorCommissionResponse, error) - // ValidatorSlashes queries slash events of a validator + // ValidatorSlashes queries slash events of a validator. ValidatorSlashes(ctx context.Context, in *QueryValidatorSlashesRequest, opts ...grpc.CallOption) (*QueryValidatorSlashesResponse, error) - // DelegationRewards the total rewards accrued by a delegation + // DelegationRewards queries the total rewards accrued by a delegation. DelegationRewards(ctx context.Context, in *QueryDelegationRewardsRequest, opts ...grpc.CallOption) (*QueryDelegationRewardsResponse, error) - // DelegationTotalRewards the total rewards accrued by a each validator + // DelegationTotalRewards queries the total rewards accrued by a each validator. DelegationTotalRewards(ctx context.Context, in *QueryDelegationTotalRewardsRequest, opts ...grpc.CallOption) (*QueryDelegationTotalRewardsResponse, error) - // DelegatorValidators queries the validators of a delegator + // DelegatorValidators queries the validators of a delegator. DelegatorValidators(ctx context.Context, in *QueryDelegatorValidatorsRequest, opts ...grpc.CallOption) (*QueryDelegatorValidatorsResponse, error) - // DelegatorWithdrawAddress queries withdraw address of a delegator + // DelegatorWithdrawAddress queries withdraw address of a delegator. DelegatorWithdrawAddress(ctx context.Context, in *QueryDelegatorWithdrawAddressRequest, opts ...grpc.CallOption) (*QueryDelegatorWithdrawAddressResponse, error) - // CommunityPool queries the community pool coins + // CommunityPool queries the community pool coins. CommunityPool(ctx context.Context, in *QueryCommunityPoolRequest, opts ...grpc.CallOption) (*QueryCommunityPoolResponse, error) } @@ -1086,23 +1107,23 @@ func (c *queryClient) CommunityPool(ctx context.Context, in *QueryCommunityPoolR // QueryServer is the server API for Query service. type QueryServer interface { - // Params queries params of distribution module + // Params queries params of the distribution module. Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) - // ValidatorOutstandingRewards queries rewards of a validator address + // ValidatorOutstandingRewards queries rewards of a validator address. ValidatorOutstandingRewards(context.Context, *QueryValidatorOutstandingRewardsRequest) (*QueryValidatorOutstandingRewardsResponse, error) - // ValidatorCommission queries accumulated commission for a validator + // ValidatorCommission queries accumulated commission for a validator. ValidatorCommission(context.Context, *QueryValidatorCommissionRequest) (*QueryValidatorCommissionResponse, error) - // ValidatorSlashes queries slash events of a validator + // ValidatorSlashes queries slash events of a validator. ValidatorSlashes(context.Context, *QueryValidatorSlashesRequest) (*QueryValidatorSlashesResponse, error) - // DelegationRewards the total rewards accrued by a delegation + // DelegationRewards queries the total rewards accrued by a delegation. DelegationRewards(context.Context, *QueryDelegationRewardsRequest) (*QueryDelegationRewardsResponse, error) - // DelegationTotalRewards the total rewards accrued by a each validator + // DelegationTotalRewards queries the total rewards accrued by a each validator. DelegationTotalRewards(context.Context, *QueryDelegationTotalRewardsRequest) (*QueryDelegationTotalRewardsResponse, error) - // DelegatorValidators queries the validators of a delegator + // DelegatorValidators queries the validators of a delegator. DelegatorValidators(context.Context, *QueryDelegatorValidatorsRequest) (*QueryDelegatorValidatorsResponse, error) - // DelegatorWithdrawAddress queries withdraw address of a delegator + // DelegatorWithdrawAddress queries withdraw address of a delegator. DelegatorWithdrawAddress(context.Context, *QueryDelegatorWithdrawAddressRequest) (*QueryDelegatorWithdrawAddressResponse, error) - // CommunityPool queries the community pool coins + // CommunityPool queries the community pool coins. CommunityPool(context.Context, *QueryCommunityPoolRequest) (*QueryCommunityPoolResponse, error) } diff --git a/x/evidence/types/query.pb.go b/x/evidence/types/query.pb.go index fcdf257a3b..312fc57932 100644 --- a/x/evidence/types/query.pb.go +++ b/x/evidence/types/query.pb.go @@ -31,8 +31,9 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package -// QueryEvidenceRequest is the request type for the Query/Evidence RPC method +// QueryEvidenceRequest is the request type for the Query/Evidence RPC method. type QueryEvidenceRequest struct { + // evidence_hash defines the hash of the requested evidence. EvidenceHash github_com_tendermint_tendermint_libs_bytes.HexBytes `protobuf:"bytes,1,opt,name=evidence_hash,json=evidenceHash,proto3,casttype=github.com/tendermint/tendermint/libs/bytes.HexBytes" json:"evidence_hash,omitempty"` } @@ -76,8 +77,9 @@ func (m *QueryEvidenceRequest) GetEvidenceHash() github_com_tendermint_tendermin return nil } -// QueryEvidenceResponse is the response type for the Query/Evidence RPC method +// QueryEvidenceResponse is the response type for the Query/Evidence RPC method. type QueryEvidenceResponse struct { + // evidence returns the requested evidence. Evidence *types.Any `protobuf:"bytes,1,opt,name=evidence,proto3" json:"evidence,omitempty"` } @@ -121,8 +123,9 @@ func (m *QueryEvidenceResponse) GetEvidence() *types.Any { return nil } -// QueryEvidenceRequest is the request type for the Query/AllEvidence RPC method +// QueryEvidenceRequest is the request type for the Query/AllEvidence RPC method. type QueryAllEvidenceRequest struct { + // pagination defines an optional pagination for the request. Pagination *query.PageRequest `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"` } @@ -166,9 +169,11 @@ func (m *QueryAllEvidenceRequest) GetPagination() *query.PageRequest { return nil } -// QueryAllEvidenceResponse is the response type for the Query/AllEvidence RPC method +// QueryAllEvidenceResponse is the response type for the Query/AllEvidence RPC method. type QueryAllEvidenceResponse struct { - Evidence []*types.Any `protobuf:"bytes,1,rep,name=evidence,proto3" json:"evidence,omitempty"` + // evidence returns all evidences. + Evidence []*types.Any `protobuf:"bytes,1,rep,name=evidence,proto3" json:"evidence,omitempty"` + // pagination defines the pagination in the response. Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } @@ -270,9 +275,9 @@ const _ = grpc.SupportPackageIsVersion4 // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type QueryClient interface { - // Evidence queries evidence based on evidence hash + // Evidence queries evidence based on evidence hash. Evidence(ctx context.Context, in *QueryEvidenceRequest, opts ...grpc.CallOption) (*QueryEvidenceResponse, error) - // AllEvidence queries all evidence + // AllEvidence queries all evidence. AllEvidence(ctx context.Context, in *QueryAllEvidenceRequest, opts ...grpc.CallOption) (*QueryAllEvidenceResponse, error) } @@ -304,9 +309,9 @@ func (c *queryClient) AllEvidence(ctx context.Context, in *QueryAllEvidenceReque // QueryServer is the server API for Query service. type QueryServer interface { - // Evidence queries evidence based on evidence hash + // Evidence queries evidence based on evidence hash. Evidence(context.Context, *QueryEvidenceRequest) (*QueryEvidenceResponse, error) - // AllEvidence queries all evidence + // AllEvidence queries all evidence. AllEvidence(context.Context, *QueryAllEvidenceRequest) (*QueryAllEvidenceResponse, error) } diff --git a/x/gov/types/query.pb.go b/x/gov/types/query.pb.go index 4de0c9faaa..4744ee3efd 100644 --- a/x/gov/types/query.pb.go +++ b/x/gov/types/query.pb.go @@ -30,9 +30,9 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package -// QueryProposalRequest is the request type for the Query/Proposal RPC method +// QueryProposalRequest is the request type for the Query/Proposal RPC method. type QueryProposalRequest struct { - // unique id of the proposal + // proposal_id defines the unique id of the proposal. ProposalId uint64 `protobuf:"varint,1,opt,name=proposal_id,json=proposalId,proto3" json:"proposal_id,omitempty"` } @@ -76,7 +76,7 @@ func (m *QueryProposalRequest) GetProposalId() uint64 { return 0 } -// QueryProposalResponse is the response type for the Query/Proposal RPC method +// QueryProposalResponse is the response type for the Query/Proposal RPC method. type QueryProposalResponse struct { Proposal Proposal `protobuf:"bytes,1,opt,name=proposal,proto3" json:"proposal"` } @@ -121,15 +121,16 @@ func (m *QueryProposalResponse) GetProposal() Proposal { return Proposal{} } -// QueryProposalsRequest is the request type for the Query/Proposals RPC method +// QueryProposalsRequest is the request type for the Query/Proposals RPC method. type QueryProposalsRequest struct { - // status of the proposals. + // proposal_status defines the status of the proposals. ProposalStatus ProposalStatus `protobuf:"varint,1,opt,name=proposal_status,json=proposalStatus,proto3,enum=cosmos.gov.ProposalStatus" json:"proposal_status,omitempty"` - // Voter address for the proposals. + // voter defines the voter address for the proposals. Voter github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,2,opt,name=voter,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"voter,omitempty"` - // Deposit addresses from the proposals. - Depositor github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,3,opt,name=depositor,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"depositor,omitempty"` - Pagination *query.PageRequest `protobuf:"bytes,4,opt,name=pagination,proto3" json:"pagination,omitempty"` + // depositor defines the deposit addresses from the proposals. + Depositor github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,3,opt,name=depositor,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"depositor,omitempty"` + // pagination defines an optional pagination for the request. + Pagination *query.PageRequest `protobuf:"bytes,4,opt,name=pagination,proto3" json:"pagination,omitempty"` } func (m *QueryProposalsRequest) Reset() { *m = QueryProposalsRequest{} } @@ -193,9 +194,10 @@ func (m *QueryProposalsRequest) GetPagination() *query.PageRequest { return nil } -// QueryProposalsResponse is the response type for the Query/Proposals RPC method +// QueryProposalsResponse is the response type for the Query/Proposals RPC method. type QueryProposalsResponse struct { - Proposals []Proposal `protobuf:"bytes,1,rep,name=proposals,proto3" json:"proposals"` + Proposals []Proposal `protobuf:"bytes,1,rep,name=proposals,proto3" json:"proposals"` + // pagination defines the pagination in the response. Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } @@ -246,11 +248,11 @@ func (m *QueryProposalsResponse) GetPagination() *query.PageResponse { return nil } -// QueryVoteRequest is the request type for the Query/Vote RPC method +// QueryVoteRequest is the request type for the Query/Vote RPC method. type QueryVoteRequest struct { - // unique id of the proposal + // proposal_id defines the unique id of the proposal. ProposalId uint64 `protobuf:"varint,1,opt,name=proposal_id,json=proposalId,proto3" json:"proposal_id,omitempty"` - // Voter address for the proposals. + // voter defines the oter address for the proposals. Voter github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,2,opt,name=voter,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"voter,omitempty"` } @@ -301,8 +303,9 @@ func (m *QueryVoteRequest) GetVoter() github_com_cosmos_cosmos_sdk_types.AccAddr return nil } -// QueryVoteResponse is the response type for the Query/Vote RPC method +// QueryVoteResponse is the response type for the Query/Vote RPC method. type QueryVoteResponse struct { + // vote defined the queried vote. Vote Vote `protobuf:"bytes,1,opt,name=vote,proto3" json:"vote"` } @@ -346,10 +349,11 @@ func (m *QueryVoteResponse) GetVote() Vote { return Vote{} } -// QueryVotesRequest is the request type for the Query/Votes RPC method +// QueryVotesRequest is the request type for the Query/Votes RPC method. type QueryVotesRequest struct { - // unique id of the proposal - ProposalId uint64 `protobuf:"varint,1,opt,name=proposal_id,json=proposalId,proto3" json:"proposal_id,omitempty"` + // proposal_id defines the unique id of the proposal. + ProposalId uint64 `protobuf:"varint,1,opt,name=proposal_id,json=proposalId,proto3" json:"proposal_id,omitempty"` + // pagination defines an optional pagination for the request. Pagination *query.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } @@ -400,9 +404,11 @@ func (m *QueryVotesRequest) GetPagination() *query.PageRequest { return nil } -// QueryVotesResponse is the response type for the Query/Votes RPC method +// QueryVotesResponse is the response type for the Query/Votes RPC method. type QueryVotesResponse struct { - Votes []Vote `protobuf:"bytes,1,rep,name=votes,proto3" json:"votes"` + // votes defined the queried votes. + Votes []Vote `protobuf:"bytes,1,rep,name=votes,proto3" json:"votes"` + // pagination defines the pagination in the response. Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } @@ -453,8 +459,9 @@ func (m *QueryVotesResponse) GetPagination() *query.PageResponse { return nil } -// QueryParamsRequest is the request type for the Query/Params RPC method +// QueryParamsRequest is the request type for the Query/Params RPC method. type QueryParamsRequest struct { + // params_type defines which parameters to query for, can be one of "voting", "tallying" or "deposit". ParamsType string `protobuf:"bytes,1,opt,name=params_type,json=paramsType,proto3" json:"params_type,omitempty"` } @@ -498,11 +505,14 @@ func (m *QueryParamsRequest) GetParamsType() string { return "" } -// QueryParamsResponse is the response type for the Query/Params RPC method +// QueryParamsResponse is the response type for the Query/Params RPC method. type QueryParamsResponse struct { - VotingParams VotingParams `protobuf:"bytes,1,opt,name=voting_params,json=votingParams,proto3" json:"voting_params"` + // voting_params defines the parameters related to voting. + VotingParams VotingParams `protobuf:"bytes,1,opt,name=voting_params,json=votingParams,proto3" json:"voting_params"` + // deposit_params defines the parameters related to deposit. DepositParams DepositParams `protobuf:"bytes,2,opt,name=deposit_params,json=depositParams,proto3" json:"deposit_params"` - TallyParams TallyParams `protobuf:"bytes,3,opt,name=tally_params,json=tallyParams,proto3" json:"tally_params"` + // tally_params defines the parameters related to tally. + TallyParams TallyParams `protobuf:"bytes,3,opt,name=tally_params,json=tallyParams,proto3" json:"tally_params"` } func (m *QueryParamsResponse) Reset() { *m = QueryParamsResponse{} } @@ -559,11 +569,11 @@ func (m *QueryParamsResponse) GetTallyParams() TallyParams { return TallyParams{} } -// QueryDepositRequest is the request type for the Query/Deposit RPC method +// QueryDepositRequest is the request type for the Query/Deposit RPC method. type QueryDepositRequest struct { - // unique id of the proposal + // proposal_id defines the unique id of the proposal. ProposalId uint64 `protobuf:"varint,1,opt,name=proposal_id,json=proposalId,proto3" json:"proposal_id,omitempty"` - // Deposit addresses from the proposals. + // depositor defines the deposit addresses from the proposals. Depositor github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,2,opt,name=depositor,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"depositor,omitempty"` } @@ -614,8 +624,9 @@ func (m *QueryDepositRequest) GetDepositor() github_com_cosmos_cosmos_sdk_types. return nil } -// QueryDepositResponse is the response type for the Query/Deposit RPC method +// QueryDepositResponse is the response type for the Query/Deposit RPC method. type QueryDepositResponse struct { + // deposit defines the requested deposit. Deposit Deposit `protobuf:"bytes,1,opt,name=deposit,proto3" json:"deposit"` } @@ -659,10 +670,11 @@ func (m *QueryDepositResponse) GetDeposit() Deposit { return Deposit{} } -// QueryDepositsRequest is the request type for the Query/Deposits RPC method +// QueryDepositsRequest is the request type for the Query/Deposits RPC method. type QueryDepositsRequest struct { - // unique id of the proposal - ProposalId uint64 `protobuf:"varint,1,opt,name=proposal_id,json=proposalId,proto3" json:"proposal_id,omitempty"` + // proposal_id defines the unique id of the proposal. + ProposalId uint64 `protobuf:"varint,1,opt,name=proposal_id,json=proposalId,proto3" json:"proposal_id,omitempty"` + // pagination defines an optional pagination for the request. Pagination *query.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } @@ -713,9 +725,10 @@ func (m *QueryDepositsRequest) GetPagination() *query.PageRequest { return nil } -// QueryDepositsResponse is the response type for the Query/Deposits RPC method +// QueryDepositsResponse is the response type for the Query/Deposits RPC method. type QueryDepositsResponse struct { - Deposits []Deposit `protobuf:"bytes,1,rep,name=deposits,proto3" json:"deposits"` + Deposits []Deposit `protobuf:"bytes,1,rep,name=deposits,proto3" json:"deposits"` + // pagination defines the pagination in the response. Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } @@ -766,9 +779,9 @@ func (m *QueryDepositsResponse) GetPagination() *query.PageResponse { return nil } -// QueryTallyResultRequest is the request type for the Query/Tally RPC method +// QueryTallyResultRequest is the request type for the Query/Tally RPC method. type QueryTallyResultRequest struct { - // unique id of the proposal + // proposal_id defines the unique id of the proposal. ProposalId uint64 `protobuf:"varint,1,opt,name=proposal_id,json=proposalId,proto3" json:"proposal_id,omitempty"` } @@ -812,8 +825,9 @@ func (m *QueryTallyResultRequest) GetProposalId() uint64 { return 0 } -// QueryTallyResultResponse is the response type for the Query/Tally RPC method +// QueryTallyResultResponse is the response type for the Query/Tally RPC method. type QueryTallyResultResponse struct { + // tally defines the requested tally. Tally TallyResult `protobuf:"bytes,1,opt,name=tally,proto3" json:"tally"` } @@ -945,21 +959,21 @@ const _ = grpc.SupportPackageIsVersion4 // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type QueryClient interface { - // Proposal queries proposal details based on ProposalID + // Proposal queries proposal details based on ProposalID. Proposal(ctx context.Context, in *QueryProposalRequest, opts ...grpc.CallOption) (*QueryProposalResponse, error) - // Proposals queries all proposals based on given status + // Proposals queries all proposals based on given status. Proposals(ctx context.Context, in *QueryProposalsRequest, opts ...grpc.CallOption) (*QueryProposalsResponse, error) - // Vote queries Voted information based on proposalID, voterAddr + // Vote queries voted information based on proposalID, voterAddr. Vote(ctx context.Context, in *QueryVoteRequest, opts ...grpc.CallOption) (*QueryVoteResponse, error) - // Votes queries votes of a given proposal + // Votes queries votes of a given proposal. Votes(ctx context.Context, in *QueryVotesRequest, opts ...grpc.CallOption) (*QueryVotesResponse, error) - // Params queries all parameters of the gov module + // Params queries all parameters of the gov module. Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) - // Deposit queries single deposit information based proposalID, depositAddr + // Deposit queries single deposit information based proposalID, depositAddr. Deposit(ctx context.Context, in *QueryDepositRequest, opts ...grpc.CallOption) (*QueryDepositResponse, error) - // Deposits queries all deposits of a single proposal + // Deposits queries all deposits of a single proposal. Deposits(ctx context.Context, in *QueryDepositsRequest, opts ...grpc.CallOption) (*QueryDepositsResponse, error) - // TallyResult queries the tally of a proposal vote + // TallyResult queries the tally of a proposal vote. TallyResult(ctx context.Context, in *QueryTallyResultRequest, opts ...grpc.CallOption) (*QueryTallyResultResponse, error) } @@ -1045,21 +1059,21 @@ func (c *queryClient) TallyResult(ctx context.Context, in *QueryTallyResultReque // QueryServer is the server API for Query service. type QueryServer interface { - // Proposal queries proposal details based on ProposalID + // Proposal queries proposal details based on ProposalID. Proposal(context.Context, *QueryProposalRequest) (*QueryProposalResponse, error) - // Proposals queries all proposals based on given status + // Proposals queries all proposals based on given status. Proposals(context.Context, *QueryProposalsRequest) (*QueryProposalsResponse, error) - // Vote queries Voted information based on proposalID, voterAddr + // Vote queries voted information based on proposalID, voterAddr. Vote(context.Context, *QueryVoteRequest) (*QueryVoteResponse, error) - // Votes queries votes of a given proposal + // Votes queries votes of a given proposal. Votes(context.Context, *QueryVotesRequest) (*QueryVotesResponse, error) - // Params queries all parameters of the gov module + // Params queries all parameters of the gov module. Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) - // Deposit queries single deposit information based proposalID, depositAddr + // Deposit queries single deposit information based proposalID, depositAddr. Deposit(context.Context, *QueryDepositRequest) (*QueryDepositResponse, error) - // Deposits queries all deposits of a single proposal + // Deposits queries all deposits of a single proposal. Deposits(context.Context, *QueryDepositsRequest) (*QueryDepositsResponse, error) - // TallyResult queries the tally of a proposal vote + // TallyResult queries the tally of a proposal vote. TallyResult(context.Context, *QueryTallyResultRequest) (*QueryTallyResultResponse, error) } diff --git a/x/mint/types/query.pb.go b/x/mint/types/query.pb.go index 043f1b84e6..99316255a5 100644 --- a/x/mint/types/query.pb.go +++ b/x/mint/types/query.pb.go @@ -29,7 +29,7 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package -// QueryParamsRequest is the request type for the Query/Params RPC method +// QueryParamsRequest is the request type for the Query/Params RPC method. type QueryParamsRequest struct { } @@ -66,8 +66,9 @@ func (m *QueryParamsRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryParamsRequest proto.InternalMessageInfo -// QueryParamsResponse is the response type for the Query/Params RPC method +// QueryParamsResponse is the response type for the Query/Params RPC method. type QueryParamsResponse struct { + // params defines the parameters of the module. Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"` } @@ -111,7 +112,7 @@ func (m *QueryParamsResponse) GetParams() Params { return Params{} } -// QueryInflationRequest is the request type for the Query/Inflation RPC method +// QueryInflationRequest is the request type for the Query/Inflation RPC method. type QueryInflationRequest struct { } @@ -148,8 +149,9 @@ func (m *QueryInflationRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryInflationRequest proto.InternalMessageInfo -// QueryInflationResponse is the response type for the Query/Inflation RPC method +// QueryInflationResponse is the response type for the Query/Inflation RPC method. type QueryInflationResponse struct { + // inflation is the current minting inflation value. Inflation github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=inflation,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"inflation"` } @@ -186,7 +188,7 @@ func (m *QueryInflationResponse) XXX_DiscardUnknown() { var xxx_messageInfo_QueryInflationResponse proto.InternalMessageInfo -// QueryAnnualProvisionsRequest is the request type for the Query/AnnualProvisions RPC method +// QueryAnnualProvisionsRequest is the request type for the Query/AnnualProvisions RPC method. type QueryAnnualProvisionsRequest struct { } @@ -223,8 +225,9 @@ func (m *QueryAnnualProvisionsRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryAnnualProvisionsRequest proto.InternalMessageInfo -// QueryAnnualProvisionsResponse is the response type for the Query/AnnualProvisions RPC method +// QueryAnnualProvisionsResponse is the response type for the Query/AnnualProvisions RPC method. type QueryAnnualProvisionsResponse struct { + // annual_provisions is the current minting annual provisions value. AnnualProvisions github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,1,opt,name=annual_provisions,json=annualProvisions,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"annual_provisions"` } diff --git a/x/params/client/cli/query.go b/x/params/client/cli/query.go index 0da586a036..924fcef963 100644 --- a/x/params/client/cli/query.go +++ b/x/params/client/cli/query.go @@ -47,7 +47,7 @@ func NewQuerySubspaceParamsCmd() *cobra.Command { return err } - return clientCtx.PrintOutput(res.GetParams()) + return clientCtx.PrintOutput(res.GetParam()) }, } diff --git a/x/params/keeper/grpc_query.go b/x/params/keeper/grpc_query.go index 392b87a65d..2cfa1c8042 100644 --- a/x/params/keeper/grpc_query.go +++ b/x/params/keeper/grpc_query.go @@ -30,7 +30,7 @@ func (k Keeper) Params(c context.Context, req *proposal.QueryParamsRequest) (*pr ctx := sdk.UnwrapSDKContext(c) rawValue := ss.GetRaw(ctx, []byte(req.Key)) - params := proposal.NewParamChange(req.Subspace, req.Key, string(rawValue)) + param := proposal.NewParamChange(req.Subspace, req.Key, string(rawValue)) - return &proposal.QueryParamsResponse{Params: params}, nil + return &proposal.QueryParamsResponse{Param: param}, nil } diff --git a/x/params/keeper/grpc_query_test.go b/x/params/keeper/grpc_query_test.go index 437ffe1f5b..19794beb08 100644 --- a/x/params/keeper/grpc_query_test.go +++ b/x/params/keeper/grpc_query_test.go @@ -76,7 +76,7 @@ func (suite *KeeperTestSuite) TestGRPCQueryParams() { if tc.expPass { suite.Require().NoError(err) suite.Require().NotNil(res) - suite.Require().Equal(expValue, res.Params.Value) + suite.Require().Equal(expValue, res.Param.Value) } else { suite.Require().Error(err) suite.Require().Nil(res) diff --git a/x/params/types/proposal/query.pb.go b/x/params/types/proposal/query.pb.go index 915aa098f1..71b6e6830a 100644 --- a/x/params/types/proposal/query.pb.go +++ b/x/params/types/proposal/query.pb.go @@ -28,10 +28,12 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package -// QueryParamsRequest is request type for the Query/Params RPC method +// QueryParamsRequest is request type for the Query/Params RPC method. type QueryParamsRequest struct { + // subspace defines the module to query the parameter for. Subspace string `protobuf:"bytes,1,opt,name=subspace,proto3" json:"subspace,omitempty"` - Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` + // key defines the key of the parameter in the subspace. + Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` } func (m *QueryParamsRequest) Reset() { *m = QueryParamsRequest{} } @@ -81,9 +83,10 @@ func (m *QueryParamsRequest) GetKey() string { return "" } -// QueryParamsResponse is response type for the Query/Params RPC method +// QueryParamsResponse is response type for the Query/Params RPC method. type QueryParamsResponse struct { - Params ParamChange `protobuf:"bytes,1,opt,name=params,proto3" json:"params"` + // param defines the queried parameter. + Param ParamChange `protobuf:"bytes,1,opt,name=param,proto3" json:"param"` } func (m *QueryParamsResponse) Reset() { *m = QueryParamsResponse{} } @@ -119,9 +122,9 @@ func (m *QueryParamsResponse) XXX_DiscardUnknown() { var xxx_messageInfo_QueryParamsResponse proto.InternalMessageInfo -func (m *QueryParamsResponse) GetParams() ParamChange { +func (m *QueryParamsResponse) GetParam() ParamChange { if m != nil { - return m.Params + return m.Param } return ParamChange{} } @@ -142,16 +145,16 @@ var fileDescriptor_3bc356506c43c13a = []byte{ 0x53, 0x72, 0xe2, 0x12, 0x0a, 0x04, 0x99, 0x17, 0x00, 0x16, 0x0c, 0x4a, 0x2d, 0x2c, 0x4d, 0x2d, 0x2e, 0x11, 0x92, 0xe2, 0xe2, 0x28, 0x2e, 0x4d, 0x2a, 0x2e, 0x48, 0x4c, 0x4e, 0x95, 0x60, 0x54, 0x60, 0xd4, 0xe0, 0x0c, 0x82, 0xf3, 0x85, 0x04, 0xb8, 0x98, 0xb3, 0x53, 0x2b, 0x25, 0x98, 0xc0, - 0xc2, 0x20, 0xa6, 0x92, 0x3f, 0x97, 0x30, 0x8a, 0x19, 0xc5, 0x05, 0xf9, 0x79, 0xc5, 0xa9, 0x42, - 0x16, 0x5c, 0x6c, 0x10, 0xab, 0xc0, 0x46, 0x70, 0x1b, 0x49, 0xe9, 0xa1, 0x38, 0x56, 0x0f, 0xac, - 0xdc, 0x39, 0x23, 0x31, 0x2f, 0x3d, 0xd5, 0x89, 0xe5, 0xc4, 0x3d, 0x79, 0x86, 0x20, 0xa8, 0x7a, - 0xa3, 0x28, 0x2e, 0x56, 0xb0, 0x81, 0x42, 0x81, 0x5c, 0x6c, 0x10, 0x43, 0x85, 0x14, 0xd1, 0x34, - 0x63, 0x3a, 0x5a, 0x4a, 0x09, 0x9f, 0x12, 0x88, 0x9b, 0x94, 0x18, 0x9c, 0xfc, 0x4e, 0x3c, 0x92, + 0xc2, 0x20, 0xa6, 0x92, 0x2f, 0x97, 0x30, 0x8a, 0x19, 0xc5, 0x05, 0xf9, 0x79, 0xc5, 0xa9, 0x42, + 0x66, 0x5c, 0xac, 0x60, 0xab, 0xc0, 0x26, 0x70, 0x1b, 0x49, 0xe9, 0xa1, 0xb8, 0x55, 0x0f, 0xac, + 0xda, 0x39, 0x23, 0x31, 0x2f, 0x3d, 0xd5, 0x89, 0xe5, 0xc4, 0x3d, 0x79, 0x86, 0x20, 0x88, 0x72, + 0xa3, 0x28, 0x2e, 0x56, 0xb0, 0x71, 0x42, 0x81, 0x5c, 0x6c, 0x10, 0x23, 0x85, 0x14, 0xd1, 0xf4, + 0x62, 0x3a, 0x59, 0x4a, 0x09, 0x9f, 0x12, 0x88, 0x8b, 0x94, 0x18, 0x9c, 0xfc, 0x4e, 0x3c, 0x92, 0x63, 0xbc, 0xf0, 0x48, 0x8e, 0xf1, 0xc1, 0x23, 0x39, 0xc6, 0x09, 0x8f, 0xe5, 0x18, 0x2e, 0x3c, 0x96, 0x63, 0xb8, 0xf1, 0x58, 0x8e, 0x21, 0xca, 0x24, 0x3d, 0xb3, 0x24, 0xa3, 0x34, 0x49, 0x2f, - 0x39, 0x3f, 0x57, 0x1f, 0x1a, 0x62, 0x10, 0x4a, 0xb7, 0x38, 0x25, 0x5b, 0xbf, 0x02, 0x16, 0x7c, + 0x39, 0x3f, 0x57, 0x1f, 0x1a, 0x5e, 0x10, 0x4a, 0xb7, 0x38, 0x25, 0x5b, 0xbf, 0x02, 0x16, 0x78, 0x25, 0x95, 0x05, 0xa9, 0xc5, 0xfa, 0x05, 0x45, 0xf9, 0x05, 0xf9, 0xc5, 0x89, 0x39, 0x49, 0x6c, - 0xe0, 0x70, 0x34, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0x88, 0x12, 0x84, 0xa6, 0xa5, 0x01, 0x00, + 0xe0, 0x50, 0x34, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0x85, 0xc8, 0x5e, 0x08, 0xa3, 0x01, 0x00, 0x00, } @@ -167,7 +170,7 @@ const _ = grpc.SupportPackageIsVersion4 // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type QueryClient interface { - // Params queries all parameters of the params module + // Params queries a specific parameter of a module, given its subspace and key. Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) } @@ -190,7 +193,7 @@ func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts . // QueryServer is the server API for Query service. type QueryServer interface { - // Params queries all parameters of the params module + // Params queries a specific parameter of a module, given its subspace and key. Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) } @@ -295,7 +298,7 @@ func (m *QueryParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { var l int _ = l { - size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.Param.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -341,7 +344,7 @@ func (m *QueryParamsResponse) Size() (n int) { } var l int _ = l - l = m.Params.Size() + l = m.Param.Size() n += 1 + l + sovQuery(uint64(l)) return n } @@ -500,7 +503,7 @@ func (m *QueryParamsResponse) Unmarshal(dAtA []byte) error { switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Param", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -527,7 +530,7 @@ func (m *QueryParamsResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Param.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex diff --git a/x/staking/types/query.pb.go b/x/staking/types/query.pb.go index 0637be19ca..15423d4ddf 100644 --- a/x/staking/types/query.pb.go +++ b/x/staking/types/query.pb.go @@ -30,9 +30,11 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package -// QueryValidatorsRequest is request type for Query/Validators RPC method +// QueryValidatorsRequest is request type for Query/Validators RPC method. type QueryValidatorsRequest struct { - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + // status enables to query for validators matching a given status. + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + // pagination defines an optional pagination for the request. Pagination *query.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } @@ -85,7 +87,9 @@ func (m *QueryValidatorsRequest) GetPagination() *query.PageRequest { // QueryValidatorsResponse is response type for the Query/Validators RPC method type QueryValidatorsResponse struct { - Validators []Validator `protobuf:"bytes,1,rep,name=validators,proto3" json:"validators"` + // validators contains all the queried validators + Validators []Validator `protobuf:"bytes,1,rep,name=validators,proto3" json:"validators"` + // pagination defines the pagination in the response. Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } @@ -138,6 +142,7 @@ func (m *QueryValidatorsResponse) GetPagination() *query.PageResponse { // QueryValidatorRequest is response type for the Query/Validator RPC method type QueryValidatorRequest struct { + // validator_addr defines the validator address to query for. ValidatorAddr github_com_cosmos_cosmos_sdk_types.ValAddress `protobuf:"bytes,1,opt,name=validator_addr,json=validatorAddr,proto3,casttype=github.com/cosmos/cosmos-sdk/types.ValAddress" json:"validator_addr,omitempty"` } @@ -183,6 +188,7 @@ func (m *QueryValidatorRequest) GetValidatorAddr() github_com_cosmos_cosmos_sdk_ // QueryValidatorResponse is response type for the Query/Validator RPC method type QueryValidatorResponse struct { + // validator defines the the validator info. Validator Validator `protobuf:"bytes,1,opt,name=validator,proto3" json:"validator"` } @@ -228,8 +234,10 @@ func (m *QueryValidatorResponse) GetValidator() Validator { // QueryValidatorDelegationsRequest is request type for the Query/ValidatorDelegations RPC method type QueryValidatorDelegationsRequest struct { + // validator_addr defines the validator address to query for. ValidatorAddr github_com_cosmos_cosmos_sdk_types.ValAddress `protobuf:"bytes,1,opt,name=validator_addr,json=validatorAddr,proto3,casttype=github.com/cosmos/cosmos-sdk/types.ValAddress" json:"validator_addr,omitempty"` - Pagination *query.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` + // pagination defines an optional pagination for the request. + Pagination *query.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } func (m *QueryValidatorDelegationsRequest) Reset() { *m = QueryValidatorDelegationsRequest{} } @@ -282,7 +290,8 @@ func (m *QueryValidatorDelegationsRequest) GetPagination() *query.PageRequest { // QueryValidatorDelegationsRequest is response type for the Query/ValidatorDelegations RPC method type QueryValidatorDelegationsResponse struct { DelegationResponses DelegationResponses `protobuf:"bytes,1,rep,name=delegation_responses,json=delegationResponses,proto3,castrepeated=DelegationResponses" json:"delegation_responses"` - Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` + // pagination defines the pagination in the response. + Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } func (m *QueryValidatorDelegationsResponse) Reset() { *m = QueryValidatorDelegationsResponse{} } @@ -334,8 +343,10 @@ func (m *QueryValidatorDelegationsResponse) GetPagination() *query.PageResponse // QueryValidatorUnbondingDelegationsRequest is required type for the Query/ValidatorUnbondingDelegations RPC method type QueryValidatorUnbondingDelegationsRequest struct { + // validator_addr defines the validator address to query for. ValidatorAddr github_com_cosmos_cosmos_sdk_types.ValAddress `protobuf:"bytes,1,opt,name=validator_addr,json=validatorAddr,proto3,casttype=github.com/cosmos/cosmos-sdk/types.ValAddress" json:"validator_addr,omitempty"` - Pagination *query.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` + // pagination defines an optional pagination for the request. + Pagination *query.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } func (m *QueryValidatorUnbondingDelegationsRequest) Reset() { @@ -389,10 +400,11 @@ func (m *QueryValidatorUnbondingDelegationsRequest) GetPagination() *query.PageR return nil } -// QueryValidatorUnbondingDelegationsResponse is response type for the Query/ValidatorUnbondingDelegations RPC method +// QueryValidatorUnbondingDelegationsResponse is response type for the Query/ValidatorUnbondingDelegations RPC method. type QueryValidatorUnbondingDelegationsResponse struct { UnbondingResponses []UnbondingDelegation `protobuf:"bytes,1,rep,name=unbonding_responses,json=unbondingResponses,proto3" json:"unbonding_responses"` - Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` + // pagination defines the pagination in the response. + Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } func (m *QueryValidatorUnbondingDelegationsResponse) Reset() { @@ -446,9 +458,11 @@ func (m *QueryValidatorUnbondingDelegationsResponse) GetPagination() *query.Page return nil } -// QueryDelegationRequest is request type for the Query/Delegation RPC method +// QueryDelegationRequest is request type for the Query/Delegation RPC method. type QueryDelegationRequest struct { + // delegator_addr defines the delegator address to query for. DelegatorAddr github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=delegator_addr,json=delegatorAddr,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"delegator_addr,omitempty"` + // validator_addr defines the validator address to query for. ValidatorAddr github_com_cosmos_cosmos_sdk_types.ValAddress `protobuf:"bytes,2,opt,name=validator_addr,json=validatorAddr,proto3,casttype=github.com/cosmos/cosmos-sdk/types.ValAddress" json:"validator_addr,omitempty"` } @@ -499,9 +513,10 @@ func (m *QueryDelegationRequest) GetValidatorAddr() github_com_cosmos_cosmos_sdk return nil } -// QueryDelegationResponse is response type for the Query/Delegation RPC method +// QueryDelegationResponse is response type for the Query/Delegation RPC method. type QueryDelegationResponse struct { - DelegationResponse *DelegationResponse `protobuf:"bytes,1,opt,name=delegation_response,json=delegationResponse,proto3,casttype=DelegationResponse" json:"delegation_response,omitempty"` + // delegation_responses defines the delegation info of a delegation. + DelegationResponse *DelegationResponse `protobuf:"bytes,1,opt,name=delegation_response,json=delegationResponse,proto3" json:"delegation_response,omitempty"` } func (m *QueryDelegationResponse) Reset() { *m = QueryDelegationResponse{} } @@ -544,9 +559,11 @@ func (m *QueryDelegationResponse) GetDelegationResponse() *DelegationResponse { return nil } -// QueryUnbondingDelegationRequest is request type for the Query/UnbondingDelegation RPC method +// QueryUnbondingDelegationRequest is request type for the Query/UnbondingDelegation RPC method. type QueryUnbondingDelegationRequest struct { + // delegator_addr defines the delegator address to query for. DelegatorAddr github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=delegator_addr,json=delegatorAddr,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"delegator_addr,omitempty"` + // validator_addr defines the validator address to query for. ValidatorAddr github_com_cosmos_cosmos_sdk_types.ValAddress `protobuf:"bytes,2,opt,name=validator_addr,json=validatorAddr,proto3,casttype=github.com/cosmos/cosmos-sdk/types.ValAddress" json:"validator_addr,omitempty"` } @@ -597,8 +614,9 @@ func (m *QueryUnbondingDelegationRequest) GetValidatorAddr() github_com_cosmos_c return nil } -// QueryDelegationResponse is response type for the Query/UnbondingDelegation RPC method +// QueryDelegationResponse is response type for the Query/UnbondingDelegation RPC method. type QueryUnbondingDelegationResponse struct { + // unbond defines the unbonding information of a delegation. Unbond UnbondingDelegation `protobuf:"bytes,1,opt,name=unbond,proto3" json:"unbond"` } @@ -642,10 +660,12 @@ func (m *QueryUnbondingDelegationResponse) GetUnbond() UnbondingDelegation { return UnbondingDelegation{} } -// QueryDelegatorDelegationsRequest is request type for the Query/DelegatorDelegations RPC method +// QueryDelegatorDelegationsRequest is request type for the Query/DelegatorDelegations RPC method. type QueryDelegatorDelegationsRequest struct { + // delegator_addr defines the delegator address to query for. DelegatorAddr github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=delegator_addr,json=delegatorAddr,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"delegator_addr,omitempty"` - Pagination *query.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` + // pagination defines an optional pagination for the request. + Pagination *query.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } func (m *QueryDelegatorDelegationsRequest) Reset() { *m = QueryDelegatorDelegationsRequest{} } @@ -695,10 +715,12 @@ func (m *QueryDelegatorDelegationsRequest) GetPagination() *query.PageRequest { return nil } -// QueryDelegatorDelegationsResponse is response type for the Query/DelegatorDelegations RPC method +// QueryDelegatorDelegationsResponse is response type for the Query/DelegatorDelegations RPC method. type QueryDelegatorDelegationsResponse struct { + // delegation_responses defines all the delegations' info of a delegator. DelegationResponses []DelegationResponse `protobuf:"bytes,1,rep,name=delegation_responses,json=delegationResponses,proto3" json:"delegation_responses"` - Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` + // pagination defines the pagination in the response. + Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } func (m *QueryDelegatorDelegationsResponse) Reset() { *m = QueryDelegatorDelegationsResponse{} } @@ -748,10 +770,12 @@ func (m *QueryDelegatorDelegationsResponse) GetPagination() *query.PageResponse return nil } -// QueryDelegatorUnbondingDelegationsRequest is request type for the Query/DelegatorUnbondingDelegations RPC method +// QueryDelegatorUnbondingDelegationsRequest is request type for the Query/DelegatorUnbondingDelegations RPC method. type QueryDelegatorUnbondingDelegationsRequest struct { + // delegator_addr defines the delegator address to query for. DelegatorAddr github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=delegator_addr,json=delegatorAddr,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"delegator_addr,omitempty"` - Pagination *query.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` + // pagination defines an optional pagination for the request. + Pagination *query.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } func (m *QueryDelegatorUnbondingDelegationsRequest) Reset() { @@ -805,10 +829,11 @@ func (m *QueryDelegatorUnbondingDelegationsRequest) GetPagination() *query.PageR return nil } -// QueryUnbondingDelegatorDelegationsResponse is response type for the Query/UnbondingDelegatorDelegations RPC method +// QueryUnbondingDelegatorDelegationsResponse is response type for the Query/UnbondingDelegatorDelegations RPC method. type QueryDelegatorUnbondingDelegationsResponse struct { UnbondingResponses []UnbondingDelegation `protobuf:"bytes,1,rep,name=unbonding_responses,json=unbondingResponses,proto3" json:"unbonding_responses"` - Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` + // pagination defines the pagination in the response. + Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } func (m *QueryDelegatorUnbondingDelegationsResponse) Reset() { @@ -862,12 +887,16 @@ func (m *QueryDelegatorUnbondingDelegationsResponse) GetPagination() *query.Page return nil } -// QueryRedelegationsRequest is request type for the Query/Redelegations RPC method +// QueryRedelegationsRequest is request type for the Query/Redelegations RPC method. type QueryRedelegationsRequest struct { - DelegatorAddr github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=delegator_addr,json=delegatorAddr,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"delegator_addr,omitempty"` + // delegator_addr defines the delegator address to query for. + DelegatorAddr github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=delegator_addr,json=delegatorAddr,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"delegator_addr,omitempty"` + // src_validator_addr defines the validator address to redelegate from. SrcValidatorAddr github_com_cosmos_cosmos_sdk_types.ValAddress `protobuf:"bytes,2,opt,name=src_validator_addr,json=srcValidatorAddr,proto3,casttype=github.com/cosmos/cosmos-sdk/types.ValAddress" json:"src_validator_addr,omitempty"` + // dst_validator_addr defines the validator address to redelegate to. DstValidatorAddr github_com_cosmos_cosmos_sdk_types.ValAddress `protobuf:"bytes,3,opt,name=dst_validator_addr,json=dstValidatorAddr,proto3,casttype=github.com/cosmos/cosmos-sdk/types.ValAddress" json:"dst_validator_addr,omitempty"` - Pagination *query.PageRequest `protobuf:"bytes,4,opt,name=pagination,proto3" json:"pagination,omitempty"` + // pagination defines an optional pagination for the request. + Pagination *query.PageRequest `protobuf:"bytes,4,opt,name=pagination,proto3" json:"pagination,omitempty"` } func (m *QueryRedelegationsRequest) Reset() { *m = QueryRedelegationsRequest{} } @@ -931,10 +960,11 @@ func (m *QueryRedelegationsRequest) GetPagination() *query.PageRequest { return nil } -// QueryRedelegationsResponse is response type for the Query/Redelegations RPC method +// QueryRedelegationsResponse is response type for the Query/Redelegations RPC method. type QueryRedelegationsResponse struct { RedelegationResponses []RedelegationResponse `protobuf:"bytes,1,rep,name=redelegation_responses,json=redelegationResponses,proto3" json:"redelegation_responses"` - Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` + // pagination defines the pagination in the response. + Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } func (m *QueryRedelegationsResponse) Reset() { *m = QueryRedelegationsResponse{} } @@ -984,10 +1014,12 @@ func (m *QueryRedelegationsResponse) GetPagination() *query.PageResponse { return nil } -// QueryDelegatorValidatorsRequest is request type for the Query/DelegatorValidators RPC method +// QueryDelegatorValidatorsRequest is request type for the Query/DelegatorValidators RPC method. type QueryDelegatorValidatorsRequest struct { + // delegator_addr defines the delegator address to query for. DelegatorAddr github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=delegator_addr,json=delegatorAddr,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"delegator_addr,omitempty"` - Pagination *query.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` + // pagination defines an optional pagination for the request. + Pagination *query.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } func (m *QueryDelegatorValidatorsRequest) Reset() { *m = QueryDelegatorValidatorsRequest{} } @@ -1037,9 +1069,11 @@ func (m *QueryDelegatorValidatorsRequest) GetPagination() *query.PageRequest { return nil } -// QueryDelegatorValidatorsResponse is response type for the Query/DelegatorValidators RPC method +// QueryDelegatorValidatorsResponse is response type for the Query/DelegatorValidators RPC method. type QueryDelegatorValidatorsResponse struct { - Validators []Validator `protobuf:"bytes,1,rep,name=validators,proto3" json:"validators"` + // validators defines the the validators' info of a delegator. + Validators []Validator `protobuf:"bytes,1,rep,name=validators,proto3" json:"validators"` + // pagination defines the pagination in the response. Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` } @@ -1090,9 +1124,11 @@ func (m *QueryDelegatorValidatorsResponse) GetPagination() *query.PageResponse { return nil } -// QueryDelegatorValidatorRequest is request type for the Query/DelegatorValidator RPC method +// QueryDelegatorValidatorRequest is request type for the Query/DelegatorValidator RPC method. type QueryDelegatorValidatorRequest struct { + // delegator_addr defines the delegator address to query for. DelegatorAddr github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=delegator_addr,json=delegatorAddr,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"delegator_addr,omitempty"` + // validator_addr defines the validator address to query for. ValidatorAddr github_com_cosmos_cosmos_sdk_types.ValAddress `protobuf:"bytes,2,opt,name=validator_addr,json=validatorAddr,proto3,casttype=github.com/cosmos/cosmos-sdk/types.ValAddress" json:"validator_addr,omitempty"` } @@ -1143,8 +1179,9 @@ func (m *QueryDelegatorValidatorRequest) GetValidatorAddr() github_com_cosmos_co return nil } -// QueryDelegatorValidatorResponse response type for the Query/DelegatorValidator RPC method +// QueryDelegatorValidatorResponse response type for the Query/DelegatorValidator RPC method. type QueryDelegatorValidatorResponse struct { + // validator defines the the validator info. Validator Validator `protobuf:"bytes,1,opt,name=validator,proto3" json:"validator"` } @@ -1188,8 +1225,9 @@ func (m *QueryDelegatorValidatorResponse) GetValidator() Validator { return Validator{} } -// QueryHistoricalInfoRequest is request type for the Query/HistoricalInfo RPC method +// QueryHistoricalInfoRequest is request type for the Query/HistoricalInfo RPC method. type QueryHistoricalInfoRequest struct { + // height defines at which height to query the historical info. Height int64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"` } @@ -1233,8 +1271,9 @@ func (m *QueryHistoricalInfoRequest) GetHeight() int64 { return 0 } -// QueryHistoricalInfoResponse is response type for the Query/HistoricalInfo RPC method +// QueryHistoricalInfoResponse is response type for the Query/HistoricalInfo RPC method. type QueryHistoricalInfoResponse struct { + // hist defines the historical info at the given height. Hist *HistoricalInfo `protobuf:"bytes,1,opt,name=hist,proto3" json:"hist,omitempty"` } @@ -1278,7 +1317,7 @@ func (m *QueryHistoricalInfoResponse) GetHist() *HistoricalInfo { return nil } -// QueryPoolRequest is request type for the Query/Pool RPC method +// QueryPoolRequest is request type for the Query/Pool RPC method. type QueryPoolRequest struct { } @@ -1315,8 +1354,9 @@ func (m *QueryPoolRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryPoolRequest proto.InternalMessageInfo -// QueryPoolResponse is response type for the Query/Pool RPC method +// QueryPoolResponse is response type for the Query/Pool RPC method. type QueryPoolResponse struct { + // pool defines the pool info. Pool Pool `protobuf:"bytes,1,opt,name=pool,proto3" json:"pool"` } @@ -1360,7 +1400,7 @@ func (m *QueryPoolResponse) GetPool() Pool { return Pool{} } -// QueryParamsRequest is request type for the Query/Params RPC method +// QueryParamsRequest is request type for the Query/Params RPC method. type QueryParamsRequest struct { } @@ -1397,10 +1437,10 @@ func (m *QueryParamsRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryParamsRequest proto.InternalMessageInfo -// QueryParamsResponse is response type for the Query/Params RPC method +// QueryParamsResponse is response type for the Query/Params RPC method. type QueryParamsResponse struct { - Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"` - Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` + // params holds all the parameters of this module. + Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"` } func (m *QueryParamsResponse) Reset() { *m = QueryParamsResponse{} } @@ -1443,13 +1483,6 @@ func (m *QueryParamsResponse) GetParams() Params { return Params{} } -func (m *QueryParamsResponse) GetPagination() *query.PageResponse { - if m != nil { - return m.Pagination - } - return nil -} - func init() { proto.RegisterType((*QueryValidatorsRequest)(nil), "cosmos.staking.QueryValidatorsRequest") proto.RegisterType((*QueryValidatorsResponse)(nil), "cosmos.staking.QueryValidatorsResponse") @@ -1484,76 +1517,75 @@ func init() { func init() { proto.RegisterFile("cosmos/staking/query.proto", fileDescriptor_802d43a0c79dce0e) } var fileDescriptor_802d43a0c79dce0e = []byte{ - // 1099 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x58, 0x41, 0x6f, 0x1b, 0x45, - 0x14, 0xf6, 0x24, 0xc1, 0x52, 0x1e, 0x6d, 0x54, 0xc6, 0xae, 0x49, 0xb7, 0xd4, 0x76, 0xb7, 0x50, - 0xda, 0x42, 0xed, 0x34, 0xf4, 0xd2, 0x4a, 0x08, 0x25, 0x54, 0x08, 0x0e, 0x48, 0xed, 0x22, 0x02, - 0x2a, 0x48, 0x66, 0xe3, 0x5d, 0xd6, 0x2b, 0x3b, 0x1e, 0x67, 0x67, 0x0d, 0x14, 0x89, 0x2b, 0x5c, - 0x39, 0x21, 0x6e, 0xdc, 0xf9, 0x01, 0x70, 0x80, 0x03, 0x07, 0x24, 0x7a, 0xe0, 0x50, 0x09, 0x90, - 0x38, 0x05, 0x94, 0xfc, 0x03, 0x8e, 0x3d, 0x21, 0xcf, 0xbe, 0x1d, 0xaf, 0x77, 0x67, 0x37, 0x9b, - 0xd8, 0xa9, 0x92, 0x93, 0xed, 0x99, 0xf7, 0xbe, 0xf7, 0xe6, 0x7b, 0x6f, 0xde, 0x7b, 0x63, 0xd0, - 0xda, 0x8c, 0x6f, 0x31, 0xde, 0xe4, 0xbe, 0xd9, 0x75, 0xfb, 0x4e, 0x73, 0x7b, 0x68, 0x7b, 0x0f, - 0x1a, 0x03, 0x8f, 0xf9, 0x8c, 0x2e, 0x05, 0x7b, 0x0d, 0xdc, 0xd3, 0x2e, 0xa0, 0xac, 0x90, 0x69, - 0x0e, 0x4c, 0xc7, 0xed, 0x9b, 0xbe, 0xcb, 0xfa, 0x81, 0xb8, 0x56, 0x76, 0x98, 0xc3, 0xc4, 0xd7, - 0xe6, 0xe8, 0x1b, 0xae, 0x3e, 0x17, 0x33, 0x80, 0x9f, 0xc1, 0xae, 0xde, 0x85, 0xca, 0xbd, 0x11, - 0xda, 0x86, 0xd9, 0x73, 0x2d, 0xd3, 0x67, 0x1e, 0x37, 0xec, 0xed, 0xa1, 0xcd, 0x7d, 0x5a, 0x81, - 0x22, 0xf7, 0x4d, 0x7f, 0xc8, 0x97, 0x49, 0x9d, 0x5c, 0x59, 0x34, 0xf0, 0x17, 0xbd, 0x05, 0x30, - 0xb6, 0xbc, 0x3c, 0x57, 0x27, 0x57, 0x9e, 0x5e, 0x3d, 0xd7, 0x40, 0x4f, 0x03, 0xef, 0xef, 0x9a, - 0x8e, 0x8d, 0x30, 0x46, 0x44, 0x58, 0xff, 0x86, 0xc0, 0xb3, 0x09, 0x6b, 0x7c, 0xc0, 0xfa, 0xdc, - 0xa6, 0xaf, 0x01, 0x7c, 0x22, 0x57, 0x97, 0x49, 0x7d, 0x3e, 0x0a, 0x1b, 0xfa, 0x2c, 0xf5, 0xd6, - 0x17, 0x1e, 0xee, 0xd4, 0x0a, 0x46, 0x44, 0x85, 0xde, 0x56, 0xf8, 0xa5, 0xa9, 0xfc, 0x0a, 0x0c, - 0x4e, 0x38, 0xb6, 0x0d, 0x67, 0x27, 0xfd, 0x0a, 0x49, 0x78, 0x1f, 0x96, 0xa4, 0x89, 0x96, 0x69, - 0x59, 0x9e, 0x20, 0xe3, 0xd4, 0xfa, 0x8d, 0xc7, 0x3b, 0xb5, 0xeb, 0x8e, 0xeb, 0x77, 0x86, 0x9b, - 0x8d, 0x36, 0xdb, 0x6a, 0x22, 0xc7, 0xc1, 0xc7, 0x75, 0x6e, 0x75, 0x9b, 0xfe, 0x83, 0x81, 0xcd, - 0x47, 0x0e, 0xaf, 0x59, 0x96, 0x67, 0x73, 0x6e, 0x9c, 0x96, 0x40, 0xa3, 0x15, 0xfd, 0xbd, 0x38, - 0xf1, 0x92, 0x89, 0x57, 0x61, 0x51, 0x8a, 0x0a, 0x73, 0x39, 0x88, 0x18, 0x6b, 0xe8, 0x3f, 0x12, - 0xa8, 0x4f, 0x22, 0xdf, 0xb1, 0x7b, 0xb6, 0x23, 0x0e, 0xca, 0x8f, 0xfc, 0x5c, 0xd3, 0xa4, 0xc7, - 0x1f, 0x04, 0x2e, 0x66, 0x78, 0x8e, 0xf4, 0x78, 0x50, 0xb6, 0xe4, 0x72, 0xcb, 0xc3, 0xe5, 0x30, - 0x65, 0xf4, 0x38, 0x53, 0x63, 0x88, 0x10, 0x61, 0xfd, 0xfc, 0x88, 0xb2, 0xef, 0xff, 0xa9, 0x95, - 0x92, 0x7b, 0xdc, 0x28, 0x59, 0xc9, 0xc5, 0xa9, 0x72, 0xeb, 0x17, 0x02, 0x57, 0x27, 0x4f, 0xf5, - 0x6e, 0x7f, 0x93, 0xf5, 0x2d, 0xb7, 0xef, 0x9c, 0x94, 0xc0, 0xfc, 0x4a, 0xe0, 0x5a, 0x9e, 0x23, - 0x60, 0x84, 0xee, 0x43, 0x69, 0x18, 0xee, 0x27, 0x02, 0x74, 0x29, 0x1e, 0x20, 0x05, 0x14, 0x26, - 0x35, 0x95, 0x28, 0xb3, 0x89, 0xc4, 0xef, 0x04, 0xef, 0x5c, 0x34, 0xee, 0x92, 0x76, 0x8c, 0xfb, - 0xe1, 0x68, 0x5f, 0x6b, 0xb7, 0x25, 0xed, 0x12, 0x48, 0xd0, 0x9e, 0x0c, 0xe8, 0xdc, 0x8c, 0x2a, - 0xc8, 0x97, 0x61, 0x35, 0x4d, 0xa6, 0x31, 0xed, 0x42, 0x49, 0x71, 0x49, 0xb0, 0x9a, 0xe4, 0xb9, - 0x23, 0x95, 0xc7, 0x3b, 0x35, 0x9a, 0x5c, 0x37, 0x68, 0xf2, 0x7a, 0xe8, 0x7f, 0x11, 0xa8, 0x09, - 0x47, 0x14, 0xa1, 0x3c, 0xc9, 0x04, 0xdb, 0x58, 0x48, 0x95, 0xc7, 0x42, 0xa2, 0xd7, 0xa0, 0x18, - 0x64, 0x29, 0x72, 0x7b, 0x80, 0xf4, 0x46, 0xc5, 0x71, 0xc1, 0xbe, 0x13, 0x9e, 0x4b, 0x5d, 0x17, - 0x8e, 0x88, 0xbf, 0x29, 0xea, 0xc2, 0xcf, 0x61, 0xc1, 0x56, 0x7b, 0x8e, 0x14, 0x7d, 0x30, 0x75, - 0xc1, 0x0e, 0xf8, 0x3a, 0xba, 0xca, 0x2c, 0xdd, 0xdf, 0xa7, 0x32, 0x1f, 0xbf, 0x08, 0xc8, 0xca, - 0xbc, 0xcf, 0x11, 0x8e, 0x79, 0x65, 0xfe, 0x6f, 0x0e, 0xce, 0x89, 0x63, 0x18, 0xb6, 0xf5, 0x24, - 0x99, 0x6f, 0x01, 0xe5, 0x5e, 0xbb, 0x35, 0xab, 0xfa, 0x71, 0x86, 0x7b, 0xed, 0x8d, 0x89, 0xa6, - 0xdb, 0x02, 0x6a, 0x71, 0x3f, 0x6e, 0x60, 0xfe, 0xd0, 0x06, 0x2c, 0xee, 0x6f, 0x64, 0x74, 0xf5, - 0x85, 0x83, 0xe4, 0xce, 0x4f, 0x04, 0x34, 0x15, 0xe9, 0x98, 0x2b, 0x26, 0x54, 0x3c, 0x3b, 0xe3, - 0xe2, 0x3e, 0x1f, 0x4f, 0x97, 0x28, 0x4c, 0xec, 0xea, 0x9e, 0xf5, 0xec, 0x59, 0x5f, 0xde, 0x1f, - 0xc2, 0xa6, 0x23, 0x33, 0x3f, 0xf9, 0x84, 0x39, 0x96, 0x57, 0xf6, 0xbb, 0x44, 0xb9, 0x3f, 0x6e, - 0xaf, 0xa1, 0x3f, 0x09, 0x54, 0x53, 0x3c, 0x3c, 0xc9, 0xed, 0xfc, 0xa3, 0xd4, 0x84, 0x99, 0xd5, - 0xd3, 0xeb, 0x26, 0x5e, 0xa8, 0x37, 0x5d, 0xee, 0x33, 0xcf, 0x6d, 0x9b, 0xbd, 0xb7, 0xfa, 0x1f, - 0xb3, 0xc8, 0x83, 0xba, 0x63, 0xbb, 0x4e, 0xc7, 0x17, 0xc8, 0xf3, 0x06, 0xfe, 0xd2, 0xef, 0xc1, - 0x79, 0xa5, 0x16, 0xfa, 0xb4, 0x0a, 0x0b, 0x1d, 0x97, 0xfb, 0xe8, 0x4e, 0x35, 0xee, 0x4e, 0x4c, - 0x4b, 0xc8, 0xea, 0x14, 0xce, 0x08, 0xc8, 0xbb, 0x8c, 0xf5, 0xd0, 0xbc, 0xfe, 0x3a, 0x3c, 0x13, - 0x59, 0x43, 0xf0, 0x06, 0x2c, 0x0c, 0x18, 0xeb, 0x21, 0x78, 0x39, 0x0e, 0x3e, 0x92, 0xc5, 0x63, - 0x0a, 0x39, 0xbd, 0x0c, 0x34, 0x00, 0x31, 0x3d, 0x73, 0x2b, 0xbc, 0x67, 0xfa, 0x57, 0x04, 0x4a, - 0x13, 0xcb, 0x88, 0x7e, 0x13, 0x8a, 0x03, 0xb1, 0x82, 0xf8, 0x95, 0x04, 0xbe, 0xd8, 0x0d, 0xe7, - 0xa1, 0x40, 0x76, 0x9a, 0xd4, 0x5d, 0xfd, 0xed, 0x14, 0x3c, 0x25, 0x3c, 0xa1, 0x2d, 0x80, 0xf1, - 0xbd, 0xa2, 0x97, 0xe3, 0x96, 0xd5, 0x7f, 0x7a, 0x68, 0x2f, 0xee, 0x2b, 0x87, 0x33, 0x6f, 0x81, - 0x7e, 0x08, 0x8b, 0x72, 0x9d, 0xbe, 0x90, 0xad, 0x17, 0xc2, 0x5f, 0xde, 0x4f, 0x4c, 0xa2, 0x7f, - 0x01, 0x65, 0xd5, 0x2b, 0x98, 0xae, 0x64, 0x23, 0x24, 0xe7, 0x16, 0xed, 0xc6, 0x01, 0x34, 0xa4, - 0xf9, 0x6f, 0x09, 0x5c, 0xc8, 0x7c, 0xec, 0xd1, 0x5b, 0xd9, 0xb0, 0x19, 0x93, 0x94, 0x76, 0xfb, - 0x30, 0xaa, 0xd2, 0xb5, 0x16, 0xc0, 0x78, 0x23, 0x25, 0xb0, 0x89, 0xf7, 0x47, 0x4a, 0x60, 0x93, - 0xb3, 0xa6, 0x5e, 0xa0, 0x9f, 0x43, 0x49, 0xe1, 0x02, 0x6d, 0x2a, 0x11, 0xd2, 0x9f, 0x3c, 0xda, - 0x4a, 0x7e, 0x85, 0x68, 0xd8, 0x55, 0xb3, 0x74, 0x4a, 0xd8, 0x33, 0x1e, 0x0c, 0x29, 0x61, 0xcf, - 0x1a, 0xd4, 0x31, 0xec, 0x99, 0x93, 0x64, 0x4a, 0xd8, 0xf3, 0x0c, 0xd0, 0x29, 0x61, 0xcf, 0x35, - 0xb8, 0xea, 0x05, 0xda, 0x81, 0xd3, 0x13, 0x73, 0x0a, 0xbd, 0xaa, 0x84, 0x53, 0x0d, 0x90, 0xda, - 0xb5, 0x3c, 0xa2, 0xd1, 0xf8, 0x2b, 0x5a, 0x73, 0x4a, 0xfc, 0xd3, 0xa7, 0x0f, 0x6d, 0x25, 0xbf, - 0x82, 0xb4, 0xfd, 0x29, 0xd0, 0xa4, 0x00, 0x6d, 0xe4, 0x44, 0x0a, 0x2d, 0x37, 0x73, 0xcb, 0x4b, - 0xc3, 0x5d, 0x58, 0x9a, 0xec, 0x24, 0x54, 0x4d, 0x9a, 0xb2, 0xb5, 0x69, 0x2f, 0xe5, 0x92, 0x95, - 0xc6, 0xde, 0x86, 0x85, 0x51, 0x67, 0xa1, 0x75, 0xa5, 0x5a, 0xa4, 0x69, 0x69, 0x17, 0x33, 0x24, - 0x24, 0xdc, 0x3b, 0x50, 0x0c, 0x1a, 0x09, 0xd5, 0xd5, 0xe2, 0xd1, 0x66, 0xa5, 0x5d, 0xca, 0x94, - 0x09, 0x41, 0xd7, 0xdf, 0x78, 0xb8, 0x5b, 0x25, 0x8f, 0x76, 0xab, 0xe4, 0xdf, 0xdd, 0x2a, 0xf9, - 0x7a, 0xaf, 0x5a, 0x78, 0xb4, 0x57, 0x2d, 0xfc, 0xbd, 0x57, 0x2d, 0xdc, 0x7f, 0x39, 0x73, 0x0a, - 0xf9, 0x4c, 0xfe, 0xd1, 0x2e, 0xe6, 0x91, 0xcd, 0xa2, 0xf8, 0x9f, 0xfd, 0x95, 0xff, 0x03, 0x00, - 0x00, 0xff, 0xff, 0x9c, 0xed, 0xaa, 0xa9, 0xe8, 0x17, 0x00, 0x00, + // 1086 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x58, 0x4f, 0x6f, 0x1b, 0x45, + 0x14, 0xf7, 0x24, 0xc6, 0x52, 0x1e, 0x6d, 0x54, 0xc6, 0x6e, 0x48, 0xb7, 0xd4, 0x71, 0xb7, 0x50, + 0xda, 0x42, 0xed, 0x34, 0xf4, 0xd2, 0x4a, 0x08, 0x25, 0x54, 0x08, 0x84, 0x90, 0xda, 0xad, 0x08, + 0xa8, 0x20, 0x99, 0x8d, 0x77, 0x59, 0xaf, 0xe2, 0xec, 0x38, 0x3b, 0x6b, 0xa0, 0x48, 0x7c, 0x07, + 0x4e, 0x88, 0x1b, 0x77, 0x3e, 0x00, 0x1c, 0xe0, 0xc0, 0x01, 0x89, 0x1e, 0x38, 0x54, 0x02, 0x24, + 0x4e, 0x05, 0x25, 0xdf, 0x80, 0x23, 0x27, 0xe4, 0xd9, 0xb7, 0xe3, 0xfd, 0x33, 0xbb, 0xd9, 0x24, + 0x0e, 0x4a, 0x4e, 0xb6, 0x67, 0xde, 0xfb, 0xbd, 0x37, 0xbf, 0xf7, 0x67, 0xde, 0x18, 0xb4, 0x1e, + 0xe3, 0x5b, 0x8c, 0x77, 0x78, 0x60, 0x6e, 0xba, 0x9e, 0xd3, 0xd9, 0x1e, 0xd9, 0xfe, 0xc3, 0xf6, + 0xd0, 0x67, 0x01, 0xa3, 0xf3, 0xe1, 0x5e, 0x1b, 0xf7, 0xb4, 0x0b, 0x28, 0x2b, 0x64, 0x3a, 0x43, + 0xd3, 0x71, 0x3d, 0x33, 0x70, 0x99, 0x17, 0x8a, 0x6b, 0x0d, 0x87, 0x39, 0x4c, 0x7c, 0xed, 0x8c, + 0xbf, 0xe1, 0xea, 0x73, 0x29, 0x03, 0xf8, 0x19, 0xee, 0xea, 0x9b, 0xb0, 0x70, 0x6f, 0x8c, 0xb6, + 0x6e, 0x0e, 0x5c, 0xcb, 0x0c, 0x98, 0xcf, 0x0d, 0x7b, 0x7b, 0x64, 0xf3, 0x80, 0x2e, 0x40, 0x8d, + 0x07, 0x66, 0x30, 0xe2, 0x8b, 0xa4, 0x45, 0xae, 0xcc, 0x19, 0xf8, 0x8b, 0xde, 0x02, 0x98, 0x58, + 0x5e, 0x9c, 0x69, 0x91, 0x2b, 0x4f, 0xaf, 0x9c, 0x6b, 0xa3, 0xa7, 0xa1, 0xf7, 0x77, 0x4d, 0xc7, + 0x46, 0x18, 0x23, 0x26, 0xac, 0x7f, 0x45, 0xe0, 0xd9, 0x8c, 0x35, 0x3e, 0x64, 0x1e, 0xb7, 0xe9, + 0x6b, 0x00, 0x9f, 0xc8, 0xd5, 0x45, 0xd2, 0x9a, 0x8d, 0xc3, 0x46, 0x3e, 0x4b, 0xbd, 0xb5, 0xea, + 0xa3, 0x27, 0x4b, 0x15, 0x23, 0xa6, 0x42, 0x6f, 0x2b, 0xfc, 0xd2, 0x54, 0x7e, 0x85, 0x06, 0x13, + 0x8e, 0x6d, 0xc3, 0xd9, 0xa4, 0x5f, 0x11, 0x09, 0xef, 0xc3, 0xbc, 0x34, 0xd1, 0x35, 0x2d, 0xcb, + 0x17, 0x64, 0x9c, 0x5a, 0xbb, 0xf1, 0xef, 0x93, 0xa5, 0xeb, 0x8e, 0x1b, 0xf4, 0x47, 0x1b, 0xed, + 0x1e, 0xdb, 0xea, 0x20, 0xc7, 0xe1, 0xc7, 0x75, 0x6e, 0x6d, 0x76, 0x82, 0x87, 0x43, 0x9b, 0x8f, + 0x1d, 0x5e, 0xb5, 0x2c, 0xdf, 0xe6, 0xdc, 0x38, 0x2d, 0x81, 0xc6, 0x2b, 0xfa, 0x7b, 0x69, 0xe2, + 0x25, 0x13, 0xaf, 0xc2, 0x9c, 0x14, 0x15, 0xe6, 0x4a, 0x10, 0x31, 0xd1, 0xd0, 0xbf, 0x27, 0xd0, + 0x4a, 0x22, 0xdf, 0xb1, 0x07, 0xb6, 0x23, 0x0e, 0xca, 0x8f, 0xfc, 0x5c, 0x87, 0x49, 0x8f, 0xdf, + 0x08, 0x5c, 0x2c, 0xf0, 0x1c, 0xe9, 0xf1, 0xa1, 0x61, 0xc9, 0xe5, 0xae, 0x8f, 0xcb, 0x51, 0xca, + 0xe8, 0x69, 0xa6, 0x26, 0x10, 0x11, 0xc2, 0xda, 0xf9, 0x31, 0x65, 0xdf, 0xfe, 0xb5, 0x54, 0xcf, + 0xee, 0x71, 0xa3, 0x6e, 0x65, 0x17, 0x0f, 0x95, 0x5b, 0x3f, 0x11, 0xb8, 0x9a, 0x3c, 0xd5, 0xbb, + 0xde, 0x06, 0xf3, 0x2c, 0xd7, 0x73, 0x4e, 0x4a, 0x60, 0x7e, 0x26, 0x70, 0xad, 0xcc, 0x11, 0x30, + 0x42, 0x0f, 0xa0, 0x3e, 0x8a, 0xf6, 0x33, 0x01, 0xba, 0x94, 0x0e, 0x90, 0x02, 0x0a, 0x93, 0x9a, + 0x4a, 0x94, 0xe9, 0x44, 0xe2, 0x57, 0x82, 0x35, 0x17, 0x8f, 0xbb, 0xa4, 0x1d, 0xe3, 0x7e, 0x30, + 0xda, 0x57, 0x7b, 0x3d, 0x49, 0xbb, 0x04, 0x12, 0xb4, 0x67, 0x03, 0x3a, 0x33, 0xa5, 0x0e, 0xe2, + 0x61, 0x33, 0xcd, 0x66, 0x31, 0xbd, 0x0f, 0x75, 0x45, 0x8d, 0x60, 0x33, 0x29, 0x51, 0x22, 0x06, + 0xcd, 0x56, 0x81, 0xfe, 0x07, 0x81, 0x25, 0x61, 0x50, 0x11, 0xb1, 0x93, 0xcc, 0xa3, 0x8d, 0xfd, + 0x52, 0x79, 0x2c, 0x24, 0x74, 0x15, 0x6a, 0x61, 0x32, 0x22, 0x87, 0xfb, 0xc8, 0x62, 0x54, 0x9c, + 0xf4, 0xe5, 0x3b, 0xd1, 0xb9, 0xd4, 0xe5, 0x7f, 0x44, 0xfc, 0x1d, 0xa2, 0xfc, 0x7f, 0x8c, 0xfa, + 0xb2, 0xda, 0x73, 0xa4, 0xe8, 0x83, 0x43, 0xf7, 0xe5, 0x90, 0xaf, 0xa3, 0x6b, 0xc0, 0xd2, 0xfd, + 0x3d, 0x1a, 0xf0, 0xf1, 0x8b, 0x80, 0x6c, 0xc0, 0x7b, 0x1c, 0xe1, 0x98, 0x37, 0xe0, 0x7f, 0x66, + 0xe0, 0x9c, 0x38, 0x86, 0x61, 0x5b, 0xff, 0x27, 0xf3, 0x5d, 0xa0, 0xdc, 0xef, 0x75, 0xa7, 0xd5, + 0x3f, 0xce, 0x70, 0xbf, 0xb7, 0x9e, 0xb8, 0x5b, 0xbb, 0x40, 0x2d, 0x1e, 0xa4, 0x0d, 0xcc, 0x1e, + 0xd8, 0x80, 0xc5, 0x83, 0xf5, 0x82, 0xcb, 0xbb, 0xba, 0x9f, 0xdc, 0xf9, 0x81, 0x80, 0xa6, 0x22, + 0x1d, 0x73, 0xc5, 0x84, 0x05, 0xdf, 0x2e, 0x28, 0xdc, 0xe7, 0xd3, 0xe9, 0x12, 0x87, 0x49, 0x95, + 0xee, 0x59, 0xdf, 0x9e, 0x76, 0xf1, 0x7e, 0x17, 0x5d, 0x3a, 0x32, 0xf3, 0xb3, 0x2f, 0x95, 0x63, + 0x59, 0xb2, 0xdf, 0x64, 0xda, 0xfd, 0x71, 0x7b, 0xf4, 0xfc, 0x4e, 0xa0, 0x99, 0xe3, 0xe1, 0x49, + 0xbe, 0xce, 0x3f, 0xca, 0x4d, 0x98, 0x69, 0xbd, 0xb0, 0x6e, 0x62, 0x41, 0xbd, 0xe9, 0xf2, 0x80, + 0xf9, 0x6e, 0xcf, 0x1c, 0xbc, 0xe5, 0x7d, 0xcc, 0x62, 0xef, 0xe6, 0xbe, 0xed, 0x3a, 0xfd, 0x40, + 0x20, 0xcf, 0x1a, 0xf8, 0x4b, 0xbf, 0x07, 0xe7, 0x95, 0x5a, 0xe8, 0xd3, 0x0a, 0x54, 0xfb, 0x2e, + 0x0f, 0xd0, 0x9d, 0x66, 0xda, 0x9d, 0x94, 0x96, 0x90, 0xd5, 0x29, 0x9c, 0x11, 0x90, 0x77, 0x19, + 0x1b, 0xa0, 0x79, 0xfd, 0x75, 0x78, 0x26, 0xb6, 0x86, 0xe0, 0x6d, 0xa8, 0x0e, 0x19, 0x1b, 0x20, + 0x78, 0x23, 0x0d, 0x3e, 0x96, 0xc5, 0x63, 0x0a, 0x39, 0xbd, 0x01, 0x34, 0x04, 0x31, 0x7d, 0x73, + 0x2b, 0xaa, 0x33, 0xfd, 0x6d, 0xa8, 0x27, 0x56, 0x11, 0xfc, 0x26, 0xd4, 0x86, 0x62, 0x05, 0xe1, + 0x17, 0x32, 0xf0, 0x62, 0x37, 0x1a, 0x87, 0x42, 0xd9, 0x95, 0x5f, 0x4e, 0xc1, 0x53, 0x02, 0x8d, + 0x76, 0x01, 0x26, 0xa5, 0x41, 0x2f, 0xa7, 0xb5, 0xd5, 0x7f, 0x4f, 0x68, 0x2f, 0xee, 0x29, 0x87, + 0x63, 0x6b, 0x85, 0x7e, 0x08, 0x73, 0x72, 0x9d, 0xbe, 0x50, 0xac, 0x17, 0xc1, 0x5f, 0xde, 0x4b, + 0x4c, 0xa2, 0x7f, 0x01, 0x0d, 0xd5, 0x7b, 0x95, 0x2e, 0x17, 0x23, 0x64, 0x47, 0x0f, 0xed, 0xc6, + 0x3e, 0x34, 0xa4, 0xf9, 0xaf, 0x09, 0x5c, 0x28, 0x7c, 0x96, 0xd1, 0x5b, 0xc5, 0xb0, 0x05, 0xc3, + 0x90, 0x76, 0xfb, 0x20, 0xaa, 0xd2, 0xb5, 0x2e, 0xc0, 0x64, 0x23, 0x27, 0xb0, 0x99, 0x27, 0x44, + 0x4e, 0x60, 0xb3, 0xe3, 0xa2, 0x5e, 0xa1, 0x9f, 0x43, 0x5d, 0xe1, 0x02, 0xed, 0x28, 0x11, 0xf2, + 0x5f, 0x2d, 0xda, 0x72, 0x79, 0x85, 0x78, 0xd8, 0x55, 0xe3, 0x70, 0x4e, 0xd8, 0x0b, 0x66, 0xfe, + 0x9c, 0xb0, 0x17, 0xcd, 0xda, 0x18, 0xf6, 0xc2, 0x61, 0x30, 0x27, 0xec, 0x65, 0x66, 0xe0, 0x9c, + 0xb0, 0x97, 0x9a, 0x3d, 0xf5, 0x0a, 0xed, 0xc3, 0xe9, 0xc4, 0xa8, 0x41, 0xaf, 0x2a, 0xe1, 0x54, + 0x33, 0xa0, 0x76, 0xad, 0x8c, 0x68, 0x3c, 0xfe, 0x8a, 0xdb, 0x35, 0x27, 0xfe, 0xf9, 0x03, 0x84, + 0xb6, 0x5c, 0x5e, 0x41, 0xda, 0xfe, 0x14, 0x68, 0x56, 0x80, 0xb6, 0x4b, 0x22, 0x45, 0x96, 0x3b, + 0xa5, 0xe5, 0xa5, 0xe1, 0x4d, 0x98, 0x4f, 0x5e, 0x06, 0x54, 0x4d, 0x9a, 0xf2, 0x76, 0xd2, 0x5e, + 0x2a, 0x25, 0x2b, 0x8d, 0xbd, 0x03, 0xd5, 0xf1, 0xe5, 0x40, 0x5b, 0x4a, 0xb5, 0xd8, 0xbd, 0xa3, + 0x5d, 0x2c, 0x90, 0x90, 0x70, 0xf7, 0xa1, 0x16, 0x5e, 0x06, 0x54, 0x57, 0x8b, 0xc7, 0xef, 0x1b, + 0xed, 0x52, 0xa1, 0x4c, 0x04, 0xba, 0xf6, 0xc6, 0xa3, 0x9d, 0x26, 0x79, 0xbc, 0xd3, 0x24, 0x7f, + 0xef, 0x34, 0xc9, 0x97, 0xbb, 0xcd, 0xca, 0xe3, 0xdd, 0x66, 0xe5, 0xcf, 0xdd, 0x66, 0xe5, 0xc1, + 0xcb, 0x85, 0x83, 0xc4, 0x67, 0xf2, 0x2f, 0x71, 0x31, 0x52, 0x6c, 0xd4, 0xc4, 0x3f, 0xe2, 0xaf, + 0xfc, 0x17, 0x00, 0x00, 0xff, 0xff, 0xd2, 0x82, 0x78, 0x19, 0x92, 0x17, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -1568,33 +1600,33 @@ const _ = grpc.SupportPackageIsVersion4 // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type QueryClient interface { - // Validators queries all validators that match the given status + // Validators queries all validators that match the given status. Validators(ctx context.Context, in *QueryValidatorsRequest, opts ...grpc.CallOption) (*QueryValidatorsResponse, error) - // Validator queries validator info for given validator addr + // Validator queries validator info for given validator address. Validator(ctx context.Context, in *QueryValidatorRequest, opts ...grpc.CallOption) (*QueryValidatorResponse, error) - // ValidatorDelegations queries delegate info for given validator + // ValidatorDelegations queries delegate info for given validator. ValidatorDelegations(ctx context.Context, in *QueryValidatorDelegationsRequest, opts ...grpc.CallOption) (*QueryValidatorDelegationsResponse, error) - // ValidatorUnbondingDelegations queries unbonding delegations of a validator + // ValidatorUnbondingDelegations queries unbonding delegations of a validator. ValidatorUnbondingDelegations(ctx context.Context, in *QueryValidatorUnbondingDelegationsRequest, opts ...grpc.CallOption) (*QueryValidatorUnbondingDelegationsResponse, error) - // Delegation queries delegate info for given validator delegator pair + // Delegation queries delegate info for given validator delegator pair. Delegation(ctx context.Context, in *QueryDelegationRequest, opts ...grpc.CallOption) (*QueryDelegationResponse, error) - // UnbondingDelegation queries unbonding info for give validator delegator pair + // UnbondingDelegation queries unbonding info for given validator delegator pair. UnbondingDelegation(ctx context.Context, in *QueryUnbondingDelegationRequest, opts ...grpc.CallOption) (*QueryUnbondingDelegationResponse, error) - // DelegatorDelegations queries all delegations of a give delegator address + // DelegatorDelegations queries all delegations of a given delegator address. DelegatorDelegations(ctx context.Context, in *QueryDelegatorDelegationsRequest, opts ...grpc.CallOption) (*QueryDelegatorDelegationsResponse, error) - // DelegatorUnbondingDelegations queries all unbonding delegations of a give delegator address + // DelegatorUnbondingDelegations queries all unbonding delegations of a give delegator address. DelegatorUnbondingDelegations(ctx context.Context, in *QueryDelegatorUnbondingDelegationsRequest, opts ...grpc.CallOption) (*QueryDelegatorUnbondingDelegationsResponse, error) - // Redelegations queries redelegations of given address + // Redelegations queries redelegations of given address. Redelegations(ctx context.Context, in *QueryRedelegationsRequest, opts ...grpc.CallOption) (*QueryRedelegationsResponse, error) - // DelegatorValidators queries all validator info for given delegator address + // DelegatorValidators queries all validator info for given delegator address. DelegatorValidators(ctx context.Context, in *QueryDelegatorValidatorsRequest, opts ...grpc.CallOption) (*QueryDelegatorValidatorsResponse, error) - // DelegatorValidator queries validator info for given delegator validator pair + // DelegatorValidator queries validator info for given delegator validator pair. DelegatorValidator(ctx context.Context, in *QueryDelegatorValidatorRequest, opts ...grpc.CallOption) (*QueryDelegatorValidatorResponse, error) - // HistoricalInfo queries the historical info for given height + // HistoricalInfo queries the historical info for given height. HistoricalInfo(ctx context.Context, in *QueryHistoricalInfoRequest, opts ...grpc.CallOption) (*QueryHistoricalInfoResponse, error) - // Pool queries the pool info + // Pool queries the pool info. Pool(ctx context.Context, in *QueryPoolRequest, opts ...grpc.CallOption) (*QueryPoolResponse, error) - // Parameters queries the staking parameters + // Parameters queries the staking parameters. Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) } @@ -1734,33 +1766,33 @@ func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts . // QueryServer is the server API for Query service. type QueryServer interface { - // Validators queries all validators that match the given status + // Validators queries all validators that match the given status. Validators(context.Context, *QueryValidatorsRequest) (*QueryValidatorsResponse, error) - // Validator queries validator info for given validator addr + // Validator queries validator info for given validator address. Validator(context.Context, *QueryValidatorRequest) (*QueryValidatorResponse, error) - // ValidatorDelegations queries delegate info for given validator + // ValidatorDelegations queries delegate info for given validator. ValidatorDelegations(context.Context, *QueryValidatorDelegationsRequest) (*QueryValidatorDelegationsResponse, error) - // ValidatorUnbondingDelegations queries unbonding delegations of a validator + // ValidatorUnbondingDelegations queries unbonding delegations of a validator. ValidatorUnbondingDelegations(context.Context, *QueryValidatorUnbondingDelegationsRequest) (*QueryValidatorUnbondingDelegationsResponse, error) - // Delegation queries delegate info for given validator delegator pair + // Delegation queries delegate info for given validator delegator pair. Delegation(context.Context, *QueryDelegationRequest) (*QueryDelegationResponse, error) - // UnbondingDelegation queries unbonding info for give validator delegator pair + // UnbondingDelegation queries unbonding info for given validator delegator pair. UnbondingDelegation(context.Context, *QueryUnbondingDelegationRequest) (*QueryUnbondingDelegationResponse, error) - // DelegatorDelegations queries all delegations of a give delegator address + // DelegatorDelegations queries all delegations of a given delegator address. DelegatorDelegations(context.Context, *QueryDelegatorDelegationsRequest) (*QueryDelegatorDelegationsResponse, error) - // DelegatorUnbondingDelegations queries all unbonding delegations of a give delegator address + // DelegatorUnbondingDelegations queries all unbonding delegations of a give delegator address. DelegatorUnbondingDelegations(context.Context, *QueryDelegatorUnbondingDelegationsRequest) (*QueryDelegatorUnbondingDelegationsResponse, error) - // Redelegations queries redelegations of given address + // Redelegations queries redelegations of given address. Redelegations(context.Context, *QueryRedelegationsRequest) (*QueryRedelegationsResponse, error) - // DelegatorValidators queries all validator info for given delegator address + // DelegatorValidators queries all validator info for given delegator address. DelegatorValidators(context.Context, *QueryDelegatorValidatorsRequest) (*QueryDelegatorValidatorsResponse, error) - // DelegatorValidator queries validator info for given delegator validator pair + // DelegatorValidator queries validator info for given delegator validator pair. DelegatorValidator(context.Context, *QueryDelegatorValidatorRequest) (*QueryDelegatorValidatorResponse, error) - // HistoricalInfo queries the historical info for given height + // HistoricalInfo queries the historical info for given height. HistoricalInfo(context.Context, *QueryHistoricalInfoRequest) (*QueryHistoricalInfoResponse, error) - // Pool queries the pool info + // Pool queries the pool info. Pool(context.Context, *QueryPoolRequest) (*QueryPoolResponse, error) - // Parameters queries the staking parameters + // Parameters queries the staking parameters. Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) } @@ -3220,18 +3252,6 @@ func (m *QueryParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if m.Pagination != nil { - { - size, err := m.Pagination.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } { size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) if err != nil { @@ -3688,10 +3708,6 @@ func (m *QueryParamsResponse) Size() (n int) { _ = l l = m.Params.Size() n += 1 + l + sovQuery(uint64(l)) - if m.Pagination != nil { - l = m.Pagination.Size() - n += 1 + l + sovQuery(uint64(l)) - } return n } @@ -6701,42 +6717,6 @@ func (m *QueryParamsResponse) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Pagination", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthQuery - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthQuery - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Pagination == nil { - m.Pagination = &query.PageResponse{} - } - if err := m.Pagination.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) diff --git a/x/staking/types/staking.pb.go b/x/staking/types/staking.pb.go index 8169b56ec9..cb554a4b07 100644 --- a/x/staking/types/staking.pb.go +++ b/x/staking/types/staking.pb.go @@ -1569,614 +1569,613 @@ func (this *Pool) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_ func StakingDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 9698 bytes of a gzipped FileDescriptorSet + // 9685 bytes of a gzipped FileDescriptorSet 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x7b, 0x70, 0x24, 0xc7, - 0x79, 0x1f, 0xf6, 0x81, 0xc5, 0xee, 0xb7, 0x8b, 0xc5, 0xa2, 0x81, 0xbb, 0xc3, 0x2d, 0xc9, 0xdb, - 0xe3, 0x1c, 0x1f, 0x38, 0x3e, 0x70, 0xd4, 0x89, 0xcf, 0x3d, 0x8a, 0x14, 0x16, 0xc0, 0xdd, 0x81, - 0x04, 0xee, 0xc0, 0x01, 0x70, 0xa4, 0x28, 0xdb, 0xe3, 0xc1, 0x6c, 0x63, 0x31, 0xc4, 0xee, 0xcc, - 0x72, 0x66, 0xf6, 0x0e, 0x60, 0x29, 0x55, 0x4c, 0xf9, 0x21, 0xc9, 0x91, 0x2d, 0x45, 0xb1, 0x1d, - 0x5a, 0x96, 0x64, 0x4a, 0xa9, 0x44, 0x8e, 0x92, 0xf8, 0x91, 0x28, 0x7a, 0xd8, 0xf9, 0x43, 0x55, - 0x79, 0x58, 0xa9, 0x72, 0xa5, 0xa4, 0xc4, 0x49, 0xb9, 0x52, 0x29, 0xd8, 0x22, 0x55, 0x65, 0x45, - 0x61, 0x12, 0xe5, 0x42, 0xbb, 0x5c, 0xd2, 0x1f, 0x49, 0xf5, 0x6b, 0x5e, 0x3b, 0xbb, 0x33, 0x38, - 0x1e, 0x29, 0xba, 0xa4, 0xbf, 0xb0, 0xd3, 0xf3, 0x7d, 0xbf, 0xee, 0xfe, 0xfa, 0xeb, 0xef, 0xfb, - 0xfa, 0xeb, 0xee, 0x01, 0x7c, 0x31, 0x0d, 0xb7, 0x69, 0xa6, 0xdd, 0x31, 0xed, 0x33, 0x2f, 0xf6, - 0xb0, 0xb5, 0x7f, 0xa6, 0xab, 0xb6, 0x74, 0x43, 0x75, 0x74, 0xd3, 0x98, 0xeb, 0x5a, 0xa6, 0x63, - 0xa2, 0x12, 0x7b, 0x3d, 0x47, 0x5f, 0x4b, 0x06, 0x14, 0xd7, 0xd4, 0x16, 0x96, 0xf1, 0x8b, 0x3d, - 0x6c, 0x3b, 0xa8, 0x02, 0x99, 0x5d, 0xbc, 0x3f, 0x93, 0x3a, 0x99, 0x9a, 0x2d, 0xc9, 0xe4, 0x27, - 0x3a, 0x0a, 0x39, 0x73, 0x7b, 0xdb, 0xc6, 0xce, 0x4c, 0xfa, 0x64, 0x6a, 0x36, 0x2b, 0xf3, 0x27, - 0x34, 0x0d, 0xa3, 0x6d, 0xbd, 0xa3, 0x3b, 0x33, 0x19, 0x5a, 0xcc, 0x1e, 0x50, 0x0d, 0x8a, 0x9a, - 0xd9, 0x33, 0x1c, 0xc5, 0x31, 0x1d, 0xb5, 0x3d, 0x93, 0x3d, 0x99, 0x9a, 0xcd, 0xcb, 0x40, 0x8b, - 0x36, 0x48, 0x89, 0xf4, 0x24, 0x94, 0x58, 0x7d, 0x76, 0xd7, 0x34, 0x6c, 0x8c, 0x8e, 0x43, 0xde, - 0xc0, 0x7b, 0x8e, 0xe2, 0xd5, 0x3a, 0x46, 0x9e, 0x9f, 0xc6, 0xfb, 0xa4, 0x06, 0x86, 0xc2, 0x2a, - 0x66, 0x0f, 0x8d, 0xc6, 0x37, 0x5e, 0x3b, 0x91, 0xfa, 0xe6, 0x6b, 0x27, 0x52, 0x7f, 0xfe, 0xda, - 0x89, 0xd4, 0x27, 0x5e, 0x3f, 0x31, 0xf2, 0xcd, 0xd7, 0x4f, 0x8c, 0xfc, 0xe9, 0xeb, 0x27, 0x46, - 0x9e, 0x9f, 0x6d, 0xe9, 0xce, 0x4e, 0x6f, 0x6b, 0x4e, 0x33, 0x3b, 0x67, 0xb8, 0x08, 0xd8, 0x9f, - 0xfb, 0xed, 0xe6, 0xee, 0x19, 0x67, 0xbf, 0x8b, 0xb9, 0x4c, 0xb6, 0x72, 0x54, 0x12, 0xef, 0x85, - 0xdf, 0x3c, 0x07, 0x27, 0x5b, 0xa6, 0xd9, 0x6a, 0xe3, 0x33, 0xb4, 0x64, 0xab, 0xb7, 0x7d, 0xa6, - 0x89, 0x6d, 0xcd, 0xd2, 0xbb, 0x8e, 0x69, 0x71, 0x79, 0x4d, 0x30, 0x8a, 0x39, 0x41, 0x21, 0xad, - 0xc2, 0xe4, 0x79, 0xbd, 0x8d, 0x17, 0x5d, 0xc2, 0x75, 0xec, 0xa0, 0x47, 0x21, 0xbb, 0xad, 0xb7, - 0xf1, 0x4c, 0xea, 0x64, 0x66, 0xb6, 0x78, 0xf6, 0x8e, 0xb9, 0x10, 0xd3, 0x5c, 0x90, 0x63, 0x8d, - 0x14, 0xcb, 0x94, 0x43, 0xfa, 0x4e, 0x16, 0xa6, 0x22, 0xde, 0x22, 0x04, 0x59, 0x43, 0xed, 0x60, - 0x2a, 0x95, 0x82, 0x4c, 0x7f, 0xa3, 0x19, 0x18, 0xeb, 0xaa, 0xda, 0xae, 0xda, 0xc2, 0x54, 0x28, - 0x05, 0x59, 0x3c, 0xa2, 0x13, 0x00, 0x4d, 0xdc, 0xc5, 0x46, 0x13, 0x1b, 0xda, 0xfe, 0x4c, 0xe6, - 0x64, 0x66, 0xb6, 0x20, 0xfb, 0x4a, 0xd0, 0xbd, 0x30, 0xd9, 0xed, 0x6d, 0xb5, 0x75, 0x4d, 0xf1, - 0x91, 0xc1, 0xc9, 0xcc, 0xec, 0xa8, 0x5c, 0x61, 0x2f, 0x16, 0x3d, 0xe2, 0xbb, 0x61, 0xe2, 0x1a, - 0x56, 0x77, 0xfd, 0xa4, 0x45, 0x4a, 0x5a, 0x26, 0xc5, 0x3e, 0xc2, 0x05, 0x28, 0x75, 0xb0, 0x6d, - 0xab, 0x2d, 0xac, 0x10, 0xf9, 0xce, 0x64, 0x69, 0xef, 0x4f, 0xf6, 0xf5, 0x3e, 0xdc, 0xf3, 0x22, - 0xe7, 0xda, 0xd8, 0xef, 0x62, 0x34, 0x0f, 0x05, 0x6c, 0xf4, 0x3a, 0x0c, 0x61, 0x74, 0x80, 0xfc, - 0x96, 0x8c, 0x5e, 0x27, 0x8c, 0x92, 0x27, 0x6c, 0x1c, 0x62, 0xcc, 0xc6, 0xd6, 0x55, 0x5d, 0xc3, - 0x33, 0x39, 0x0a, 0x70, 0x77, 0x1f, 0xc0, 0x3a, 0x7b, 0x1f, 0xc6, 0x10, 0x7c, 0x68, 0x01, 0x0a, - 0x78, 0xcf, 0xc1, 0x86, 0xad, 0x9b, 0xc6, 0xcc, 0x18, 0x05, 0xb9, 0x33, 0x62, 0x14, 0x71, 0xbb, - 0x19, 0x86, 0xf0, 0xf8, 0xd0, 0xc3, 0x30, 0x66, 0x76, 0xc9, 0x5c, 0xb3, 0x67, 0xf2, 0x27, 0x53, - 0xb3, 0xc5, 0xb3, 0xb7, 0x46, 0x2a, 0xc2, 0x65, 0x46, 0x23, 0x0b, 0x62, 0xb4, 0x0c, 0x15, 0xdb, - 0xec, 0x59, 0x1a, 0x56, 0x34, 0xb3, 0x89, 0x15, 0xdd, 0xd8, 0x36, 0x67, 0x0a, 0x14, 0xa0, 0xd6, - 0xdf, 0x11, 0x4a, 0xb8, 0x60, 0x36, 0xf1, 0xb2, 0xb1, 0x6d, 0xca, 0x65, 0x3b, 0xf0, 0x4c, 0xe6, - 0xab, 0xbd, 0x6f, 0x38, 0xea, 0xde, 0x4c, 0x89, 0x6a, 0x08, 0x7f, 0x92, 0xbe, 0x96, 0x83, 0x89, - 0x24, 0x2a, 0x76, 0x0e, 0x46, 0xb7, 0x49, 0x2f, 0x67, 0xd2, 0x87, 0x91, 0x01, 0xe3, 0x09, 0x0a, - 0x31, 0x77, 0x83, 0x42, 0x9c, 0x87, 0xa2, 0x81, 0x6d, 0x07, 0x37, 0x99, 0x46, 0x64, 0x12, 0xea, - 0x14, 0x30, 0xa6, 0x7e, 0x95, 0xca, 0xde, 0x90, 0x4a, 0x3d, 0x07, 0x13, 0x6e, 0x93, 0x14, 0x4b, - 0x35, 0x5a, 0x42, 0x37, 0xcf, 0xc4, 0xb5, 0x64, 0x6e, 0x49, 0xf0, 0xc9, 0x84, 0x4d, 0x2e, 0xe3, - 0xc0, 0x33, 0x5a, 0x04, 0x30, 0x0d, 0x6c, 0x6e, 0x2b, 0x4d, 0xac, 0xb5, 0x67, 0xf2, 0x03, 0xa4, - 0x74, 0x99, 0x90, 0xf4, 0x49, 0xc9, 0x64, 0xa5, 0x5a, 0x1b, 0x3d, 0xe6, 0xa9, 0xda, 0xd8, 0x00, - 0x4d, 0x59, 0x65, 0x93, 0xac, 0x4f, 0xdb, 0x36, 0xa1, 0x6c, 0x61, 0xa2, 0xf7, 0xb8, 0xc9, 0x7b, - 0x56, 0xa0, 0x8d, 0x98, 0x8b, 0xed, 0x99, 0xcc, 0xd9, 0x58, 0xc7, 0xc6, 0x2d, 0xff, 0x23, 0x3a, - 0x05, 0x6e, 0x81, 0x42, 0xd5, 0x0a, 0xa8, 0x15, 0x2a, 0x89, 0xc2, 0x4b, 0x6a, 0x07, 0x57, 0x5f, - 0x82, 0x72, 0x50, 0x3c, 0xc4, 0xcc, 0xdb, 0x8e, 0x6a, 0x39, 0x54, 0x0b, 0x47, 0x65, 0xf6, 0x40, - 0x1c, 0x11, 0x36, 0x9a, 0xd4, 0xca, 0x8d, 0xca, 0xe4, 0x27, 0x7a, 0xbf, 0xd7, 0xe1, 0x0c, 0xed, - 0xf0, 0x5d, 0xfd, 0x23, 0x1a, 0x40, 0x0e, 0xf7, 0xbb, 0xfa, 0x08, 0x8c, 0x07, 0x3a, 0x90, 0xb4, - 0x6a, 0xe9, 0x43, 0x70, 0x24, 0x12, 0x1a, 0x3d, 0x07, 0xd3, 0x3d, 0x43, 0x37, 0x1c, 0x6c, 0x75, - 0x2d, 0x4c, 0x34, 0x96, 0x55, 0x35, 0xf3, 0x17, 0x63, 0x03, 0x74, 0x6e, 0xd3, 0x4f, 0xcd, 0x50, - 0xe4, 0xa9, 0x5e, 0x7f, 0xe1, 0x3d, 0x85, 0xfc, 0x77, 0xc7, 0x2a, 0x2f, 0xbf, 0xfc, 0xf2, 0xcb, - 0x69, 0xe9, 0x95, 0x1c, 0x4c, 0x47, 0xcd, 0x99, 0xc8, 0xe9, 0x7b, 0x14, 0x72, 0x46, 0xaf, 0xb3, - 0x85, 0x2d, 0x2a, 0xa4, 0x51, 0x99, 0x3f, 0xa1, 0x79, 0x18, 0x6d, 0xab, 0x5b, 0x98, 0xb9, 0xe4, - 0xf2, 0xd9, 0x7b, 0x13, 0xcd, 0xca, 0xb9, 0x15, 0xc2, 0x22, 0x33, 0x4e, 0xf4, 0x04, 0x64, 0xb9, - 0x89, 0x26, 0x08, 0xf7, 0x24, 0x43, 0x20, 0x73, 0x49, 0xa6, 0x7c, 0xe8, 0x16, 0x28, 0x90, 0xbf, - 0x4c, 0x37, 0x72, 0xb4, 0xcd, 0x79, 0x52, 0x40, 0xf4, 0x02, 0x55, 0x21, 0x4f, 0xa7, 0x49, 0x13, - 0x0b, 0xd7, 0xe6, 0x3e, 0x13, 0xc5, 0x6a, 0xe2, 0x6d, 0xb5, 0xd7, 0x76, 0x94, 0xab, 0x6a, 0xbb, - 0x87, 0xa9, 0xc2, 0x17, 0xe4, 0x12, 0x2f, 0xbc, 0x42, 0xca, 0x48, 0xe4, 0xc1, 0x66, 0x95, 0x6e, - 0x34, 0xf1, 0x1e, 0xb5, 0x9e, 0xa3, 0x32, 0x9b, 0x68, 0xcb, 0xa4, 0x84, 0x54, 0xff, 0x82, 0x6d, - 0x1a, 0x42, 0x35, 0x69, 0x15, 0xa4, 0x80, 0x56, 0xff, 0x48, 0xd8, 0x70, 0xdf, 0x16, 0xdd, 0xbd, - 0xb0, 0x4e, 0x49, 0x5f, 0x4e, 0x43, 0x96, 0xda, 0x8b, 0x09, 0x28, 0x6e, 0x7c, 0x60, 0x6d, 0x49, - 0x59, 0xbc, 0xbc, 0xd9, 0x58, 0x59, 0xaa, 0xa4, 0x50, 0x19, 0x80, 0x16, 0x9c, 0x5f, 0xb9, 0x3c, - 0xbf, 0x51, 0x49, 0xbb, 0xcf, 0xcb, 0x97, 0x36, 0x1e, 0x7e, 0xb0, 0x92, 0x71, 0x19, 0x36, 0x59, - 0x41, 0xd6, 0x4f, 0xf0, 0xde, 0xb3, 0x95, 0x51, 0x54, 0x81, 0x12, 0x03, 0x58, 0x7e, 0x6e, 0x69, - 0xf1, 0xe1, 0x07, 0x2b, 0xb9, 0x60, 0xc9, 0x7b, 0xcf, 0x56, 0xc6, 0xd0, 0x38, 0x14, 0x68, 0x49, - 0xe3, 0xf2, 0xe5, 0x95, 0x4a, 0xde, 0xc5, 0x5c, 0xdf, 0x90, 0x97, 0x2f, 0x5d, 0xa8, 0x14, 0x5c, - 0xcc, 0x0b, 0xf2, 0xe5, 0xcd, 0xb5, 0x0a, 0xb8, 0x08, 0xab, 0x4b, 0xeb, 0xeb, 0xf3, 0x17, 0x96, - 0x2a, 0x45, 0x97, 0xa2, 0xf1, 0x81, 0x8d, 0xa5, 0xf5, 0x4a, 0x29, 0xd0, 0xac, 0xf7, 0x9e, 0xad, - 0x8c, 0xbb, 0x55, 0x2c, 0x5d, 0xda, 0x5c, 0xad, 0x94, 0xd1, 0x24, 0x8c, 0xb3, 0x2a, 0x44, 0x23, - 0x26, 0x42, 0x45, 0x0f, 0x3f, 0x58, 0xa9, 0x78, 0x0d, 0x61, 0x28, 0x93, 0x81, 0x82, 0x87, 0x1f, - 0xac, 0x20, 0x69, 0x01, 0x46, 0xa9, 0x76, 0x21, 0x04, 0xe5, 0x95, 0xf9, 0xc6, 0xd2, 0x8a, 0x72, - 0x79, 0x6d, 0x63, 0xf9, 0xf2, 0xa5, 0xf9, 0x95, 0x4a, 0xca, 0x2b, 0x93, 0x97, 0x9e, 0xd9, 0x5c, - 0x96, 0x97, 0x16, 0x2b, 0x69, 0x7f, 0xd9, 0xda, 0xd2, 0xfc, 0xc6, 0xd2, 0x62, 0x25, 0x23, 0x69, - 0x30, 0x1d, 0x65, 0x27, 0x23, 0x67, 0x86, 0x6f, 0x88, 0xd3, 0x03, 0x86, 0x98, 0x62, 0xf5, 0x0d, - 0xf1, 0xeb, 0x69, 0x98, 0x8a, 0xf0, 0x15, 0x91, 0x95, 0x3c, 0x09, 0xa3, 0x4c, 0x45, 0x99, 0xf7, - 0x3c, 0x1d, 0xe9, 0x74, 0xa8, 0xc2, 0xf6, 0x79, 0x50, 0xca, 0xe7, 0x8f, 0x20, 0x32, 0x03, 0x22, - 0x08, 0x02, 0xd1, 0x67, 0xd3, 0x7f, 0xba, 0xcf, 0xa6, 0x33, 0xb7, 0xf7, 0x70, 0x12, 0xb7, 0x47, - 0xcb, 0x0e, 0x67, 0xdb, 0x47, 0x23, 0x6c, 0xfb, 0x39, 0x98, 0xec, 0x03, 0x4a, 0x6c, 0x63, 0x7f, - 0x2e, 0x05, 0x33, 0x83, 0x84, 0x13, 0x63, 0xe9, 0xd2, 0x01, 0x4b, 0x77, 0x2e, 0x2c, 0xc1, 0xdb, - 0x07, 0x0f, 0x42, 0xdf, 0x58, 0x7f, 0x21, 0x05, 0x47, 0xa3, 0x23, 0xc5, 0xc8, 0x36, 0x3c, 0x01, - 0xb9, 0x0e, 0x76, 0x76, 0x4c, 0x11, 0x2d, 0xdd, 0x15, 0xe1, 0x83, 0xc9, 0xeb, 0xf0, 0x60, 0x73, - 0x2e, 0xbf, 0x13, 0xcf, 0x0c, 0x0a, 0xf7, 0x58, 0x6b, 0xfa, 0x5a, 0xfa, 0xd1, 0x34, 0x1c, 0x89, - 0x04, 0x8f, 0x6c, 0xe8, 0x6d, 0x00, 0xba, 0xd1, 0xed, 0x39, 0x2c, 0x22, 0x62, 0x06, 0xb6, 0x40, - 0x4b, 0xa8, 0xf1, 0x22, 0xc6, 0xb3, 0xe7, 0xb8, 0xef, 0x33, 0xf4, 0x3d, 0xb0, 0x22, 0x4a, 0xf0, - 0xa8, 0xd7, 0xd0, 0x2c, 0x6d, 0xe8, 0x89, 0x01, 0x3d, 0xed, 0x53, 0xcc, 0x07, 0xa0, 0xa2, 0xb5, - 0x75, 0x6c, 0x38, 0x8a, 0xed, 0x58, 0x58, 0xed, 0xe8, 0x46, 0x8b, 0x7a, 0x90, 0x7c, 0x7d, 0x74, - 0x5b, 0x6d, 0xdb, 0x58, 0x9e, 0x60, 0xaf, 0xd7, 0xc5, 0x5b, 0xc2, 0x41, 0x15, 0xc8, 0xf2, 0x71, - 0xe4, 0x02, 0x1c, 0xec, 0xb5, 0xcb, 0x21, 0x7d, 0xb2, 0x00, 0x45, 0x5f, 0x5c, 0x8d, 0x6e, 0x87, + 0x79, 0x1f, 0xf6, 0x81, 0xc5, 0xee, 0xb7, 0x8b, 0xc5, 0xa2, 0x81, 0xbb, 0xdb, 0x5b, 0x92, 0xb7, + 0xc7, 0x39, 0x3e, 0xee, 0xf8, 0xc0, 0x51, 0x27, 0x3e, 0xf7, 0x28, 0x52, 0x58, 0x00, 0x77, 0x07, + 0x12, 0xb8, 0x03, 0x07, 0xc0, 0x91, 0xa2, 0x6c, 0x8f, 0x07, 0xb3, 0x8d, 0xc5, 0xf0, 0x76, 0x67, + 0x96, 0x33, 0xb3, 0x77, 0x00, 0x4b, 0xa9, 0x62, 0x4a, 0xb2, 0x2d, 0x39, 0xb2, 0xa5, 0x28, 0xb6, + 0x43, 0xcb, 0x92, 0x4c, 0x29, 0x95, 0xc8, 0x51, 0x12, 0x3f, 0x12, 0x45, 0x0f, 0x3b, 0x7f, 0xa8, + 0x2a, 0x0f, 0x2b, 0x55, 0xae, 0x94, 0x94, 0x38, 0x29, 0x57, 0x2a, 0x05, 0x5b, 0xa4, 0xaa, 0xec, + 0x28, 0x4c, 0xa2, 0x5c, 0x68, 0x97, 0x4b, 0xfa, 0x23, 0xa9, 0x7e, 0xcd, 0x6b, 0x67, 0x77, 0x06, + 0xc7, 0x23, 0x45, 0x97, 0xf4, 0x17, 0x76, 0x7a, 0xbe, 0xef, 0xd7, 0xdd, 0x5f, 0x7f, 0xfd, 0x7d, + 0x5f, 0x7f, 0xdd, 0x3d, 0x80, 0x2f, 0xa5, 0xe1, 0x36, 0xcd, 0xb4, 0xbb, 0xa6, 0x7d, 0xfa, 0xc5, + 0x3e, 0xb6, 0xf6, 0x4e, 0xf7, 0xd4, 0xb6, 0x6e, 0xa8, 0x8e, 0x6e, 0x1a, 0x73, 0x3d, 0xcb, 0x74, + 0x4c, 0x54, 0x62, 0xaf, 0xe7, 0xe8, 0x6b, 0xc9, 0x80, 0xe2, 0x9a, 0xda, 0xc6, 0x32, 0x7e, 0xb1, + 0x8f, 0x6d, 0x07, 0x55, 0x20, 0x73, 0x05, 0xef, 0x55, 0x53, 0xc7, 0x53, 0x27, 0x4b, 0x32, 0xf9, + 0x89, 0x0e, 0x43, 0xce, 0xdc, 0xde, 0xb6, 0xb1, 0x53, 0x4d, 0x1f, 0x4f, 0x9d, 0xcc, 0xca, 0xfc, + 0x09, 0xcd, 0xc2, 0x78, 0x47, 0xef, 0xea, 0x4e, 0x35, 0x43, 0x8b, 0xd9, 0x03, 0xaa, 0x43, 0x51, + 0x33, 0xfb, 0x86, 0xa3, 0x38, 0xa6, 0xa3, 0x76, 0xaa, 0xd9, 0xe3, 0xa9, 0x93, 0x79, 0x19, 0x68, + 0xd1, 0x06, 0x29, 0x91, 0x9e, 0x84, 0x12, 0xab, 0xcf, 0xee, 0x99, 0x86, 0x8d, 0xd1, 0x51, 0xc8, + 0x1b, 0x78, 0xd7, 0x51, 0xbc, 0x5a, 0x27, 0xc8, 0xf3, 0xd3, 0x78, 0x8f, 0xd4, 0xc0, 0x50, 0x58, + 0xc5, 0xec, 0xa1, 0xd9, 0xfc, 0xe6, 0x6b, 0xc7, 0x52, 0xdf, 0x7a, 0xed, 0x58, 0xea, 0xcf, 0x5e, + 0x3b, 0x96, 0xfa, 0xe4, 0xeb, 0xc7, 0xc6, 0xbe, 0xf5, 0xfa, 0xb1, 0xb1, 0x3f, 0x79, 0xfd, 0xd8, + 0xd8, 0xf3, 0x27, 0xdb, 0xba, 0xb3, 0xd3, 0xdf, 0x9a, 0xd3, 0xcc, 0xee, 0x69, 0x2e, 0x02, 0xf6, + 0xe7, 0x7e, 0xbb, 0x75, 0xe5, 0xb4, 0xb3, 0xd7, 0xc3, 0x5c, 0x26, 0x5b, 0x39, 0x2a, 0x89, 0xf7, + 0xc2, 0x6f, 0x9c, 0x85, 0xe3, 0x6d, 0xd3, 0x6c, 0x77, 0xf0, 0x69, 0x5a, 0xb2, 0xd5, 0xdf, 0x3e, + 0xdd, 0xc2, 0xb6, 0x66, 0xe9, 0x3d, 0xc7, 0xb4, 0xb8, 0xbc, 0xa6, 0x18, 0xc5, 0x9c, 0xa0, 0x90, + 0x56, 0x61, 0xfa, 0x9c, 0xde, 0xc1, 0x8b, 0x2e, 0xe1, 0x3a, 0x76, 0xd0, 0xa3, 0x90, 0xdd, 0xd6, + 0x3b, 0xb8, 0x9a, 0x3a, 0x9e, 0x39, 0x59, 0x3c, 0x73, 0xc7, 0x5c, 0x88, 0x69, 0x2e, 0xc8, 0xb1, + 0x46, 0x8a, 0x65, 0xca, 0x21, 0x7d, 0x37, 0x0b, 0x33, 0x11, 0x6f, 0x11, 0x82, 0xac, 0xa1, 0x76, + 0x31, 0x95, 0x4a, 0x41, 0xa6, 0xbf, 0x51, 0x15, 0x26, 0x7a, 0xaa, 0x76, 0x45, 0x6d, 0x63, 0x2a, + 0x94, 0x82, 0x2c, 0x1e, 0xd1, 0x31, 0x80, 0x16, 0xee, 0x61, 0xa3, 0x85, 0x0d, 0x6d, 0xaf, 0x9a, + 0x39, 0x9e, 0x39, 0x59, 0x90, 0x7d, 0x25, 0xe8, 0x5e, 0x98, 0xee, 0xf5, 0xb7, 0x3a, 0xba, 0xa6, + 0xf8, 0xc8, 0xe0, 0x78, 0xe6, 0xe4, 0xb8, 0x5c, 0x61, 0x2f, 0x16, 0x3d, 0xe2, 0xbb, 0x61, 0xea, + 0x1a, 0x56, 0xaf, 0xf8, 0x49, 0x8b, 0x94, 0xb4, 0x4c, 0x8a, 0x7d, 0x84, 0x0b, 0x50, 0xea, 0x62, + 0xdb, 0x56, 0xdb, 0x58, 0x21, 0xf2, 0xad, 0x66, 0x69, 0xef, 0x8f, 0x0f, 0xf4, 0x3e, 0xdc, 0xf3, + 0x22, 0xe7, 0xda, 0xd8, 0xeb, 0x61, 0x34, 0x0f, 0x05, 0x6c, 0xf4, 0xbb, 0x0c, 0x61, 0x7c, 0x88, + 0xfc, 0x96, 0x8c, 0x7e, 0x37, 0x8c, 0x92, 0x27, 0x6c, 0x1c, 0x62, 0xc2, 0xc6, 0xd6, 0x55, 0x5d, + 0xc3, 0xd5, 0x1c, 0x05, 0xb8, 0x7b, 0x00, 0x60, 0x9d, 0xbd, 0x0f, 0x63, 0x08, 0x3e, 0xb4, 0x00, + 0x05, 0xbc, 0xeb, 0x60, 0xc3, 0xd6, 0x4d, 0xa3, 0x3a, 0x41, 0x41, 0xee, 0x8c, 0x18, 0x45, 0xdc, + 0x69, 0x85, 0x21, 0x3c, 0x3e, 0xf4, 0x30, 0x4c, 0x98, 0x3d, 0x32, 0xd7, 0xec, 0x6a, 0xfe, 0x78, + 0xea, 0x64, 0xf1, 0xcc, 0xad, 0x91, 0x8a, 0x70, 0x89, 0xd1, 0xc8, 0x82, 0x18, 0x2d, 0x43, 0xc5, + 0x36, 0xfb, 0x96, 0x86, 0x15, 0xcd, 0x6c, 0x61, 0x45, 0x37, 0xb6, 0xcd, 0x6a, 0x81, 0x02, 0xd4, + 0x07, 0x3b, 0x42, 0x09, 0x17, 0xcc, 0x16, 0x5e, 0x36, 0xb6, 0x4d, 0xb9, 0x6c, 0x07, 0x9e, 0xc9, + 0x7c, 0xb5, 0xf7, 0x0c, 0x47, 0xdd, 0xad, 0x96, 0xa8, 0x86, 0xf0, 0x27, 0xe9, 0xeb, 0x39, 0x98, + 0x4a, 0xa2, 0x62, 0x67, 0x61, 0x7c, 0x9b, 0xf4, 0xb2, 0x9a, 0x3e, 0x88, 0x0c, 0x18, 0x4f, 0x50, + 0x88, 0xb9, 0x1b, 0x14, 0xe2, 0x3c, 0x14, 0x0d, 0x6c, 0x3b, 0xb8, 0xc5, 0x34, 0x22, 0x93, 0x50, + 0xa7, 0x80, 0x31, 0x0d, 0xaa, 0x54, 0xf6, 0x86, 0x54, 0xea, 0x39, 0x98, 0x72, 0x9b, 0xa4, 0x58, + 0xaa, 0xd1, 0x16, 0xba, 0x79, 0x3a, 0xae, 0x25, 0x73, 0x4b, 0x82, 0x4f, 0x26, 0x6c, 0x72, 0x19, + 0x07, 0x9e, 0xd1, 0x22, 0x80, 0x69, 0x60, 0x73, 0x5b, 0x69, 0x61, 0xad, 0x53, 0xcd, 0x0f, 0x91, + 0xd2, 0x25, 0x42, 0x32, 0x20, 0x25, 0x93, 0x95, 0x6a, 0x1d, 0xf4, 0x98, 0xa7, 0x6a, 0x13, 0x43, + 0x34, 0x65, 0x95, 0x4d, 0xb2, 0x01, 0x6d, 0xdb, 0x84, 0xb2, 0x85, 0x89, 0xde, 0xe3, 0x16, 0xef, + 0x59, 0x81, 0x36, 0x62, 0x2e, 0xb6, 0x67, 0x32, 0x67, 0x63, 0x1d, 0x9b, 0xb4, 0xfc, 0x8f, 0xe8, + 0x04, 0xb8, 0x05, 0x0a, 0x55, 0x2b, 0xa0, 0x56, 0xa8, 0x24, 0x0a, 0x2f, 0xaa, 0x5d, 0x5c, 0x7b, + 0x09, 0xca, 0x41, 0xf1, 0x10, 0x33, 0x6f, 0x3b, 0xaa, 0xe5, 0x50, 0x2d, 0x1c, 0x97, 0xd9, 0x03, + 0x71, 0x44, 0xd8, 0x68, 0x51, 0x2b, 0x37, 0x2e, 0x93, 0x9f, 0xe8, 0xfd, 0x5e, 0x87, 0x33, 0xb4, + 0xc3, 0x77, 0x0d, 0x8e, 0x68, 0x00, 0x39, 0xdc, 0xef, 0xda, 0x23, 0x30, 0x19, 0xe8, 0x40, 0xd2, + 0xaa, 0xa5, 0x0f, 0xc1, 0xa1, 0x48, 0x68, 0xf4, 0x1c, 0xcc, 0xf6, 0x0d, 0xdd, 0x70, 0xb0, 0xd5, + 0xb3, 0x30, 0xd1, 0x58, 0x56, 0x55, 0xf5, 0xcf, 0x27, 0x86, 0xe8, 0xdc, 0xa6, 0x9f, 0x9a, 0xa1, + 0xc8, 0x33, 0xfd, 0xc1, 0xc2, 0x7b, 0x0a, 0xf9, 0xbf, 0x98, 0xa8, 0xbc, 0xfc, 0xf2, 0xcb, 0x2f, + 0xa7, 0xa5, 0x57, 0x72, 0x30, 0x1b, 0x35, 0x67, 0x22, 0xa7, 0xef, 0x61, 0xc8, 0x19, 0xfd, 0xee, + 0x16, 0xb6, 0xa8, 0x90, 0xc6, 0x65, 0xfe, 0x84, 0xe6, 0x61, 0xbc, 0xa3, 0x6e, 0x61, 0xe6, 0x92, + 0xcb, 0x67, 0xee, 0x4d, 0x34, 0x2b, 0xe7, 0x56, 0x08, 0x8b, 0xcc, 0x38, 0xd1, 0x13, 0x90, 0xe5, + 0x26, 0x9a, 0x20, 0xdc, 0x93, 0x0c, 0x81, 0xcc, 0x25, 0x99, 0xf2, 0xa1, 0x5b, 0xa0, 0x40, 0xfe, + 0x32, 0xdd, 0xc8, 0xd1, 0x36, 0xe7, 0x49, 0x01, 0xd1, 0x0b, 0x54, 0x83, 0x3c, 0x9d, 0x26, 0x2d, + 0x2c, 0x5c, 0x9b, 0xfb, 0x4c, 0x14, 0xab, 0x85, 0xb7, 0xd5, 0x7e, 0xc7, 0x51, 0xae, 0xaa, 0x9d, + 0x3e, 0xa6, 0x0a, 0x5f, 0x90, 0x4b, 0xbc, 0xf0, 0x32, 0x29, 0x23, 0x91, 0x07, 0x9b, 0x55, 0xba, + 0xd1, 0xc2, 0xbb, 0xd4, 0x7a, 0x8e, 0xcb, 0x6c, 0xa2, 0x2d, 0x93, 0x12, 0x52, 0xfd, 0x0b, 0xb6, + 0x69, 0x08, 0xd5, 0xa4, 0x55, 0x90, 0x02, 0x5a, 0xfd, 0x23, 0x61, 0xc3, 0x7d, 0x5b, 0x74, 0xf7, + 0xc2, 0x3a, 0x25, 0x7d, 0x25, 0x0d, 0x59, 0x6a, 0x2f, 0xa6, 0xa0, 0xb8, 0xf1, 0x81, 0xb5, 0x25, + 0x65, 0xf1, 0xd2, 0x66, 0x73, 0x65, 0xa9, 0x92, 0x42, 0x65, 0x00, 0x5a, 0x70, 0x6e, 0xe5, 0xd2, + 0xfc, 0x46, 0x25, 0xed, 0x3e, 0x2f, 0x5f, 0xdc, 0x78, 0xf8, 0xc1, 0x4a, 0xc6, 0x65, 0xd8, 0x64, + 0x05, 0x59, 0x3f, 0xc1, 0x7b, 0xcf, 0x54, 0xc6, 0x51, 0x05, 0x4a, 0x0c, 0x60, 0xf9, 0xb9, 0xa5, + 0xc5, 0x87, 0x1f, 0xac, 0xe4, 0x82, 0x25, 0xef, 0x3d, 0x53, 0x99, 0x40, 0x93, 0x50, 0xa0, 0x25, + 0xcd, 0x4b, 0x97, 0x56, 0x2a, 0x79, 0x17, 0x73, 0x7d, 0x43, 0x5e, 0xbe, 0x78, 0xbe, 0x52, 0x70, + 0x31, 0xcf, 0xcb, 0x97, 0x36, 0xd7, 0x2a, 0xe0, 0x22, 0xac, 0x2e, 0xad, 0xaf, 0xcf, 0x9f, 0x5f, + 0xaa, 0x14, 0x5d, 0x8a, 0xe6, 0x07, 0x36, 0x96, 0xd6, 0x2b, 0xa5, 0x40, 0xb3, 0xde, 0x7b, 0xa6, + 0x32, 0xe9, 0x56, 0xb1, 0x74, 0x71, 0x73, 0xb5, 0x52, 0x46, 0xd3, 0x30, 0xc9, 0xaa, 0x10, 0x8d, + 0x98, 0x0a, 0x15, 0x3d, 0xfc, 0x60, 0xa5, 0xe2, 0x35, 0x84, 0xa1, 0x4c, 0x07, 0x0a, 0x1e, 0x7e, + 0xb0, 0x82, 0xa4, 0x05, 0x18, 0xa7, 0xda, 0x85, 0x10, 0x94, 0x57, 0xe6, 0x9b, 0x4b, 0x2b, 0xca, + 0xa5, 0xb5, 0x8d, 0xe5, 0x4b, 0x17, 0xe7, 0x57, 0x2a, 0x29, 0xaf, 0x4c, 0x5e, 0x7a, 0x66, 0x73, + 0x59, 0x5e, 0x5a, 0xac, 0xa4, 0xfd, 0x65, 0x6b, 0x4b, 0xf3, 0x1b, 0x4b, 0x8b, 0x95, 0x8c, 0xa4, + 0xc1, 0x6c, 0x94, 0x9d, 0x8c, 0x9c, 0x19, 0xbe, 0x21, 0x4e, 0x0f, 0x19, 0x62, 0x8a, 0x35, 0x30, + 0xc4, 0xaf, 0xa7, 0x61, 0x26, 0xc2, 0x57, 0x44, 0x56, 0xf2, 0x24, 0x8c, 0x33, 0x15, 0x65, 0xde, + 0xf3, 0x54, 0xa4, 0xd3, 0xa1, 0x0a, 0x3b, 0xe0, 0x41, 0x29, 0x9f, 0x3f, 0x82, 0xc8, 0x0c, 0x89, + 0x20, 0x08, 0xc4, 0x80, 0x4d, 0xff, 0xe9, 0x01, 0x9b, 0xce, 0xdc, 0xde, 0xc3, 0x49, 0xdc, 0x1e, + 0x2d, 0x3b, 0x98, 0x6d, 0x1f, 0x8f, 0xb0, 0xed, 0x67, 0x61, 0x7a, 0x00, 0x28, 0xb1, 0x8d, 0xfd, + 0x70, 0x0a, 0xaa, 0xc3, 0x84, 0x13, 0x63, 0xe9, 0xd2, 0x01, 0x4b, 0x77, 0x36, 0x2c, 0xc1, 0xdb, + 0x87, 0x0f, 0xc2, 0xc0, 0x58, 0x7f, 0x31, 0x05, 0x87, 0xa3, 0x23, 0xc5, 0xc8, 0x36, 0x3c, 0x01, + 0xb9, 0x2e, 0x76, 0x76, 0x4c, 0x11, 0x2d, 0xdd, 0x15, 0xe1, 0x83, 0xc9, 0xeb, 0xf0, 0x60, 0x73, + 0x2e, 0xbf, 0x13, 0xcf, 0x0c, 0x0b, 0xf7, 0x58, 0x6b, 0x06, 0x5a, 0xfa, 0xb1, 0x34, 0x1c, 0x8a, + 0x04, 0x8f, 0x6c, 0xe8, 0x6d, 0x00, 0xba, 0xd1, 0xeb, 0x3b, 0x2c, 0x22, 0x62, 0x06, 0xb6, 0x40, + 0x4b, 0xa8, 0xf1, 0x22, 0xc6, 0xb3, 0xef, 0xb8, 0xef, 0x33, 0xf4, 0x3d, 0xb0, 0x22, 0x4a, 0xf0, + 0xa8, 0xd7, 0xd0, 0x2c, 0x6d, 0xe8, 0xb1, 0x21, 0x3d, 0x1d, 0x50, 0xcc, 0x07, 0xa0, 0xa2, 0x75, + 0x74, 0x6c, 0x38, 0x8a, 0xed, 0x58, 0x58, 0xed, 0xea, 0x46, 0x9b, 0x7a, 0x90, 0x7c, 0x63, 0x7c, + 0x5b, 0xed, 0xd8, 0x58, 0x9e, 0x62, 0xaf, 0xd7, 0xc5, 0x5b, 0xc2, 0x41, 0x15, 0xc8, 0xf2, 0x71, + 0xe4, 0x02, 0x1c, 0xec, 0xb5, 0xcb, 0x21, 0x7d, 0xaa, 0x00, 0x45, 0x5f, 0x5c, 0x8d, 0x6e, 0x87, 0xd2, 0x0b, 0xea, 0x55, 0x55, 0x11, 0x6b, 0x25, 0x26, 0x89, 0x22, 0x29, 0x5b, 0xe3, 0xeb, 0xa5, - 0x07, 0x60, 0x9a, 0x92, 0x98, 0x3d, 0x07, 0x5b, 0x8a, 0xd6, 0x56, 0x6d, 0x9b, 0x0a, 0x2d, 0x4f, - 0x49, 0x11, 0x79, 0x77, 0x99, 0xbc, 0x5a, 0x10, 0x6f, 0xd0, 0x43, 0x30, 0x45, 0x39, 0x3a, 0xbd, - 0xb6, 0xa3, 0x77, 0xdb, 0x58, 0x21, 0xab, 0x37, 0x9b, 0x7a, 0x12, 0xb7, 0x65, 0x93, 0x84, 0x62, - 0x95, 0x13, 0x90, 0x16, 0xd9, 0x68, 0x11, 0x6e, 0xa3, 0x6c, 0x2d, 0x6c, 0x60, 0x4b, 0x75, 0xb0, - 0x82, 0x5f, 0xec, 0xa9, 0x6d, 0x5b, 0x51, 0x8d, 0xa6, 0xb2, 0xa3, 0xda, 0x3b, 0x33, 0xd3, 0x04, - 0xa0, 0x91, 0x9e, 0x49, 0xc9, 0xc7, 0x09, 0xe1, 0x05, 0x4e, 0xb7, 0x44, 0xc9, 0xe6, 0x8d, 0xe6, - 0x45, 0xd5, 0xde, 0x41, 0x75, 0x38, 0x4a, 0x51, 0x6c, 0xc7, 0xd2, 0x8d, 0x96, 0xa2, 0xed, 0x60, - 0x6d, 0x57, 0xe9, 0x39, 0xdb, 0x8f, 0xce, 0xdc, 0xe2, 0xaf, 0x9f, 0xb6, 0x70, 0x9d, 0xd2, 0x2c, - 0x10, 0x92, 0x4d, 0x67, 0xfb, 0x51, 0xb4, 0x0e, 0x25, 0x32, 0x18, 0x1d, 0xfd, 0x25, 0xac, 0x6c, - 0x9b, 0x16, 0x75, 0x8d, 0xe5, 0x08, 0xd3, 0xe4, 0x93, 0xe0, 0xdc, 0x65, 0xce, 0xb0, 0x6a, 0x36, - 0x71, 0x7d, 0x74, 0x7d, 0x6d, 0x69, 0x69, 0x51, 0x2e, 0x0a, 0x94, 0xf3, 0xa6, 0x45, 0x14, 0xaa, - 0x65, 0xba, 0x02, 0x2e, 0x32, 0x85, 0x6a, 0x99, 0x42, 0xbc, 0x0f, 0xc1, 0x94, 0xa6, 0xb1, 0x3e, - 0xeb, 0x9a, 0xc2, 0xd7, 0x58, 0xf6, 0x4c, 0x25, 0x20, 0x2c, 0x4d, 0xbb, 0xc0, 0x08, 0xb8, 0x8e, - 0xdb, 0xe8, 0x31, 0x38, 0xe2, 0x09, 0xcb, 0xcf, 0x38, 0xd9, 0xd7, 0xcb, 0x30, 0xeb, 0x43, 0x30, - 0xd5, 0xdd, 0xef, 0x67, 0x44, 0x81, 0x1a, 0xbb, 0xfb, 0x61, 0xb6, 0x47, 0x60, 0xba, 0xbb, 0xd3, - 0xed, 0xe7, 0xbb, 0xc7, 0xcf, 0x87, 0xba, 0x3b, 0xdd, 0x30, 0xe3, 0x9d, 0x74, 0xc1, 0x6d, 0x61, - 0x4d, 0x75, 0x70, 0x73, 0xe6, 0x98, 0x9f, 0xdc, 0xf7, 0x02, 0x9d, 0x81, 0x8a, 0xa6, 0x29, 0xd8, - 0x50, 0xb7, 0xda, 0x58, 0x51, 0x2d, 0x6c, 0xa8, 0xf6, 0x4c, 0xcd, 0x4f, 0x5c, 0xd6, 0xb4, 0x25, - 0xfa, 0x76, 0x9e, 0xbe, 0x44, 0xf7, 0xc0, 0xa4, 0xb9, 0xf5, 0x82, 0xc6, 0x54, 0x52, 0xe9, 0x5a, - 0x78, 0x5b, 0xdf, 0x9b, 0xb9, 0x83, 0xca, 0x77, 0x82, 0xbc, 0xa0, 0x0a, 0xb9, 0x46, 0x8b, 0xd1, - 0x69, 0xa8, 0x68, 0xf6, 0x8e, 0x6a, 0x75, 0xa9, 0x4d, 0xb6, 0xbb, 0xaa, 0x86, 0x67, 0xee, 0x64, - 0xa4, 0xac, 0xfc, 0x92, 0x28, 0x26, 0x53, 0xc2, 0xbe, 0xa6, 0x6f, 0x3b, 0x02, 0xf1, 0x6e, 0x36, - 0x25, 0x68, 0x19, 0x47, 0x9b, 0x85, 0x0a, 0x11, 0x45, 0xa0, 0xe2, 0x59, 0x4a, 0x56, 0xee, 0xee, - 0x74, 0xfd, 0xf5, 0x9e, 0x82, 0x71, 0x42, 0xe9, 0x55, 0x7a, 0x9a, 0x05, 0x64, 0xdd, 0x1d, 0x5f, - 0x8d, 0x0f, 0xc2, 0x51, 0x42, 0xd4, 0xc1, 0x8e, 0xda, 0x54, 0x1d, 0xd5, 0x47, 0x7d, 0x1f, 0xa5, - 0x26, 0x72, 0x5f, 0xe5, 0x2f, 0x03, 0xed, 0xb4, 0x7a, 0x5b, 0xfb, 0xae, 0x66, 0xdd, 0xcf, 0xda, - 0x49, 0xca, 0x84, 0x6e, 0xbd, 0x6d, 0x41, 0xb7, 0x54, 0x87, 0x92, 0x5f, 0xf1, 0x51, 0x01, 0x98, - 0xea, 0x57, 0x52, 0x24, 0x0a, 0x5a, 0xb8, 0xbc, 0x48, 0xe2, 0x97, 0xe7, 0x97, 0x2a, 0x69, 0x12, - 0x47, 0xad, 0x2c, 0x6f, 0x2c, 0x29, 0xf2, 0xe6, 0xa5, 0x8d, 0xe5, 0xd5, 0xa5, 0x4a, 0xc6, 0x17, - 0xb0, 0x3f, 0x95, 0xcd, 0xdf, 0x55, 0xb9, 0x5b, 0xfa, 0x56, 0x1a, 0xca, 0xc1, 0x15, 0x18, 0x7a, - 0x1c, 0x8e, 0x89, 0x74, 0x89, 0x8d, 0x1d, 0xe5, 0x9a, 0x6e, 0xd1, 0x19, 0xd9, 0x51, 0x99, 0x77, - 0x74, 0x75, 0x62, 0x9a, 0x53, 0xad, 0x63, 0xe7, 0x59, 0xdd, 0x22, 0xf3, 0xad, 0xa3, 0x3a, 0x68, - 0x05, 0x6a, 0x86, 0xa9, 0xd8, 0x8e, 0x6a, 0x34, 0x55, 0xab, 0xa9, 0x78, 0x89, 0x2a, 0x45, 0xd5, - 0x34, 0x6c, 0xdb, 0x26, 0xf3, 0x84, 0x2e, 0xca, 0xad, 0x86, 0xb9, 0xce, 0x89, 0x3d, 0x17, 0x31, - 0xcf, 0x49, 0x43, 0xfa, 0x9b, 0x19, 0xa4, 0xbf, 0xb7, 0x40, 0xa1, 0xa3, 0x76, 0x15, 0x6c, 0x38, - 0xd6, 0x3e, 0x8d, 0xbb, 0xf3, 0x72, 0xbe, 0xa3, 0x76, 0x97, 0xc8, 0xf3, 0x3b, 0xb2, 0xfc, 0x79, - 0x2a, 0x9b, 0xcf, 0x57, 0x0a, 0x4f, 0x65, 0xf3, 0x85, 0x0a, 0x48, 0xaf, 0x65, 0xa0, 0xe4, 0x8f, - 0xc3, 0xc9, 0xb2, 0x46, 0xa3, 0x2e, 0x2b, 0x45, 0x8d, 0xda, 0xa9, 0xa1, 0x51, 0xfb, 0xdc, 0x02, - 0xf1, 0x65, 0xf5, 0x1c, 0x8b, 0x8e, 0x65, 0xc6, 0x49, 0xe2, 0x08, 0xa2, 0x6c, 0x98, 0x45, 0x23, - 0x79, 0x99, 0x3f, 0xa1, 0x0b, 0x90, 0x7b, 0xc1, 0xa6, 0xd8, 0x39, 0x8a, 0x7d, 0xc7, 0x70, 0xec, - 0xa7, 0xd6, 0x29, 0x78, 0xe1, 0xa9, 0x75, 0xe5, 0xd2, 0x65, 0x79, 0x75, 0x7e, 0x45, 0xe6, 0xec, - 0xe8, 0x38, 0x64, 0xdb, 0xea, 0x4b, 0xfb, 0x41, 0xaf, 0x47, 0x8b, 0x92, 0x0e, 0xc2, 0x71, 0xc8, - 0x5e, 0xc3, 0xea, 0x6e, 0xd0, 0xd7, 0xd0, 0xa2, 0xb7, 0x71, 0x32, 0x9c, 0x81, 0x51, 0x2a, 0x2f, - 0x04, 0xc0, 0x25, 0x56, 0x19, 0x41, 0x79, 0xc8, 0x2e, 0x5c, 0x96, 0xc9, 0x84, 0xa8, 0x40, 0x89, - 0x95, 0x2a, 0x6b, 0xcb, 0x4b, 0x0b, 0x4b, 0x95, 0xb4, 0xf4, 0x10, 0xe4, 0x98, 0x10, 0xc8, 0x64, - 0x71, 0xc5, 0x50, 0x19, 0xe1, 0x8f, 0x1c, 0x23, 0x25, 0xde, 0x6e, 0xae, 0x36, 0x96, 0xe4, 0x4a, - 0x3a, 0x38, 0xd4, 0xd9, 0xca, 0xa8, 0x64, 0x43, 0xc9, 0x1f, 0x88, 0xbf, 0x33, 0x8b, 0xec, 0xaf, - 0xa7, 0xa0, 0xe8, 0x0b, 0xac, 0x49, 0x44, 0xa4, 0xb6, 0xdb, 0xe6, 0x35, 0x45, 0x6d, 0xeb, 0xaa, - 0xcd, 0x55, 0x03, 0x68, 0xd1, 0x3c, 0x29, 0x49, 0x3a, 0x74, 0xef, 0xd0, 0x14, 0x19, 0xad, 0xe4, - 0xa4, 0xcf, 0xa6, 0xa0, 0x12, 0x8e, 0x6c, 0x43, 0xcd, 0x4c, 0xfd, 0x28, 0x9b, 0x29, 0x7d, 0x3a, - 0x05, 0xe5, 0x60, 0x38, 0x1b, 0x6a, 0xde, 0xed, 0x3f, 0xd2, 0xe6, 0xfd, 0x79, 0x1a, 0xc6, 0x03, - 0x41, 0x6c, 0xd2, 0xd6, 0xbd, 0x08, 0x93, 0x7a, 0x13, 0x77, 0xba, 0xa6, 0x83, 0x0d, 0x6d, 0x5f, - 0x69, 0xe3, 0xab, 0xb8, 0x3d, 0x23, 0x51, 0xa3, 0x71, 0x66, 0x78, 0x98, 0x3c, 0xb7, 0xec, 0xf1, - 0xad, 0x10, 0xb6, 0xfa, 0xd4, 0xf2, 0xe2, 0xd2, 0xea, 0xda, 0xe5, 0x8d, 0xa5, 0x4b, 0x0b, 0x1f, - 0x50, 0x36, 0x2f, 0x3d, 0x7d, 0xe9, 0xf2, 0xb3, 0x97, 0xe4, 0x8a, 0x1e, 0x22, 0x7b, 0x1b, 0xa7, - 0xfd, 0x1a, 0x54, 0xc2, 0x8d, 0x42, 0xc7, 0x20, 0xaa, 0x59, 0x95, 0x11, 0x34, 0x05, 0x13, 0x97, - 0x2e, 0x2b, 0xeb, 0xcb, 0x8b, 0x4b, 0xca, 0xd2, 0xf9, 0xf3, 0x4b, 0x0b, 0x1b, 0xeb, 0x2c, 0xf1, - 0xe1, 0x52, 0x6f, 0x04, 0x26, 0xb8, 0xf4, 0xa9, 0x0c, 0x4c, 0x45, 0xb4, 0x04, 0xcd, 0xf3, 0x25, - 0x0b, 0x5b, 0x45, 0xdd, 0x9f, 0xa4, 0xf5, 0x73, 0x24, 0x66, 0x58, 0x53, 0x2d, 0x87, 0xaf, 0x70, - 0x4e, 0x03, 0x91, 0x92, 0xe1, 0xe8, 0xdb, 0x3a, 0xb6, 0x78, 0x9e, 0x88, 0xad, 0x63, 0x26, 0xbc, - 0x72, 0x96, 0x2a, 0xba, 0x0f, 0x50, 0xd7, 0xb4, 0x75, 0x47, 0xbf, 0x8a, 0x15, 0xdd, 0x10, 0x49, - 0xa5, 0x2c, 0xdd, 0x65, 0xaa, 0x88, 0x37, 0xcb, 0x86, 0xe3, 0x52, 0x1b, 0xb8, 0xa5, 0x86, 0xa8, - 0x89, 0x31, 0xcf, 0xc8, 0x15, 0xf1, 0xc6, 0xa5, 0xbe, 0x1d, 0x4a, 0x4d, 0xb3, 0x47, 0x82, 0x3d, - 0x46, 0x47, 0x7c, 0x47, 0x4a, 0x2e, 0xb2, 0x32, 0x97, 0x84, 0x87, 0xf1, 0x5e, 0x36, 0xab, 0x24, - 0x17, 0x59, 0x19, 0x23, 0xb9, 0x1b, 0x26, 0xd4, 0x56, 0xcb, 0x22, 0xe0, 0x02, 0x88, 0x2d, 0x4c, - 0xca, 0x6e, 0x31, 0x25, 0xac, 0x3e, 0x05, 0x79, 0x21, 0x07, 0xe2, 0xaa, 0x89, 0x24, 0x94, 0x2e, - 0x5b, 0x6d, 0xa7, 0x67, 0x0b, 0x72, 0xde, 0x10, 0x2f, 0x6f, 0x87, 0x92, 0x6e, 0x2b, 0x5e, 0x72, - 0x3e, 0x7d, 0x32, 0x3d, 0x9b, 0x97, 0x8b, 0xba, 0xed, 0x26, 0x36, 0xa5, 0x2f, 0xa4, 0xa1, 0x1c, - 0xdc, 0x5c, 0x40, 0x8b, 0x90, 0x6f, 0x9b, 0x1a, 0xdd, 0x3d, 0xe4, 0x3b, 0x5b, 0xb3, 0x31, 0xfb, - 0x11, 0x73, 0x2b, 0x9c, 0x5e, 0x76, 0x39, 0xab, 0xff, 0x21, 0x05, 0x79, 0x51, 0x8c, 0x8e, 0x42, - 0xb6, 0xab, 0x3a, 0x3b, 0x14, 0x6e, 0xb4, 0x91, 0xae, 0xa4, 0x64, 0xfa, 0x4c, 0xca, 0xed, 0xae, - 0x6a, 0x50, 0x15, 0xe0, 0xe5, 0xe4, 0x99, 0x8c, 0x6b, 0x1b, 0xab, 0x4d, 0xba, 0xea, 0x31, 0x3b, - 0x1d, 0x6c, 0x38, 0xb6, 0x18, 0x57, 0x5e, 0xbe, 0xc0, 0x8b, 0xd1, 0xbd, 0x30, 0xe9, 0x58, 0xaa, - 0xde, 0x0e, 0xd0, 0x66, 0x29, 0x6d, 0x45, 0xbc, 0x70, 0x89, 0xeb, 0x70, 0x5c, 0xe0, 0x36, 0xb1, - 0xa3, 0x6a, 0x3b, 0xb8, 0xe9, 0x31, 0xe5, 0x68, 0x76, 0xe3, 0x18, 0x27, 0x58, 0xe4, 0xef, 0x05, - 0xaf, 0xf4, 0xad, 0x14, 0x4c, 0x8a, 0x75, 0x5a, 0xd3, 0x15, 0xd6, 0x2a, 0x80, 0x6a, 0x18, 0xa6, - 0xe3, 0x17, 0x57, 0xbf, 0x2a, 0xf7, 0xf1, 0xcd, 0xcd, 0xbb, 0x4c, 0xb2, 0x0f, 0xa0, 0xda, 0x01, - 0xf0, 0xde, 0x0c, 0x14, 0x5b, 0x0d, 0x8a, 0x7c, 0xe7, 0x88, 0x6e, 0x3f, 0xb2, 0x95, 0x3d, 0xb0, - 0x22, 0xb2, 0xa0, 0x43, 0xd3, 0x30, 0xba, 0x85, 0x5b, 0xba, 0xc1, 0xf3, 0xc1, 0xec, 0x41, 0xe4, - 0x5f, 0xb2, 0x6e, 0xfe, 0xa5, 0xf1, 0xf1, 0x14, 0x4c, 0x69, 0x66, 0x27, 0xdc, 0xde, 0x46, 0x25, - 0x94, 0x5e, 0xb0, 0x2f, 0xa6, 0x9e, 0x7f, 0xc2, 0xb7, 0xd3, 0xda, 0x32, 0xdb, 0xaa, 0xd1, 0xf2, - 0xf6, 0x4f, 0xe9, 0x0f, 0xed, 0xfe, 0x16, 0x36, 0xee, 0x6f, 0x99, 0xbe, 0xdd, 0xd4, 0x73, 0xde, - 0xcf, 0xbf, 0x4e, 0xa5, 0x3e, 0x9f, 0xce, 0x5c, 0x58, 0x6b, 0x7c, 0x31, 0x5d, 0xbd, 0xc0, 0xaa, - 0x5b, 0x13, 0xe2, 0x91, 0xf1, 0x76, 0x1b, 0x6b, 0xa4, 0xcb, 0xf0, 0xbd, 0x7b, 0x61, 0xba, 0x65, - 0xb6, 0x4c, 0x8a, 0x78, 0x86, 0xfc, 0xe2, 0x3b, 0xb2, 0x05, 0xb7, 0xb4, 0x1a, 0xbb, 0x7d, 0x5b, - 0xbf, 0x04, 0x53, 0x9c, 0x58, 0xa1, 0x5b, 0x42, 0x6c, 0x61, 0x83, 0x86, 0xa6, 0xd5, 0x66, 0x7e, - 0xff, 0x3b, 0xd4, 0xa1, 0xcb, 0x93, 0x9c, 0x95, 0xbc, 0x63, 0x6b, 0x9f, 0xba, 0x0c, 0x47, 0x02, - 0x78, 0x6c, 0xda, 0x62, 0x2b, 0x06, 0xf1, 0xdf, 0x72, 0xc4, 0x29, 0x1f, 0xe2, 0x3a, 0x67, 0xad, - 0x2f, 0xc0, 0xf8, 0x61, 0xb0, 0xfe, 0x1d, 0xc7, 0x2a, 0x61, 0x3f, 0xc8, 0x05, 0x98, 0xa0, 0x20, - 0x5a, 0xcf, 0x76, 0xcc, 0x0e, 0xb5, 0x89, 0xc3, 0x61, 0xfe, 0xe8, 0x3b, 0x6c, 0x1e, 0x95, 0x09, - 0xdb, 0x82, 0xcb, 0x55, 0xaf, 0x03, 0xdd, 0x05, 0x6b, 0x62, 0xad, 0x1d, 0x83, 0xf0, 0x0d, 0xde, - 0x10, 0x97, 0xbe, 0x7e, 0x05, 0xa6, 0xc9, 0x6f, 0x6a, 0xb2, 0xfc, 0x2d, 0x89, 0xcf, 0xc1, 0xcd, - 0x7c, 0xeb, 0xe7, 0xd8, 0x54, 0x9d, 0x72, 0x01, 0x7c, 0x6d, 0xf2, 0x8d, 0x62, 0x0b, 0x3b, 0x0e, - 0xb6, 0x6c, 0x45, 0x6d, 0x47, 0x35, 0xcf, 0x97, 0xc4, 0x98, 0xf9, 0x8d, 0x37, 0x82, 0xa3, 0x78, - 0x81, 0x71, 0xce, 0xb7, 0xdb, 0xf5, 0x4d, 0x38, 0x16, 0xa1, 0x15, 0x09, 0x30, 0x3f, 0xc5, 0x31, - 0xa7, 0xfb, 0x34, 0x83, 0xc0, 0xae, 0x81, 0x28, 0x77, 0xc7, 0x32, 0x01, 0xe6, 0x6f, 0x72, 0x4c, - 0xc4, 0x79, 0xc5, 0x90, 0x12, 0xc4, 0xa7, 0x60, 0xf2, 0x2a, 0xb6, 0xb6, 0x4c, 0x9b, 0x27, 0x8e, - 0x12, 0xc0, 0x7d, 0x9a, 0xc3, 0x4d, 0x70, 0x46, 0x9a, 0x49, 0x22, 0x58, 0x8f, 0x41, 0x7e, 0x5b, - 0xd5, 0x70, 0x02, 0x88, 0xcf, 0x70, 0x88, 0x31, 0x42, 0x4f, 0x58, 0xe7, 0xa1, 0xd4, 0x32, 0xb9, - 0xd7, 0x8a, 0x67, 0xff, 0x2c, 0x67, 0x2f, 0x0a, 0x1e, 0x0e, 0xd1, 0x35, 0xbb, 0xbd, 0x36, 0x71, - 0x69, 0xf1, 0x10, 0xbf, 0x25, 0x20, 0x04, 0x0f, 0x87, 0x38, 0x84, 0x58, 0x5f, 0x15, 0x10, 0xb6, - 0x4f, 0x9e, 0x4f, 0x42, 0xd1, 0x34, 0xda, 0xfb, 0xa6, 0x91, 0xa4, 0x11, 0x9f, 0xe3, 0x08, 0xc0, - 0x59, 0x08, 0xc0, 0x39, 0x28, 0x24, 0x1d, 0x88, 0x7f, 0xf8, 0x86, 0x98, 0x1e, 0x62, 0x04, 0x2e, - 0xc0, 0x84, 0x30, 0x50, 0xba, 0x69, 0x24, 0x80, 0xf8, 0x47, 0x1c, 0xa2, 0xec, 0x63, 0xe3, 0xdd, - 0x70, 0xb0, 0xed, 0xb4, 0x70, 0x12, 0x90, 0x2f, 0x88, 0x6e, 0x70, 0x16, 0x2e, 0xca, 0x2d, 0x6c, - 0x68, 0x3b, 0xc9, 0x10, 0x7e, 0x5b, 0x88, 0x52, 0xf0, 0x10, 0x88, 0x05, 0x18, 0xef, 0xa8, 0x96, - 0xbd, 0xa3, 0xb6, 0x13, 0x0d, 0xc7, 0x3f, 0xe6, 0x18, 0x25, 0x97, 0x89, 0x4b, 0xa4, 0x67, 0x1c, - 0x06, 0xe6, 0x8b, 0x42, 0x22, 0x3e, 0x36, 0x3e, 0xf5, 0x6c, 0x87, 0x66, 0xd9, 0x0e, 0x83, 0xf6, - 0x4f, 0xc4, 0xd4, 0x63, 0xbc, 0xab, 0x7e, 0xc4, 0x73, 0x50, 0xb0, 0xf5, 0x97, 0x12, 0xc1, 0xfc, - 0x53, 0x31, 0xd2, 0x94, 0x81, 0x30, 0x7f, 0x00, 0x8e, 0x47, 0xba, 0x89, 0x04, 0x60, 0xff, 0x8c, - 0x83, 0x1d, 0x8d, 0x70, 0x15, 0xdc, 0x24, 0x1c, 0x16, 0xf2, 0x77, 0x84, 0x49, 0xc0, 0x21, 0xac, - 0x35, 0xb2, 0x8e, 0xb0, 0xd5, 0xed, 0xc3, 0x49, 0xed, 0x77, 0x85, 0xd4, 0x18, 0x6f, 0x40, 0x6a, - 0x1b, 0x70, 0x94, 0x23, 0x1e, 0x6e, 0x5c, 0x7f, 0x4f, 0x18, 0x56, 0xc6, 0xbd, 0x19, 0x1c, 0xdd, - 0x0f, 0x42, 0xd5, 0x15, 0xa7, 0x08, 0x58, 0x6d, 0xa5, 0xa3, 0x76, 0x13, 0x20, 0xff, 0x3e, 0x47, - 0x16, 0x16, 0xdf, 0x8d, 0x78, 0xed, 0x55, 0xb5, 0x4b, 0xc0, 0x9f, 0x83, 0x19, 0x01, 0xde, 0x33, - 0x2c, 0xac, 0x99, 0x2d, 0x43, 0x7f, 0x09, 0x37, 0x13, 0x40, 0xff, 0xf3, 0xd0, 0x50, 0x6d, 0xfa, - 0xd8, 0x09, 0xf2, 0x32, 0x54, 0xdc, 0x58, 0x45, 0xd1, 0x3b, 0x5d, 0xd3, 0x72, 0x62, 0x10, 0xff, - 0x85, 0x18, 0x29, 0x97, 0x6f, 0x99, 0xb2, 0xd5, 0x97, 0xa0, 0x4c, 0x1f, 0x93, 0xaa, 0xe4, 0x97, - 0x38, 0xd0, 0xb8, 0xc7, 0xc5, 0x0d, 0x87, 0x66, 0x76, 0xba, 0xaa, 0x95, 0xc4, 0xfe, 0xfd, 0x4b, - 0x61, 0x38, 0x38, 0x0b, 0x37, 0x1c, 0xce, 0x7e, 0x17, 0x13, 0x6f, 0x9f, 0x00, 0xe1, 0xcb, 0xc2, - 0x70, 0x08, 0x1e, 0x0e, 0x21, 0x02, 0x86, 0x04, 0x10, 0x5f, 0x11, 0x10, 0x82, 0x87, 0x40, 0x3c, - 0xe3, 0x39, 0x5a, 0x0b, 0xb7, 0x74, 0xdb, 0xb1, 0x58, 0x98, 0x3c, 0x1c, 0xea, 0xab, 0x6f, 0x04, - 0x83, 0x30, 0xd9, 0xc7, 0x4a, 0x2c, 0x11, 0x4f, 0xbb, 0xd2, 0x55, 0x54, 0x7c, 0xc3, 0xbe, 0x26, - 0x2c, 0x91, 0x8f, 0x8d, 0xb4, 0xcd, 0x17, 0x21, 0x12, 0xb1, 0x6b, 0x64, 0xed, 0x90, 0x00, 0xee, - 0x0f, 0x42, 0x8d, 0x5b, 0x17, 0xbc, 0x04, 0xd3, 0x17, 0xff, 0xf4, 0x8c, 0x5d, 0xbc, 0x9f, 0x48, - 0x3b, 0xff, 0x30, 0x14, 0xff, 0x6c, 0x32, 0x4e, 0x66, 0x43, 0x26, 0x42, 0xf1, 0x14, 0x8a, 0x3b, - 0x3f, 0x34, 0xf3, 0xb7, 0xdf, 0xe4, 0xfd, 0x0d, 0x86, 0x53, 0xf5, 0x15, 0xa2, 0xe4, 0xc1, 0xa0, - 0x27, 0x1e, 0xec, 0xe7, 0xde, 0x74, 0xf5, 0x3c, 0x10, 0xf3, 0xd4, 0xcf, 0xc3, 0x78, 0x20, 0xe0, - 0x89, 0x87, 0xfa, 0x79, 0x0e, 0x55, 0xf2, 0xc7, 0x3b, 0xf5, 0x87, 0x20, 0x4b, 0x82, 0x97, 0x78, - 0xf6, 0x5f, 0xe0, 0xec, 0x94, 0xbc, 0xfe, 0x3e, 0xc8, 0x8b, 0xa0, 0x25, 0x9e, 0xf5, 0x17, 0x39, - 0xab, 0xcb, 0x42, 0xd8, 0x45, 0xc0, 0x12, 0xcf, 0xfe, 0x61, 0xc1, 0x2e, 0x58, 0x08, 0x7b, 0x72, - 0x11, 0x7e, 0xfd, 0xef, 0x64, 0xb9, 0xd3, 0x11, 0xb2, 0x3b, 0x07, 0x63, 0x3c, 0x52, 0x89, 0xe7, - 0xfe, 0x28, 0xaf, 0x5c, 0x70, 0xd4, 0x1f, 0x81, 0xd1, 0x84, 0x02, 0xff, 0x65, 0xce, 0xca, 0xe8, - 0xeb, 0x0b, 0x50, 0xf4, 0x45, 0x27, 0xf1, 0xec, 0xbf, 0xc2, 0xd9, 0xfd, 0x5c, 0xa4, 0xe9, 0x3c, - 0x3a, 0x89, 0x07, 0xf8, 0xb8, 0x68, 0x3a, 0xe7, 0x20, 0x62, 0x13, 0x81, 0x49, 0x3c, 0xf7, 0x27, - 0x84, 0xd4, 0x05, 0x4b, 0xfd, 0x49, 0x28, 0xb8, 0xce, 0x26, 0x9e, 0xff, 0xef, 0x72, 0x7e, 0x8f, - 0x87, 0x48, 0xc0, 0xe7, 0xec, 0xe2, 0x21, 0x3e, 0x29, 0x24, 0xe0, 0xe3, 0x22, 0xd3, 0x28, 0x1c, - 0xc0, 0xc4, 0x23, 0xfd, 0x3d, 0x31, 0x8d, 0x42, 0xf1, 0x0b, 0x19, 0x4d, 0x6a, 0xf3, 0xe3, 0x21, - 0x7e, 0x55, 0x8c, 0x26, 0xa5, 0x27, 0xcd, 0x08, 0x47, 0x04, 0xf1, 0x18, 0x7f, 0x5f, 0x34, 0x23, - 0x14, 0x10, 0xd4, 0xd7, 0x00, 0xf5, 0x47, 0x03, 0xf1, 0x78, 0xaf, 0x70, 0xbc, 0xc9, 0xbe, 0x60, - 0xa0, 0xfe, 0x2c, 0x1c, 0x8d, 0x8e, 0x04, 0xe2, 0x51, 0x7f, 0xe3, 0xcd, 0xd0, 0xda, 0xcd, 0x1f, - 0x08, 0xd4, 0x37, 0x3c, 0x97, 0xe2, 0x8f, 0x02, 0xe2, 0x61, 0x3f, 0xf5, 0x66, 0xd0, 0x70, 0xfb, - 0x83, 0x80, 0xfa, 0x3c, 0x80, 0xe7, 0x80, 0xe3, 0xb1, 0x3e, 0xcd, 0xb1, 0x7c, 0x4c, 0x64, 0x6a, - 0x70, 0xff, 0x1b, 0xcf, 0xff, 0x19, 0x31, 0x35, 0x38, 0x07, 0x99, 0x1a, 0xc2, 0xf5, 0xc6, 0x73, - 0x7f, 0x56, 0x4c, 0x0d, 0xc1, 0x42, 0x34, 0xdb, 0xe7, 0xdd, 0xe2, 0x11, 0x3e, 0x27, 0x34, 0xdb, - 0xc7, 0x55, 0xbf, 0x04, 0x93, 0x7d, 0x0e, 0x31, 0x1e, 0xea, 0xf3, 0x1c, 0xaa, 0x12, 0xf6, 0x87, - 0x7e, 0xe7, 0xc5, 0x9d, 0x61, 0x3c, 0xda, 0x3f, 0x08, 0x39, 0x2f, 0xee, 0x0b, 0xeb, 0xe7, 0x20, - 0x6f, 0xf4, 0xda, 0x6d, 0x32, 0x79, 0xd0, 0xf0, 0x33, 0x7f, 0x33, 0xff, 0xfd, 0x87, 0x5c, 0x3a, - 0x82, 0xa1, 0xfe, 0x10, 0x8c, 0xe2, 0xce, 0x16, 0x6e, 0xc6, 0x71, 0x7e, 0xef, 0x87, 0xc2, 0x60, - 0x12, 0xea, 0xfa, 0x93, 0x00, 0x2c, 0x35, 0x42, 0xb7, 0x07, 0x63, 0x78, 0xff, 0xc7, 0x0f, 0xf9, - 0x69, 0x1c, 0x8f, 0xc5, 0x03, 0x60, 0x67, 0x7b, 0x86, 0x03, 0xbc, 0x11, 0x04, 0xa0, 0x23, 0xf2, - 0x18, 0x8c, 0xbd, 0x60, 0x9b, 0x86, 0xa3, 0xb6, 0xe2, 0xb8, 0xff, 0x27, 0xe7, 0x16, 0xf4, 0x44, - 0x60, 0x1d, 0xd3, 0xc2, 0x8e, 0xda, 0xb2, 0xe3, 0x78, 0xff, 0x17, 0xe7, 0x75, 0x19, 0x08, 0xb3, - 0xa6, 0xda, 0x4e, 0x92, 0x7e, 0xff, 0x6f, 0xc1, 0x2c, 0x18, 0x48, 0xa3, 0xc9, 0xef, 0x5d, 0xbc, - 0x1f, 0xc7, 0xfb, 0x7d, 0xd1, 0x68, 0x4e, 0x5f, 0x7f, 0x1f, 0x14, 0xc8, 0x4f, 0x76, 0xc4, 0x2e, - 0x86, 0xf9, 0xff, 0x70, 0x66, 0x8f, 0x83, 0xd4, 0x6c, 0x3b, 0x4d, 0x47, 0x8f, 0x17, 0xf6, 0x75, - 0x3e, 0xd2, 0x82, 0xbe, 0x3e, 0x0f, 0x45, 0xdb, 0x69, 0x36, 0x7b, 0x3c, 0x3e, 0x8d, 0x61, 0xff, - 0xbf, 0x3f, 0x74, 0x53, 0x16, 0x2e, 0x0f, 0x19, 0xed, 0x6b, 0xbb, 0x4e, 0xd7, 0xa4, 0x5b, 0x20, - 0x71, 0x08, 0x6f, 0x72, 0x04, 0x1f, 0x4b, 0x7d, 0x01, 0x4a, 0xa4, 0x2f, 0x16, 0xee, 0x62, 0xba, - 0x5f, 0x15, 0x03, 0xf1, 0x97, 0x5c, 0x00, 0x01, 0xa6, 0xc6, 0x4f, 0x0f, 0xba, 0x77, 0x13, 0x9d, - 0x36, 0x86, 0x0b, 0xe6, 0x05, 0x93, 0x25, 0x8c, 0x9f, 0x97, 0x02, 0xe9, 0xe2, 0x96, 0xe9, 0x65, - 0x6b, 0xdd, 0x45, 0x0e, 0xfc, 0x41, 0x1a, 0xee, 0xa4, 0xc7, 0x7d, 0xad, 0x8e, 0x6e, 0x38, 0x67, - 0x34, 0x6b, 0xbf, 0xeb, 0x98, 0x67, 0x3a, 0xd8, 0xda, 0x6d, 0x63, 0xfe, 0x87, 0x67, 0x7f, 0x67, - 0x3c, 0xb2, 0x39, 0x46, 0x36, 0xc7, 0xde, 0x57, 0x23, 0xb3, 0xc5, 0xd2, 0x02, 0x8c, 0xad, 0x59, - 0xa6, 0xb9, 0x7d, 0xb9, 0x8b, 0x10, 0x3f, 0xc1, 0xcc, 0x4f, 0xc6, 0x51, 0x35, 0xe4, 0x37, 0x9e, - 0xd2, 0xde, 0x8d, 0x27, 0x04, 0xd9, 0xa6, 0xea, 0xa8, 0x34, 0x61, 0x5e, 0x92, 0xe9, 0x6f, 0xa9, - 0x01, 0xa3, 0x14, 0x04, 0x3d, 0x06, 0x19, 0xb3, 0x6b, 0xf3, 0xec, 0xfe, 0xed, 0x73, 0x83, 0xda, - 0x32, 0xc7, 0xab, 0x6c, 0x64, 0xbf, 0x71, 0x50, 0x1b, 0x91, 0x09, 0x4f, 0x63, 0xed, 0xaf, 0xbf, - 0x7d, 0x22, 0xf5, 0xdb, 0xaf, 0x9d, 0x48, 0x0d, 0xbc, 0xc1, 0x34, 0xe7, 0x13, 0x94, 0x4f, 0x18, - 0x83, 0xe4, 0xe2, 0xde, 0x63, 0xfa, 0xa5, 0x34, 0x9c, 0xf0, 0x11, 0xb5, 0xf5, 0x2d, 0xfb, 0xcc, - 0xee, 0x55, 0x76, 0xe5, 0x89, 0x4b, 0x0d, 0xf9, 0x5a, 0x4a, 0xde, 0xcf, 0xed, 0x5e, 0x1d, 0x20, - 0xaf, 0x39, 0xc8, 0xae, 0xa9, 0xba, 0x15, 0x71, 0x15, 0x6c, 0xda, 0x3b, 0xdc, 0x4a, 0xca, 0xd8, - 0x83, 0x74, 0x16, 0xf2, 0x4f, 0x2f, 0x3f, 0xfc, 0x60, 0x12, 0x9e, 0x0c, 0xe7, 0x69, 0xc8, 0x42, - 0x14, 0x5f, 0x8d, 0x10, 0xc7, 0xd7, 0x5f, 0x3f, 0x91, 0x8a, 0xbc, 0xd4, 0x15, 0x2d, 0x12, 0xde, - 0x5b, 0x57, 0x18, 0x9f, 0x48, 0x43, 0x2d, 0xbc, 0x2b, 0x40, 0xa6, 0xa2, 0xed, 0xa8, 0x9d, 0xee, - 0xa0, 0x3b, 0x5d, 0xe7, 0xa0, 0xb0, 0x21, 0x68, 0xd0, 0x0c, 0x8c, 0xd9, 0x58, 0x33, 0x8d, 0xa6, - 0x4d, 0x7b, 0x92, 0x91, 0xc5, 0x23, 0xe9, 0x8d, 0xa1, 0x1a, 0xa6, 0xcd, 0x8f, 0x9c, 0xb2, 0x87, - 0xc6, 0xaf, 0xa7, 0x0e, 0x37, 0x37, 0xca, 0x6e, 0x55, 0x74, 0x82, 0xac, 0xa5, 0x9e, 0xbf, 0x77, - 0xd8, 0x86, 0x0a, 0xbb, 0xb9, 0xe6, 0x76, 0xc1, 0xb7, 0x7b, 0x72, 0x22, 0xbc, 0x7b, 0xf2, 0x2c, - 0x6e, 0xb7, 0x9f, 0x36, 0xcc, 0x6b, 0xc6, 0x06, 0xe1, 0x71, 0x45, 0xf2, 0xb1, 0x34, 0x9c, 0xe8, - 0xdb, 0x28, 0xe1, 0xe6, 0x65, 0x90, 0x44, 0xea, 0x90, 0x5f, 0x14, 0x56, 0xeb, 0xb0, 0x02, 0xf9, - 0xd5, 0x43, 0x0a, 0x64, 0x5c, 0xd4, 0x24, 0xe4, 0x71, 0x4f, 0xbc, 0x3c, 0x44, 0xfb, 0x6f, 0x40, - 0x1c, 0x3f, 0xff, 0x04, 0xdc, 0xee, 0x53, 0x20, 0x75, 0x4b, 0xd3, 0xf9, 0xf5, 0x40, 0xff, 0x8c, - 0x39, 0xe2, 0x9b, 0x31, 0x84, 0x64, 0x8e, 0xbe, 0x8c, 0x9e, 0x34, 0xd5, 0x64, 0xb6, 0xab, 0x1a, - 0x33, 0x4b, 0xab, 0x71, 0x8a, 0x5b, 0x8d, 0x19, 0x46, 0xe9, 0xaf, 0x46, 0x61, 0x4c, 0xdc, 0xe5, - 0x7c, 0x14, 0xb2, 0x58, 0xdb, 0x31, 0xf9, 0x69, 0x77, 0x69, 0x2e, 0xb2, 0x3f, 0x73, 0x9c, 0x7a, - 0x49, 0xdb, 0x31, 0x2f, 0x8e, 0xc8, 0x94, 0x83, 0xde, 0x01, 0x6b, 0xf7, 0xec, 0x1d, 0x7e, 0x28, - 0xf9, 0xd4, 0x70, 0xd6, 0xf3, 0x84, 0xf4, 0xe2, 0x88, 0xcc, 0x78, 0x48, 0xb5, 0xf4, 0xfe, 0x5a, - 0x36, 0x49, 0xb5, 0xcb, 0xc6, 0x36, 0xad, 0x96, 0x70, 0xa0, 0x8b, 0x00, 0x36, 0x76, 0xc4, 0x51, - 0x86, 0x51, 0xca, 0x7f, 0xf7, 0x70, 0xfe, 0x75, 0xec, 0x30, 0xb7, 0x75, 0x71, 0x44, 0x2e, 0xd8, - 0xe2, 0x81, 0x20, 0xe9, 0x86, 0xee, 0x28, 0xda, 0x8e, 0xaa, 0x1b, 0x74, 0x0f, 0x3e, 0x16, 0x69, - 0xd9, 0xd0, 0x9d, 0x05, 0x42, 0x4e, 0x90, 0x74, 0xf1, 0x40, 0x44, 0x41, 0xef, 0x8c, 0xf2, 0x4b, - 0x56, 0x31, 0xa2, 0x78, 0x86, 0x90, 0x12, 0x51, 0x50, 0x1e, 0xf4, 0x34, 0x14, 0xe9, 0x76, 0xab, - 0xb2, 0xd5, 0x36, 0xb5, 0x5d, 0x7e, 0xb3, 0x64, 0x76, 0x38, 0x44, 0x83, 0x30, 0x34, 0x08, 0xfd, - 0xc5, 0x11, 0x19, 0xb6, 0xdc, 0x27, 0xd4, 0x80, 0x3c, 0x3b, 0xf6, 0xeb, 0xec, 0xf1, 0xbb, 0x81, - 0x77, 0x0e, 0x47, 0xa2, 0x27, 0x80, 0x37, 0xf6, 0x2e, 0x8e, 0xc8, 0x63, 0x1a, 0xfb, 0x89, 0x96, - 0xa0, 0x80, 0x8d, 0x26, 0x6f, 0x4e, 0x91, 0xdf, 0xa2, 0x1a, 0xae, 0x17, 0x46, 0x53, 0x34, 0x26, - 0x8f, 0xf9, 0x6f, 0xf4, 0x04, 0xe4, 0x34, 0xb3, 0xd3, 0xd1, 0x1d, 0x7a, 0xc7, 0xb0, 0x78, 0xf6, - 0x8e, 0x98, 0x86, 0x50, 0xda, 0x8b, 0x23, 0x32, 0xe7, 0x22, 0xc3, 0xd3, 0xc4, 0x6d, 0xfd, 0x2a, - 0xb6, 0x48, 0x67, 0xa6, 0x92, 0x0c, 0xcf, 0x22, 0xa3, 0xa7, 0xdd, 0x29, 0x34, 0xc5, 0x43, 0x63, - 0x8c, 0xbb, 0x17, 0xe9, 0x6e, 0x28, 0xfa, 0x34, 0x99, 0x58, 0x2c, 0xbe, 0x02, 0xe1, 0xce, 0x5e, - 0x3c, 0x4a, 0x65, 0x28, 0xf9, 0xf5, 0x56, 0xea, 0xb8, 0x8c, 0x74, 0x13, 0x7f, 0x06, 0xc6, 0xae, - 0x62, 0xcb, 0x66, 0x3b, 0xf8, 0x94, 0x91, 0x3f, 0xa2, 0x53, 0x30, 0x4e, 0xe5, 0xa6, 0x88, 0xf7, - 0xec, 0x5a, 0x72, 0x89, 0x16, 0x5e, 0xe1, 0x44, 0x35, 0x28, 0x76, 0xcf, 0x76, 0x5d, 0x12, 0x76, - 0x37, 0x1a, 0xba, 0x67, 0xbb, 0x9c, 0x40, 0xaa, 0x43, 0x25, 0xac, 0xba, 0x7e, 0xaf, 0x59, 0x88, - 0xf0, 0x9a, 0x05, 0xe1, 0x69, 0x7f, 0x2f, 0xed, 0x32, 0xbb, 0xda, 0x4a, 0xa6, 0x1b, 0x31, 0x12, - 0x94, 0xbb, 0x78, 0xb6, 0xda, 0x17, 0xda, 0xb9, 0xbe, 0xa6, 0x91, 0x27, 0xa1, 0xc8, 0x27, 0xfe, - 0xac, 0x96, 0x92, 0x29, 0x07, 0x3a, 0x4e, 0x14, 0x4a, 0xd5, 0x0d, 0x45, 0x6f, 0x8a, 0xdb, 0xc4, - 0xf4, 0x79, 0xb9, 0x89, 0x9e, 0x81, 0x8a, 0x66, 0x1a, 0x36, 0x36, 0xec, 0x9e, 0xad, 0x74, 0x55, - 0x4b, 0xed, 0x78, 0x97, 0xee, 0xa2, 0x87, 0x69, 0x41, 0x90, 0xaf, 0x51, 0x6a, 0x79, 0x42, 0x0b, - 0x16, 0xa0, 0x15, 0x80, 0xab, 0x6a, 0x5b, 0x6f, 0xaa, 0x8e, 0x69, 0xd9, 0xfc, 0x72, 0xca, 0x20, - 0xb0, 0x2b, 0x82, 0x70, 0xb3, 0xdb, 0x54, 0x1d, 0xcc, 0x83, 0x28, 0x1f, 0x3f, 0xba, 0x0b, 0x26, - 0xd4, 0x6e, 0x57, 0xb1, 0x1d, 0xd5, 0xc1, 0xca, 0xd6, 0xbe, 0x83, 0x6d, 0x6a, 0x2f, 0x4a, 0xf2, - 0xb8, 0xda, 0xed, 0xae, 0x93, 0xd2, 0x06, 0x29, 0x94, 0x9a, 0xee, 0x68, 0xd3, 0xa9, 0xe9, 0xc6, - 0x76, 0x29, 0x2f, 0xb6, 0x23, 0x65, 0xf4, 0x68, 0x05, 0x93, 0x81, 0x38, 0x8d, 0x92, 0xdb, 0xc1, - 0x7a, 0x6b, 0x87, 0x5d, 0x6f, 0xcf, 0xc8, 0xfc, 0x89, 0x0c, 0x4c, 0xd7, 0x32, 0xaf, 0x62, 0x7e, - 0xb3, 0x9d, 0x3d, 0x48, 0xbf, 0x96, 0x86, 0xc9, 0xbe, 0xe9, 0x4b, 0x70, 0xe9, 0x01, 0x7f, 0x5e, - 0x17, 0xf9, 0x8d, 0xce, 0x11, 0x5c, 0xb5, 0xc9, 0x2f, 0xad, 0x14, 0xcf, 0xde, 0x36, 0x40, 0x02, - 0x17, 0x29, 0x11, 0xef, 0x38, 0x67, 0x41, 0x9b, 0x50, 0x69, 0xab, 0xb6, 0xa3, 0xb0, 0x59, 0xc4, - 0x6e, 0x09, 0x67, 0x86, 0x5a, 0x82, 0x15, 0x55, 0xcc, 0x3e, 0xa2, 0xdc, 0x1c, 0xae, 0xdc, 0x0e, - 0x94, 0xa2, 0xe7, 0x60, 0x7a, 0x6b, 0xff, 0x25, 0xd5, 0x70, 0x74, 0x83, 0x1e, 0x36, 0x0a, 0x8e, - 0x51, 0x6d, 0x00, 0xf4, 0xd2, 0x55, 0xbd, 0x89, 0x0d, 0x4d, 0x0c, 0xce, 0x94, 0x0b, 0xe1, 0x0e, - 0x9e, 0x2d, 0x3d, 0x07, 0xe5, 0xa0, 0x2d, 0x42, 0x65, 0x48, 0x3b, 0x7b, 0x5c, 0x22, 0x69, 0x67, - 0x0f, 0x3d, 0xcc, 0x23, 0xf2, 0x34, 0x3d, 0x2d, 0x37, 0xc8, 0x59, 0x70, 0x6e, 0xef, 0x2e, 0xa1, - 0x24, 0xb9, 0x33, 0xc1, 0x35, 0x0c, 0x61, 0x6c, 0xe9, 0x34, 0x4c, 0x84, 0x8c, 0x98, 0x6f, 0x58, - 0x53, 0xfe, 0x61, 0x95, 0x26, 0x60, 0x3c, 0x60, 0xab, 0xa4, 0x3f, 0xce, 0x41, 0xde, 0xfd, 0x46, - 0xc1, 0x45, 0x28, 0xe0, 0x3d, 0x0d, 0x77, 0x1d, 0x61, 0x15, 0x86, 0x19, 0x71, 0xc6, 0xb3, 0x24, - 0xe8, 0x89, 0xb9, 0x72, 0x99, 0xd1, 0x63, 0x01, 0x97, 0x7c, 0x2a, 0x0e, 0xc4, 0xef, 0x93, 0x1f, - 0x0f, 0xfa, 0xe4, 0x3b, 0x62, 0x78, 0x43, 0x4e, 0xf9, 0xb1, 0x80, 0x53, 0x8e, 0xab, 0x38, 0xe0, - 0x95, 0x97, 0x23, 0xbc, 0x72, 0x5c, 0xf7, 0x07, 0xb8, 0xe5, 0xe5, 0x08, 0xb7, 0x3c, 0x1b, 0xdb, - 0x96, 0x48, 0xbf, 0xfc, 0x78, 0xd0, 0x2f, 0xc7, 0x89, 0x23, 0xe4, 0x98, 0x57, 0xa2, 0x1c, 0xf3, - 0xe9, 0x18, 0x8c, 0x81, 0x9e, 0x79, 0xa1, 0xcf, 0x33, 0xdf, 0x15, 0x03, 0x15, 0xe1, 0x9a, 0x97, - 0x03, 0x3e, 0x11, 0x12, 0xc9, 0x26, 0xda, 0x29, 0xa2, 0xf3, 0xfd, 0x5e, 0xfe, 0xee, 0x38, 0x55, - 0x8b, 0x72, 0xf3, 0x4f, 0x86, 0xdc, 0xfc, 0x9d, 0x71, 0xbd, 0x0a, 0xf9, 0x79, 0xcf, 0x3b, 0x9f, - 0x26, 0xf6, 0x31, 0x34, 0x33, 0x88, 0x2d, 0xc5, 0x96, 0x65, 0x5a, 0xdc, 0xf1, 0xb1, 0x07, 0x69, - 0x96, 0x58, 0x6c, 0x4f, 0xff, 0x87, 0x78, 0x72, 0x3a, 0x69, 0x7d, 0xda, 0x2e, 0x7d, 0x35, 0xe5, - 0xf1, 0x52, 0xcb, 0xe6, 0xb7, 0xf6, 0x05, 0x6e, 0xed, 0x7d, 0x0e, 0x3e, 0x1d, 0x74, 0xf0, 0x35, - 0x28, 0x12, 0x9f, 0x12, 0xf2, 0xdd, 0x6a, 0x57, 0xf8, 0x6e, 0x74, 0x0f, 0x4c, 0x52, 0xfb, 0xcb, - 0xc2, 0x00, 0x6e, 0x48, 0xb2, 0xd4, 0x90, 0x4c, 0x90, 0x17, 0x4c, 0x82, 0xcc, 0x51, 0xdc, 0x0f, - 0x53, 0x3e, 0x5a, 0x82, 0x4b, 0x7d, 0x01, 0x73, 0x52, 0x15, 0x97, 0x7a, 0xbe, 0xdb, 0xbd, 0xa8, - 0xda, 0x3b, 0xd2, 0xaa, 0x27, 0x20, 0x2f, 0x2e, 0x40, 0x90, 0xd5, 0xcc, 0x26, 0xeb, 0xf7, 0xb8, - 0x4c, 0x7f, 0x93, 0x58, 0xa1, 0x6d, 0xb6, 0xf8, 0x09, 0x48, 0xf2, 0x93, 0x50, 0xb9, 0x53, 0xbb, - 0xc0, 0xe6, 0xac, 0xf4, 0xa5, 0x94, 0x87, 0xe7, 0x85, 0x0a, 0x51, 0x5e, 0x3d, 0x75, 0x33, 0xbd, - 0x7a, 0xfa, 0xad, 0x79, 0x75, 0xe9, 0xcd, 0x94, 0x37, 0xa4, 0xae, 0xbf, 0xbe, 0x31, 0x11, 0x10, - 0xed, 0x62, 0x37, 0xc1, 0xd9, 0x49, 0x5d, 0xf6, 0x20, 0x42, 0xad, 0x5c, 0x44, 0x82, 0x62, 0xcc, - 0x97, 0xd4, 0x40, 0x0f, 0x51, 0x3f, 0x6f, 0x6e, 0x73, 0xd3, 0x50, 0x8b, 0x49, 0xf4, 0xc8, 0x8c, - 0xda, 0xe7, 0x5f, 0x0a, 0x81, 0xb0, 0xe1, 0x56, 0x28, 0x90, 0xa6, 0xb3, 0xeb, 0x4f, 0xc0, 0xd3, - 0x8b, 0xa2, 0x40, 0x6a, 0x02, 0xea, 0xb7, 0x31, 0xe8, 0x12, 0xe4, 0xf0, 0x55, 0x7a, 0x1a, 0x95, - 0x25, 0x9b, 0x6e, 0x1d, 0xe8, 0x88, 0xb1, 0xe1, 0x34, 0x66, 0x88, 0x30, 0xbf, 0x77, 0x50, 0xab, - 0x30, 0x9e, 0xfb, 0xcc, 0x8e, 0xee, 0xe0, 0x4e, 0xd7, 0xd9, 0x97, 0x39, 0x8a, 0xf4, 0xe1, 0x34, - 0xf1, 0x87, 0x01, 0xfb, 0x13, 0x29, 0x5e, 0x31, 0x69, 0xd2, 0xbe, 0x10, 0x29, 0x99, 0xc8, 0x6f, - 0x03, 0x68, 0xa9, 0xb6, 0x72, 0x4d, 0x35, 0x1c, 0xdc, 0xe4, 0x72, 0x2f, 0xb4, 0x54, 0xfb, 0x59, - 0x5a, 0x40, 0xe2, 0x4d, 0xf2, 0xba, 0x67, 0xe3, 0x26, 0x1d, 0x80, 0x8c, 0x3c, 0xd6, 0x52, 0xed, - 0x4d, 0x1b, 0x37, 0x7d, 0x7d, 0x1d, 0xbb, 0x19, 0x7d, 0x0d, 0xca, 0x3b, 0x1f, 0x96, 0xf7, 0x47, - 0xd3, 0xde, 0xec, 0xf0, 0xc2, 0x87, 0x1f, 0x4f, 0x59, 0x7c, 0x86, 0xae, 0x29, 0x82, 0x4e, 0x00, - 0x7d, 0x00, 0x26, 0xdd, 0x59, 0xa9, 0xf4, 0xe8, 0x6c, 0x15, 0x5a, 0x78, 0xb8, 0xc9, 0x5d, 0xb9, - 0x1a, 0x2c, 0xb6, 0xd1, 0xcf, 0xc0, 0xb1, 0x90, 0x0d, 0x72, 0x2b, 0x48, 0x1f, 0xca, 0x14, 0x1d, - 0x09, 0x9a, 0x22, 0x81, 0xef, 0x49, 0x2f, 0x73, 0x53, 0x66, 0xcd, 0x1d, 0x24, 0x84, 0xf5, 0xbb, - 0xb7, 0x28, 0x9d, 0x90, 0xfe, 0x24, 0x05, 0x13, 0xa1, 0x06, 0xa2, 0x47, 0x61, 0x94, 0x79, 0xe0, - 0xd4, 0xd0, 0x44, 0x08, 0x95, 0x38, 0xef, 0x13, 0x63, 0x40, 0xf3, 0x90, 0xc7, 0x3c, 0xba, 0xe6, - 0x42, 0xb9, 0x33, 0x26, 0x08, 0xe7, 0xfc, 0x2e, 0x1b, 0x5a, 0x84, 0x82, 0x2b, 0xfa, 0x98, 0x95, - 0x9b, 0x3b, 0x72, 0x1c, 0xc4, 0x63, 0x94, 0x16, 0xa0, 0xe8, 0x6b, 0x1e, 0xbb, 0x0b, 0xb8, 0xc7, - 0x97, 0x5b, 0x2c, 0x80, 0xce, 0x77, 0xd4, 0x3d, 0xba, 0xd2, 0x42, 0xc7, 0x60, 0x8c, 0xbc, 0x6c, - 0xf1, 0xcb, 0x52, 0x19, 0x39, 0xd7, 0x51, 0xf7, 0x2e, 0xa8, 0xb6, 0xf4, 0xb1, 0x14, 0x94, 0x83, - 0xed, 0x44, 0xf7, 0x02, 0x22, 0xb4, 0x6a, 0x0b, 0x2b, 0x46, 0xaf, 0xc3, 0x7c, 0xa4, 0x40, 0x9c, - 0xe8, 0xa8, 0x7b, 0xf3, 0x2d, 0x7c, 0xa9, 0xd7, 0xa1, 0x55, 0xdb, 0x68, 0x15, 0x2a, 0x82, 0x58, - 0x24, 0xbb, 0xb8, 0x54, 0x8e, 0xf7, 0x7f, 0xaf, 0x86, 0x13, 0xb0, 0xb5, 0xee, 0x2b, 0x64, 0xad, - 0x5b, 0x66, 0x78, 0xe2, 0x8d, 0xf4, 0x10, 0x4c, 0x84, 0x7a, 0x8c, 0x24, 0x18, 0xef, 0xf6, 0xb6, - 0x94, 0x5d, 0xbc, 0x4f, 0xaf, 0xbf, 0x33, 0x55, 0x2f, 0xc8, 0xc5, 0x6e, 0x6f, 0xeb, 0x69, 0xbc, - 0x4f, 0x73, 0x87, 0x92, 0x06, 0xe5, 0xe0, 0x62, 0x8a, 0x38, 0x0e, 0xcb, 0xec, 0x19, 0x4d, 0xf1, - 0x61, 0x03, 0xfa, 0x80, 0xce, 0xc1, 0xe8, 0x55, 0x93, 0x69, 0xf3, 0xb0, 0xd5, 0xd3, 0x15, 0xd3, - 0xc1, 0xbe, 0x25, 0x19, 0xe3, 0x91, 0x6c, 0x18, 0xa5, 0x7a, 0x19, 0xb9, 0x51, 0x71, 0x05, 0x40, - 0x75, 0x1c, 0x4b, 0xdf, 0xea, 0x79, 0xf0, 0x33, 0x73, 0xfd, 0x69, 0xfd, 0xb9, 0x35, 0x55, 0xb7, - 0x1a, 0xb7, 0x72, 0xcd, 0x9e, 0xf6, 0x78, 0x7c, 0xda, 0xed, 0x43, 0x92, 0xde, 0xc8, 0x42, 0x8e, - 0x2d, 0x37, 0xd1, 0x13, 0xc1, 0xe4, 0x47, 0xf1, 0xec, 0x89, 0x41, 0xcd, 0x67, 0x54, 0xbc, 0xf5, - 0x6e, 0x04, 0x75, 0x57, 0x38, 0xa3, 0xd0, 0x28, 0xbe, 0x76, 0x50, 0x1b, 0xa3, 0xd1, 0xc7, 0xf2, - 0xa2, 0x97, 0x5e, 0x18, 0xb4, 0xba, 0x16, 0xb9, 0x8c, 0xec, 0xa1, 0x73, 0x19, 0x17, 0x61, 0xdc, - 0x17, 0x6e, 0xe9, 0x4d, 0xbe, 0x4e, 0x39, 0x31, 0x6c, 0xd2, 0x2d, 0x2f, 0xf2, 0xf6, 0x17, 0xdd, - 0x70, 0x6c, 0xb9, 0x89, 0x66, 0x83, 0x8b, 0x6c, 0x1a, 0xb5, 0xb1, 0x70, 0xc1, 0xb7, 0x6e, 0xa6, - 0x77, 0xf2, 0x6f, 0x81, 0x02, 0xbd, 0xd8, 0x4c, 0x49, 0x58, 0xf4, 0x90, 0x27, 0x05, 0xf4, 0xe5, - 0xdd, 0x30, 0xe1, 0x05, 0x36, 0x8c, 0x24, 0xcf, 0x50, 0xbc, 0x62, 0x4a, 0xf8, 0x00, 0x4c, 0xd3, - 0x0f, 0xe0, 0x85, 0xa9, 0x0b, 0x94, 0x1a, 0x91, 0x77, 0x57, 0x82, 0x1c, 0x77, 0x42, 0xd9, 0x33, - 0xa1, 0x94, 0x16, 0x58, 0xea, 0xc3, 0x2d, 0xa5, 0x64, 0xc7, 0x21, 0xef, 0x86, 0x9d, 0x45, 0xf6, - 0x65, 0x3d, 0x95, 0x45, 0x9b, 0x6e, 0x20, 0x6b, 0x61, 0xbb, 0xd7, 0x76, 0x38, 0x48, 0x89, 0xd2, - 0xd0, 0x40, 0x56, 0x66, 0xe5, 0x94, 0xf6, 0x14, 0x8c, 0x0b, 0xab, 0xc2, 0xe8, 0xc6, 0x29, 0x5d, - 0x49, 0x14, 0x52, 0xa2, 0xd3, 0x50, 0xe9, 0x5a, 0x66, 0xd7, 0xb4, 0xb1, 0xa5, 0xa8, 0xcd, 0xa6, - 0x85, 0x6d, 0x7b, 0xa6, 0xcc, 0xf0, 0x44, 0xf9, 0x3c, 0x2b, 0x96, 0xde, 0x03, 0x63, 0x22, 0x9e, - 0x9e, 0x86, 0xd1, 0x86, 0x6b, 0x21, 0xb3, 0x32, 0x7b, 0x20, 0xfe, 0x75, 0xbe, 0xdb, 0xe5, 0xd9, - 0x35, 0xf2, 0x53, 0x6a, 0xc3, 0x18, 0x1f, 0xb0, 0xc8, 0x9c, 0xca, 0x2a, 0x94, 0xba, 0xaa, 0x45, - 0xba, 0xe1, 0xcf, 0xac, 0x0c, 0x5a, 0x11, 0xae, 0xa9, 0x96, 0xb3, 0x8e, 0x9d, 0x40, 0x82, 0xa5, - 0x48, 0xf9, 0x59, 0x91, 0xf4, 0x18, 0x8c, 0x07, 0x68, 0xbc, 0xef, 0x10, 0xf2, 0x89, 0x4e, 0x1f, - 0xdc, 0x96, 0xa4, 0xbd, 0x96, 0x48, 0xe7, 0xa0, 0xe0, 0x8e, 0x15, 0x59, 0x68, 0x08, 0x51, 0xf0, - 0x0f, 0x1b, 0xf2, 0x47, 0x9a, 0x44, 0x32, 0xaf, 0xf1, 0x4f, 0x34, 0x65, 0x64, 0xf6, 0x20, 0x61, - 0x9f, 0x61, 0x62, 0xde, 0x0c, 0x3d, 0x0e, 0x63, 0xdc, 0x30, 0xf1, 0xf9, 0x38, 0x28, 0x5d, 0xb4, - 0x46, 0x2d, 0x95, 0x48, 0x17, 0x31, 0xbb, 0xe5, 0x55, 0x93, 0xf6, 0x57, 0xf3, 0x21, 0xc8, 0x0b, - 0xe3, 0x13, 0xf4, 0x12, 0xac, 0x86, 0x93, 0x71, 0x5e, 0x82, 0x57, 0xe2, 0x31, 0x12, 0x6d, 0xb2, - 0xf5, 0x96, 0x81, 0x9b, 0x8a, 0x37, 0x05, 0xf9, 0x85, 0xd9, 0x09, 0xf6, 0x62, 0x45, 0xcc, 0x2f, - 0xe9, 0x01, 0xc8, 0xb1, 0xb6, 0x46, 0x9a, 0xb8, 0x28, 0xd7, 0xfa, 0x9d, 0x14, 0xe4, 0x85, 0xfb, - 0x88, 0x64, 0x0a, 0x74, 0x22, 0x7d, 0xa3, 0x9d, 0xb8, 0xf9, 0x26, 0xe9, 0x3e, 0x40, 0x54, 0x53, - 0x94, 0xab, 0xa6, 0xa3, 0x1b, 0x2d, 0x85, 0x8d, 0x05, 0xbf, 0x37, 0x48, 0xdf, 0x5c, 0xa1, 0x2f, - 0xd6, 0x48, 0xf9, 0x3d, 0xa7, 0xa0, 0xe8, 0xcb, 0x72, 0xa1, 0x31, 0xc8, 0x5c, 0xc2, 0xd7, 0x2a, - 0x23, 0xa8, 0x08, 0x63, 0x32, 0xa6, 0x39, 0x82, 0x4a, 0xea, 0xec, 0x1b, 0x63, 0x30, 0x31, 0xdf, - 0x58, 0x58, 0x9e, 0xef, 0x76, 0xdb, 0x3a, 0xbf, 0x4f, 0x77, 0x19, 0xb2, 0x74, 0x9d, 0x9c, 0x60, - 0x7f, 0xa7, 0x9a, 0x24, 0xe1, 0x84, 0x64, 0x18, 0xa5, 0xcb, 0x69, 0x94, 0x64, 0xdb, 0xa7, 0x9a, - 0x28, 0x0f, 0x45, 0x1a, 0x49, 0x15, 0x2e, 0xc1, 0x6e, 0x50, 0x35, 0x49, 0x72, 0x0a, 0xfd, 0x0c, - 0x14, 0xbc, 0x75, 0x72, 0xd2, 0x3d, 0xa2, 0x6a, 0xe2, 0xb4, 0x15, 0xc1, 0xf7, 0x56, 0x06, 0x49, - 0xb7, 0x26, 0xaa, 0x89, 0xf3, 0x35, 0xe8, 0x39, 0x18, 0x13, 0x6b, 0xb0, 0x64, 0xbb, 0x38, 0xd5, - 0x84, 0x29, 0x25, 0x32, 0x7c, 0x6c, 0xe9, 0x9c, 0x64, 0xab, 0xaa, 0x9a, 0x28, 0x6f, 0x86, 0x36, - 0x21, 0xc7, 0x83, 0xdf, 0x44, 0x3b, 0x3d, 0xd5, 0x64, 0x89, 0x22, 0x22, 0x64, 0x2f, 0x39, 0x91, - 0x74, 0x7b, 0xae, 0x9a, 0x38, 0x61, 0x88, 0x54, 0x00, 0xdf, 0x7a, 0x3a, 0xf1, 0xbe, 0x5b, 0x35, - 0x79, 0x22, 0x10, 0x7d, 0x10, 0xf2, 0xee, 0xaa, 0x29, 0xe1, 0x4e, 0x5a, 0x35, 0x69, 0x2e, 0xae, - 0xb1, 0x99, 0xf8, 0x94, 0xc4, 0xbd, 0xb1, 0xa7, 0x24, 0xbc, 0x4d, 0x6e, 0x77, 0x1b, 0xfc, 0x2f, - 0x53, 0x70, 0x3c, 0xbc, 0x9d, 0xac, 0x1a, 0xfb, 0x03, 0x0e, 0x04, 0x0c, 0x38, 0x2d, 0xf2, 0x38, - 0x64, 0xe6, 0x8d, 0x7d, 0x12, 0x6c, 0xd0, 0x6f, 0xfb, 0xf5, 0xac, 0xb6, 0x48, 0xd3, 0x91, 0xe7, - 0x4d, 0xab, 0x1d, 0x7d, 0x6a, 0xa4, 0x9e, 0xfd, 0xfe, 0xe7, 0x6a, 0x23, 0x8d, 0xdd, 0x88, 0x5e, - 0xc5, 0x9c, 0x15, 0xc8, 0xcf, 0x1b, 0xfb, 0xe2, 0x98, 0xc0, 0x28, 0xed, 0xd0, 0x61, 0xb7, 0xff, - 0x5f, 0x2f, 0x11, 0x64, 0xdf, 0xf7, 0x81, 0x79, 0x8f, 0x73, 0xec, 0x69, 0xc0, 0x0e, 0x7f, 0xfc, - 0x89, 0x81, 0xea, 0x60, 0x69, 0x4a, 0x17, 0x20, 0xbb, 0x60, 0xea, 0x34, 0xe4, 0x69, 0x62, 0xc3, - 0xec, 0x88, 0x9c, 0x27, 0x7d, 0x40, 0xa7, 0x20, 0xa7, 0x76, 0xcc, 0x9e, 0xe1, 0x88, 0xa8, 0x99, - 0xb8, 0x92, 0xff, 0x7a, 0x50, 0xcb, 0x2c, 0x1b, 0x8e, 0xcc, 0x5f, 0xd5, 0xb3, 0xdf, 0x7d, 0xb5, - 0x96, 0x92, 0x9e, 0x82, 0xb1, 0x45, 0xac, 0xdd, 0x08, 0xd6, 0x22, 0xd6, 0x42, 0x58, 0xa7, 0x21, - 0xbf, 0x6c, 0x38, 0xec, 0xa3, 0x61, 0xb7, 0x41, 0x46, 0x37, 0xd8, 0xb6, 0x48, 0xa8, 0x7e, 0x52, - 0x4e, 0x48, 0x17, 0xb1, 0xe6, 0x92, 0x36, 0xb1, 0x16, 0x26, 0x25, 0xf0, 0xa4, 0x5c, 0x6a, 0x40, - 0xe9, 0x8a, 0xda, 0xe6, 0xe1, 0x1e, 0xb6, 0xd1, 0x7d, 0x50, 0x50, 0xc5, 0x03, 0x5d, 0x59, 0x95, - 0x1a, 0xe5, 0x1f, 0x1c, 0xd4, 0xc0, 0x23, 0x92, 0x3d, 0x82, 0x7a, 0xf6, 0xe5, 0xff, 0x76, 0x32, - 0x25, 0x99, 0x30, 0x76, 0x41, 0xb5, 0xa9, 0xa5, 0x7f, 0x30, 0x90, 0x48, 0xa1, 0x91, 0x62, 0xe3, - 0xc8, 0xf5, 0x83, 0xda, 0xe4, 0xbe, 0xda, 0x69, 0xd7, 0x25, 0xef, 0x9d, 0xe4, 0xcf, 0xaf, 0xcc, - 0xf9, 0xf2, 0x2b, 0x34, 0x92, 0x6c, 0x4c, 0x5d, 0x3f, 0xa8, 0x4d, 0x78, 0x3c, 0xe4, 0x8d, 0xe4, - 0x26, 0x5d, 0xa4, 0x2e, 0xe4, 0x58, 0xd0, 0x1b, 0xb9, 0x43, 0xc8, 0x53, 0x3e, 0x69, 0x2f, 0xe5, - 0x53, 0x3f, 0x54, 0x9a, 0x81, 0xc7, 0x65, 0x8c, 0xa3, 0x9e, 0xfd, 0xc8, 0xab, 0xb5, 0x11, 0xc9, - 0x02, 0xb4, 0xae, 0x77, 0x7a, 0x6d, 0x76, 0xf1, 0x5b, 0x6c, 0x35, 0x3d, 0xc8, 0xda, 0x4d, 0xd3, - 0x49, 0x2c, 0x20, 0x9b, 0x98, 0xe3, 0x4a, 0xca, 0x05, 0xc2, 0xe2, 0x8c, 0x6f, 0x1e, 0xd4, 0x52, - 0xb4, 0xf5, 0x54, 0x46, 0x77, 0x41, 0x8e, 0x85, 0xf2, 0x3c, 0xfe, 0x29, 0x0b, 0x1e, 0xd6, 0x27, - 0x99, 0xbf, 0x95, 0x9e, 0x80, 0xb1, 0x55, 0xbb, 0xb5, 0x48, 0xba, 0x74, 0x1c, 0xf2, 0x1d, 0xbb, - 0xa5, 0xf8, 0xa2, 0xa9, 0xb1, 0x8e, 0xdd, 0xda, 0x18, 0x10, 0x85, 0xf1, 0x61, 0x79, 0x2f, 0xe4, - 0x36, 0xf6, 0x28, 0xfb, 0x29, 0x57, 0x4a, 0x19, 0x7f, 0x1b, 0x39, 0x7a, 0x80, 0xe9, 0xe7, 0x33, - 0x00, 0x1b, 0x7b, 0x6e, 0x0f, 0x07, 0x6c, 0xc1, 0x21, 0x09, 0x72, 0xce, 0x9e, 0x1b, 0x51, 0x17, - 0x1a, 0xf0, 0xda, 0x41, 0x2d, 0xb7, 0xb1, 0x47, 0x96, 0x17, 0x32, 0x7f, 0x13, 0x4c, 0x65, 0x65, - 0x42, 0xa9, 0x2c, 0x37, 0x81, 0x97, 0x8d, 0x48, 0xe0, 0x8d, 0xfa, 0x76, 0x00, 0x8e, 0xc1, 0x98, - 0xa5, 0x5e, 0x53, 0xc8, 0x88, 0xb2, 0xaf, 0x90, 0xe6, 0x2c, 0xf5, 0xda, 0x8a, 0xd9, 0x42, 0x0b, - 0x90, 0x6d, 0x9b, 0x2d, 0x91, 0x77, 0x3b, 0x2a, 0x3a, 0x45, 0x22, 0x2e, 0x7e, 0x9a, 0x78, 0xc5, - 0x6c, 0x35, 0x8e, 0x11, 0xf9, 0x7f, 0xf1, 0xcf, 0x6a, 0x13, 0xc1, 0x72, 0x5b, 0xa6, 0xcc, 0x6e, - 0x32, 0x30, 0x3f, 0x30, 0x19, 0x58, 0x18, 0x96, 0x0c, 0x84, 0x60, 0x32, 0xf0, 0x0e, 0xba, 0xa7, - 0xc9, 0xf6, 0x70, 0xa6, 0xfb, 0x82, 0xcf, 0x79, 0x63, 0x9f, 0xee, 0xa2, 0xde, 0x0a, 0x05, 0xf7, - 0xa0, 0x10, 0xff, 0xec, 0xb3, 0x57, 0xc0, 0xf5, 0xed, 0x23, 0x29, 0x28, 0x07, 0x5b, 0x4c, 0xf3, - 0x39, 0x76, 0x8b, 0x7f, 0x30, 0x95, 0xa5, 0x3d, 0x89, 0x52, 0x2c, 0x8b, 0x4c, 0x79, 0x48, 0xe7, - 0xe7, 0x43, 0x3a, 0x3f, 0x25, 0x04, 0xc4, 0xee, 0xee, 0x30, 0x55, 0x9f, 0xe6, 0xd2, 0x29, 0xf9, - 0x0a, 0x6d, 0x4f, 0xf5, 0xa9, 0x46, 0xfc, 0x2c, 0x14, 0x7d, 0x6f, 0x23, 0x83, 0xfa, 0x47, 0x22, - 0x92, 0x1d, 0x93, 0xee, 0x80, 0x88, 0x37, 0x62, 0x0b, 0xc1, 0x23, 0x75, 0x15, 0xb5, 0xe0, 0x12, - 0x25, 0x3d, 0x5e, 0xd1, 0x58, 0xfc, 0xd3, 0x6f, 0x9f, 0x18, 0x79, 0xf9, 0xb5, 0x13, 0x23, 0x03, - 0xcf, 0x67, 0x4a, 0xf1, 0x5f, 0x98, 0x77, 0xbd, 0xcc, 0x47, 0xdf, 0x0f, 0xb7, 0x72, 0x1a, 0xdb, - 0x51, 0x77, 0x75, 0xa3, 0x25, 0xfe, 0x72, 0x77, 0x53, 0xe6, 0xbd, 0xe1, 0xa5, 0x37, 0xee, 0x76, - 0xde, 0xea, 0xa1, 0xb1, 0x6a, 0x94, 0x37, 0x94, 0x0e, 0xb2, 0x80, 0x56, 0xed, 0xd6, 0x82, 0x85, - 0xd9, 0xc7, 0x46, 0xf8, 0x3a, 0x29, 0x78, 0xd9, 0x87, 0xdb, 0xa8, 0x5b, 0xe6, 0x82, 0x7d, 0x71, - 0xbf, 0x1b, 0xed, 0xe5, 0x88, 0x02, 0x57, 0x84, 0x96, 0x00, 0x68, 0x7a, 0xc5, 0xb6, 0xbd, 0x64, - 0x5e, 0x2d, 0x8c, 0xb1, 0xe0, 0x52, 0xc8, 0xaa, 0x83, 0x6d, 0x31, 0xd6, 0x1e, 0x23, 0xfa, 0x10, - 0x4c, 0x75, 0x74, 0x43, 0xb1, 0x71, 0x7b, 0x5b, 0x69, 0xe2, 0x36, 0xfd, 0x14, 0x0b, 0xdf, 0xb8, - 0x2b, 0x34, 0x56, 0xb8, 0x63, 0xba, 0x2b, 0x7e, 0xcc, 0xe6, 0x96, 0x0d, 0xe7, 0xfa, 0x41, 0xad, - 0xca, 0xbc, 0x43, 0x04, 0xa4, 0x24, 0x4f, 0x76, 0x74, 0x63, 0x1d, 0xb7, 0xb7, 0x17, 0xdd, 0x32, - 0xf4, 0x12, 0x4c, 0x72, 0x0a, 0xd3, 0x4b, 0x7a, 0x10, 0xdb, 0x53, 0x6a, 0xac, 0x5e, 0x3f, 0xa8, - 0xcd, 0x30, 0xb4, 0x3e, 0x12, 0xe9, 0x07, 0x07, 0xb5, 0xfb, 0x13, 0xb4, 0x69, 0x5e, 0xd3, 0x84, - 0x7b, 0xac, 0xb8, 0x20, 0xbc, 0x84, 0xd4, 0xed, 0x25, 0xe8, 0x45, 0xdd, 0xa3, 0xe1, 0xba, 0xfb, - 0x48, 0x92, 0xd6, 0xed, 0x73, 0xcd, 0x5e, 0x06, 0x5f, 0xd4, 0x7d, 0x14, 0x72, 0xdd, 0xde, 0x96, - 0xd8, 0x45, 0x2b, 0xc8, 0xfc, 0x09, 0xcd, 0xfa, 0x37, 0xd2, 0x8a, 0x67, 0x4b, 0x62, 0x3c, 0x49, - 0xac, 0xe2, 0xa6, 0x39, 0x59, 0xec, 0x47, 0xa3, 0x8f, 0xaf, 0x66, 0xa0, 0xb2, 0x6a, 0xb7, 0x96, - 0x9a, 0xba, 0x73, 0x93, 0xd5, 0xab, 0x1b, 0x25, 0x1d, 0xea, 0xcd, 0x1a, 0x0b, 0xd7, 0x0f, 0x6a, - 0x65, 0x26, 0x9d, 0x9b, 0x29, 0x93, 0x0e, 0x4c, 0x78, 0x7a, 0xa9, 0x58, 0xaa, 0xc3, 0xdd, 0x53, - 0x63, 0x31, 0xa1, 0x06, 0x2e, 0x62, 0xed, 0xfa, 0x41, 0xed, 0x28, 0x6b, 0x59, 0x08, 0x4a, 0x92, - 0xcb, 0x5a, 0x60, 0x2e, 0xa0, 0xbd, 0x68, 0xc5, 0xa7, 0xfb, 0x4f, 0x8d, 0x8b, 0x6f, 0xa3, 0xd2, - 0xf3, 0xa1, 0xfb, 0x4a, 0x1a, 0x8a, 0xc4, 0xd5, 0xb3, 0x72, 0x1c, 0x3d, 0x15, 0x52, 0x3f, 0xc2, - 0xa9, 0x90, 0x7e, 0x67, 0xa6, 0xc2, 0x3d, 0x6e, 0xac, 0x9d, 0x19, 0xa8, 0xf3, 0xc1, 0x90, 0xfb, - 0x3f, 0x66, 0xa8, 0x55, 0xa5, 0x2b, 0x48, 0x19, 0x37, 0xdf, 0x0d, 0x02, 0xfc, 0x85, 0x14, 0x1c, - 0xf1, 0xc4, 0x63, 0x5b, 0x5a, 0x48, 0x8a, 0xcf, 0x5c, 0x3f, 0xa8, 0xdd, 0x1a, 0x96, 0xa2, 0x8f, - 0xec, 0x06, 0x24, 0x39, 0xe5, 0x02, 0xad, 0x5b, 0x5a, 0x74, 0x3b, 0x9a, 0xb6, 0xe3, 0xb6, 0x23, - 0x33, 0xb8, 0x1d, 0x3e, 0xb2, 0xb7, 0xd4, 0x8e, 0x45, 0xdb, 0xe9, 0x1f, 0xd4, 0x6c, 0xc2, 0x41, - 0xfd, 0x5a, 0x1a, 0xc6, 0x57, 0xed, 0xd6, 0xa6, 0xd1, 0xfc, 0xc9, 0x84, 0x38, 0xec, 0x84, 0xf8, - 0x58, 0x0a, 0xca, 0x17, 0x75, 0xdb, 0x31, 0x2d, 0x5d, 0x53, 0xdb, 0x74, 0x35, 0xe3, 0x9d, 0x91, - 0x4c, 0x1d, 0xfe, 0x8c, 0xe4, 0x23, 0x90, 0xbb, 0xaa, 0xb6, 0xd9, 0xbf, 0x2b, 0xca, 0xd0, 0x3d, - 0xc2, 0x90, 0xef, 0x08, 0xe7, 0x80, 0x39, 0x39, 0x6f, 0xce, 0xef, 0xa6, 0x61, 0x22, 0x14, 0x78, - 0xa0, 0x06, 0x64, 0xa9, 0x45, 0x67, 0x0b, 0xde, 0xb9, 0x43, 0xc4, 0x15, 0x64, 0x4d, 0x4c, 0x79, - 0xd1, 0x4f, 0x41, 0xbe, 0xa3, 0xee, 0x31, 0xcf, 0xc0, 0xd6, 0x37, 0xf3, 0x87, 0xc3, 0xf1, 0x56, - 0xaf, 0x02, 0x47, 0x92, 0xc7, 0x3a, 0xea, 0x1e, 0xf5, 0x07, 0x5d, 0x98, 0x20, 0xa5, 0xda, 0x8e, - 0x6a, 0xb4, 0xb0, 0xdf, 0xfd, 0x5c, 0x3c, 0x74, 0x25, 0x47, 0xbd, 0x4a, 0x7c, 0x70, 0x92, 0x3c, - 0xde, 0x51, 0xf7, 0x16, 0x68, 0x01, 0xa9, 0xb1, 0x9e, 0x7f, 0xe5, 0xd5, 0xda, 0x08, 0x95, 0xd8, - 0xbf, 0x4f, 0x01, 0x78, 0x12, 0x43, 0x1b, 0x50, 0x09, 0xb9, 0x2f, 0x71, 0xc6, 0x28, 0x36, 0xc0, - 0xf3, 0x16, 0xb6, 0x13, 0x5a, 0x68, 0x08, 0x3e, 0x08, 0x45, 0x76, 0x4a, 0x40, 0xa1, 0xc9, 0xf8, - 0x74, 0x6c, 0x32, 0xfe, 0x04, 0xc1, 0xba, 0x7e, 0x50, 0x43, 0xac, 0x3b, 0x3e, 0x66, 0x89, 0xa6, - 0xe8, 0x81, 0x95, 0x10, 0x86, 0x60, 0x5f, 0x8a, 0xbe, 0xd8, 0x82, 0x9e, 0x3d, 0x33, 0x0d, 0x7d, - 0x17, 0x5b, 0xee, 0x1a, 0x99, 0x3d, 0xa2, 0x2a, 0xe4, 0xd9, 0x57, 0x05, 0x9d, 0x7d, 0xf1, 0xef, - 0x2a, 0xc4, 0x33, 0xe1, 0xba, 0x86, 0xb7, 0x6c, 0x5d, 0x8c, 0x82, 0x2c, 0x1e, 0xd1, 0x79, 0xa8, - 0xd8, 0x58, 0xeb, 0x59, 0xba, 0xb3, 0xaf, 0x68, 0xa6, 0xe1, 0xa8, 0x9a, 0xc3, 0x9d, 0xf6, 0x2d, - 0xd7, 0x0f, 0x6a, 0xc7, 0x58, 0x5b, 0xc3, 0x14, 0x92, 0x3c, 0x21, 0x8a, 0x16, 0x58, 0x09, 0xa9, - 0xa1, 0x89, 0x1d, 0x55, 0x6f, 0xdb, 0x7c, 0x61, 0x2b, 0x1e, 0x7d, 0x7d, 0xf9, 0x9d, 0x31, 0xff, - 0x66, 0xd4, 0x35, 0xa8, 0x98, 0x5d, 0x6c, 0x45, 0xd8, 0xa3, 0x15, 0xaf, 0xe6, 0x30, 0xc5, 0x0d, - 0x98, 0x84, 0x09, 0x81, 0x21, 0x2c, 0xc2, 0xf9, 0xc0, 0x99, 0x33, 0x16, 0x37, 0xa6, 0xc3, 0x5d, - 0x0e, 0x53, 0x48, 0xfe, 0x83, 0x66, 0x2c, 0xba, 0x3c, 0x0a, 0xb9, 0x17, 0x54, 0xbd, 0x2d, 0x3e, - 0xb5, 0x2a, 0xf3, 0x27, 0xb4, 0x0c, 0x39, 0xdb, 0x51, 0x9d, 0x1e, 0x0b, 0xbd, 0x47, 0x1b, 0xef, - 0x49, 0xd8, 0xe6, 0x86, 0x69, 0x34, 0xd7, 0x29, 0xa3, 0xcc, 0x01, 0xd0, 0x79, 0xc8, 0x39, 0xe6, - 0x2e, 0x36, 0xb8, 0x50, 0x0f, 0x35, 0xd3, 0x69, 0xa2, 0x8e, 0x71, 0x23, 0x07, 0x3c, 0xa3, 0xac, - 0xd8, 0x3b, 0xaa, 0x85, 0x6d, 0x16, 0x2a, 0x37, 0x96, 0x0f, 0x3d, 0x1d, 0x8f, 0x85, 0x3d, 0x05, - 0xc3, 0x93, 0xe4, 0x09, 0xb7, 0x68, 0x9d, 0x96, 0x84, 0x23, 0xe7, 0xb1, 0x1b, 0x8a, 0x9c, 0xcf, - 0x43, 0xa5, 0x67, 0x6c, 0x99, 0x06, 0xfd, 0x2c, 0x22, 0x4f, 0xd3, 0xe4, 0x4f, 0xa6, 0x66, 0x33, - 0xfe, 0xd1, 0x0a, 0x53, 0x48, 0xf2, 0x84, 0x5b, 0xc4, 0x4f, 0x3f, 0x36, 0xa1, 0xec, 0x51, 0xd1, - 0x29, 0x5b, 0x88, 0x9d, 0xb2, 0xb7, 0xf3, 0x29, 0x7b, 0x24, 0x5c, 0x8b, 0x37, 0x6b, 0xc7, 0xdd, - 0x42, 0xc2, 0x86, 0xde, 0x1f, 0x58, 0x46, 0x02, 0xaf, 0x61, 0xa0, 0x95, 0x49, 0xbe, 0x82, 0x2c, - 0xbe, 0x23, 0x2b, 0xc8, 0x7a, 0xe9, 0x23, 0xaf, 0xd6, 0x46, 0xdc, 0x09, 0xfb, 0x4b, 0x69, 0xc8, - 0x2d, 0x5e, 0xa1, 0xd7, 0x28, 0x7f, 0x4c, 0xc3, 0x07, 0x9f, 0xf5, 0x7a, 0x1f, 0x8c, 0x31, 0x59, - 0xd8, 0xe8, 0x2c, 0x8c, 0x76, 0xc9, 0x0f, 0x9e, 0x6b, 0x3c, 0xda, 0xa7, 0xd2, 0x94, 0x4e, 0xac, - 0x30, 0x29, 0xa9, 0xf4, 0xf9, 0x0c, 0xc0, 0xe2, 0x95, 0x2b, 0x1b, 0x96, 0xde, 0x6d, 0x63, 0xe7, - 0x27, 0xe1, 0xf5, 0xbb, 0x27, 0xbc, 0xf6, 0x8d, 0xf1, 0xd3, 0x50, 0xf4, 0xc6, 0xc8, 0x46, 0x8f, - 0x43, 0xde, 0xe1, 0xbf, 0xf9, 0x50, 0x57, 0xfb, 0x87, 0x5a, 0x90, 0xf3, 0xe1, 0x76, 0x39, 0xa4, - 0xff, 0x92, 0x06, 0x88, 0x4b, 0xce, 0xfc, 0x18, 0x04, 0xe0, 0xe7, 0x21, 0xc7, 0x3d, 0x4e, 0xe6, - 0x86, 0xa2, 0x55, 0xce, 0xed, 0x1b, 0xa5, 0x6f, 0xa7, 0x61, 0x6a, 0x53, 0x98, 0xdd, 0x9f, 0x48, - 0x18, 0x5d, 0x84, 0x31, 0x6c, 0x38, 0x96, 0x8e, 0x45, 0x1a, 0x7c, 0x36, 0xac, 0xa5, 0x11, 0xd2, - 0xa2, 0xff, 0x2e, 0x41, 0x9c, 0x96, 0xe3, 0xec, 0x3e, 0x19, 0x7f, 0x3c, 0x03, 0x33, 0x83, 0xb8, - 0xd0, 0x02, 0x4c, 0x68, 0x16, 0xa6, 0x05, 0x8a, 0x7f, 0xe7, 0xa4, 0x51, 0xf5, 0x65, 0x8c, 0x82, - 0x04, 0x92, 0x5c, 0x16, 0x25, 0xdc, 0x21, 0xb7, 0x68, 0x82, 0x8a, 0x4c, 0x15, 0x42, 0x95, 0x30, - 0x88, 0x96, 0xb8, 0x47, 0xf6, 0xd2, 0x52, 0x7e, 0x00, 0xe6, 0x92, 0xcb, 0x5e, 0x29, 0xf5, 0xc9, - 0x2f, 0xc2, 0x84, 0x6e, 0xe8, 0x8e, 0xae, 0xb6, 0x95, 0x2d, 0xb5, 0xad, 0x1a, 0xda, 0x8d, 0x2c, - 0x45, 0x98, 0x37, 0xe5, 0xd5, 0x86, 0xe0, 0x24, 0xb9, 0xcc, 0x4b, 0x1a, 0xac, 0x80, 0x8c, 0x88, - 0xa8, 0x2a, 0x7b, 0x43, 0x81, 0x9b, 0x60, 0xf7, 0x8d, 0xc8, 0x2f, 0x67, 0x60, 0xd2, 0xcd, 0xcf, - 0xfc, 0x64, 0x28, 0x92, 0x0e, 0xc5, 0x2a, 0x00, 0x33, 0x20, 0xc4, 0x73, 0xdc, 0xc0, 0x68, 0x10, - 0x13, 0x54, 0x60, 0x08, 0x8b, 0xb6, 0xe3, 0x1b, 0x8f, 0xbf, 0xc8, 0x40, 0xc9, 0x3f, 0x1e, 0x3f, - 0x71, 0xe9, 0xef, 0xa2, 0x8c, 0xd9, 0xbc, 0x67, 0x12, 0xb3, 0xfc, 0xbb, 0x28, 0x21, 0x93, 0xd8, - 0x37, 0x95, 0x06, 0xdb, 0xc2, 0xbf, 0x4a, 0x43, 0x8e, 0x9f, 0xcb, 0xd6, 0xfa, 0x56, 0x11, 0xa9, - 0xb8, 0x73, 0xdf, 0xc3, 0x17, 0x11, 0xaf, 0x44, 0x2e, 0x22, 0xca, 0x1d, 0x75, 0x4f, 0x09, 0xdc, - 0x62, 0x4a, 0xcd, 0x8e, 0x37, 0x8e, 0x7b, 0x28, 0xc1, 0xf7, 0x2c, 0x17, 0xe2, 0x9d, 0xc9, 0x45, - 0x8f, 0x40, 0x91, 0x50, 0x78, 0x5e, 0x81, 0xb0, 0x1f, 0xf5, 0x92, 0x0f, 0xbe, 0x97, 0x92, 0x0c, - 0x1d, 0x75, 0x6f, 0x89, 0x3d, 0xa0, 0x15, 0x40, 0x3b, 0x6e, 0xea, 0x4b, 0xf1, 0x44, 0x48, 0xf8, - 0x6f, 0xbb, 0x7e, 0x50, 0x3b, 0xce, 0xf8, 0xfb, 0x69, 0x24, 0x79, 0xd2, 0x2b, 0x14, 0x68, 0x0f, - 0x02, 0x90, 0x7e, 0x29, 0xec, 0x4c, 0x08, 0x5b, 0xc2, 0xfa, 0x0e, 0x4a, 0x78, 0xef, 0x24, 0xb9, - 0x40, 0x1e, 0x16, 0xc9, 0x6f, 0x9f, 0xe0, 0x7f, 0x25, 0x05, 0xc8, 0xf3, 0x3d, 0xee, 0x7e, 0xfd, - 0xfb, 0xe9, 0xbd, 0x44, 0xb1, 0x32, 0x4a, 0x45, 0x2f, 0xb2, 0x3c, 0x3e, 0xb1, 0xc8, 0xf2, 0x4d, - 0xd5, 0xfb, 0x3c, 0xfb, 0x9c, 0x1e, 0x98, 0x15, 0x8c, 0xb0, 0xc1, 0xff, 0x3a, 0x05, 0xc7, 0xfb, - 0x14, 0xc7, 0x6d, 0xd7, 0x15, 0x40, 0x96, 0xef, 0x25, 0xff, 0x0f, 0x45, 0x29, 0xfe, 0x1f, 0xff, - 0x12, 0xea, 0xdf, 0xa4, 0xd5, 0x67, 0xe3, 0x6f, 0x9e, 0x37, 0xe1, 0x19, 0xc5, 0x14, 0x4c, 0xfb, - 0xab, 0x77, 0x3b, 0x70, 0x1e, 0x4a, 0xfe, 0xda, 0x79, 0xd3, 0x6f, 0x1d, 0xd6, 0x74, 0xde, 0xea, - 0x00, 0x1f, 0x5a, 0xf6, 0x66, 0x9f, 0xf8, 0xa7, 0x93, 0x71, 0xbd, 0x77, 0x0f, 0xb2, 0x85, 0x66, - 0x21, 0x6b, 0xf1, 0xff, 0x4b, 0x41, 0x76, 0xcd, 0x34, 0xdb, 0xc8, 0x84, 0x49, 0xc3, 0x74, 0x14, - 0xa2, 0x2c, 0xb8, 0xa9, 0xf0, 0xdc, 0x08, 0xcb, 0x82, 0x2e, 0x1c, 0x4e, 0x28, 0xdf, 0x3b, 0xa8, - 0xf5, 0x43, 0xc9, 0x13, 0x86, 0xe9, 0x34, 0x68, 0xc9, 0x06, 0xcb, 0x9c, 0x7c, 0x08, 0xc6, 0x83, - 0x95, 0xb1, 0x4c, 0xd1, 0xb3, 0x87, 0xae, 0x2c, 0x08, 0x73, 0xfd, 0xa0, 0x36, 0xed, 0x4d, 0x02, - 0xb7, 0x58, 0x92, 0x4b, 0x5b, 0xbe, 0xda, 0xeb, 0x79, 0xd2, 0xfb, 0xef, 0xbf, 0x5a, 0x4b, 0x35, - 0xce, 0x0f, 0x3c, 0x01, 0x70, 0xdf, 0xd0, 0x26, 0xec, 0xb9, 0x5b, 0xfd, 0xc1, 0xb3, 0x00, 0xdf, - 0x3d, 0x03, 0xd5, 0xd0, 0x59, 0x00, 0x7a, 0x0f, 0x79, 0xc0, 0x49, 0x80, 0xe1, 0xff, 0xc0, 0x7f, - 0xc0, 0x41, 0x81, 0xa1, 0x87, 0x0d, 0xa4, 0x5d, 0x38, 0x4a, 0x8f, 0x72, 0x7a, 0x66, 0x4b, 0x7c, - 0x25, 0xe6, 0xa8, 0x9b, 0x40, 0x4b, 0xf1, 0xff, 0x17, 0xce, 0xb2, 0x61, 0x8f, 0x01, 0x78, 0x35, - 0xbb, 0x17, 0x6e, 0x78, 0x4b, 0x59, 0xeb, 0xd9, 0x3f, 0xf2, 0xa7, 0x30, 0xb2, 0x8f, 0x58, 0xfa, - 0xf5, 0x14, 0x1c, 0xeb, 0xab, 0x8d, 0x6b, 0xfd, 0x93, 0x81, 0x0b, 0xa3, 0xa9, 0x64, 0x39, 0x7a, - 0xff, 0x97, 0x1f, 0xea, 0x11, 0xed, 0xaa, 0x46, 0xb5, 0x8b, 0x55, 0x18, 0x68, 0xd8, 0x8b, 0x70, - 0x24, 0xd8, 0x2e, 0x21, 0x84, 0xe7, 0xa0, 0x1c, 0x5c, 0x2d, 0xf0, 0x50, 0xe2, 0x3d, 0x87, 0xf7, - 0x90, 0xe3, 0x81, 0x15, 0x83, 0xf4, 0x6c, 0x58, 0xf0, 0xae, 0x24, 0xde, 0xd7, 0x7f, 0xf8, 0x3e, - 0x56, 0x10, 0xbe, 0xbb, 0x59, 0x5f, 0x49, 0xc1, 0xc9, 0x20, 0xb2, 0x67, 0x84, 0xed, 0xb7, 0xbd, - 0x5f, 0x6f, 0x45, 0x3d, 0xfe, 0x53, 0x0a, 0x6e, 0x1f, 0xd2, 0x72, 0x2e, 0x1e, 0x0b, 0xa6, 0x7d, - 0xd6, 0xdd, 0xe2, 0xc5, 0x42, 0x65, 0xa4, 0xc1, 0x1e, 0xc8, 0x35, 0x6e, 0xb7, 0xf0, 0xa3, 0x48, - 0x53, 0xfd, 0xef, 0x6c, 0x79, 0xaa, 0xdf, 0x22, 0xbf, 0x35, 0xdd, 0xfa, 0x7a, 0x0a, 0x4e, 0x07, - 0x7b, 0x15, 0xb1, 0xa2, 0x7b, 0x77, 0x0f, 0xcc, 0xbf, 0x49, 0xc1, 0x3d, 0x49, 0xba, 0xc0, 0x47, - 0xe8, 0x79, 0x98, 0xf2, 0xe2, 0xab, 0xf0, 0x00, 0x9d, 0x4a, 0xb0, 0x2a, 0xe6, 0x4a, 0x8d, 0x5c, - 0x94, 0x9b, 0x33, 0x12, 0x7f, 0x9c, 0xe2, 0x73, 0xce, 0x3f, 0xee, 0xae, 0xd8, 0x83, 0x4b, 0x82, - 0x43, 0x8a, 0xdd, 0xb7, 0x2c, 0x18, 0x0f, 0x2c, 0x0b, 0x22, 0x06, 0x34, 0x7d, 0x93, 0x2c, 0xc8, - 0x2f, 0x0a, 0x6b, 0x1a, 0x11, 0x9c, 0xed, 0xc2, 0x54, 0xc4, 0x24, 0x71, 0x6f, 0x9c, 0xc6, 0xcf, - 0x91, 0xa3, 0x3f, 0x38, 0xa8, 0x45, 0x44, 0x7d, 0x32, 0xea, 0x9f, 0x1e, 0xd2, 0x7f, 0x4e, 0x41, - 0x8d, 0x36, 0x24, 0x62, 0x28, 0xff, 0x26, 0x0b, 0x18, 0x73, 0x43, 0x1a, 0xd9, 0x2d, 0x2e, 0xe8, - 0x79, 0xc8, 0x31, 0x2d, 0xe5, 0xb2, 0x3d, 0x84, 0x7a, 0x73, 0x46, 0xcf, 0x60, 0x2f, 0x8a, 0x7e, - 0x45, 0xdb, 0x85, 0xb7, 0x49, 0x7e, 0x6f, 0xc1, 0x2e, 0xfc, 0x2b, 0x61, 0xb0, 0xa3, 0x5b, 0xce, - 0x45, 0xf4, 0xc1, 0xb7, 0x6c, 0xb0, 0xf9, 0x97, 0x84, 0xde, 0x36, 0xcb, 0xec, 0x36, 0x3f, 0xc6, - 0x32, 0xbf, 0xfb, 0x46, 0xc0, 0xb5, 0xcc, 0x31, 0x5d, 0x78, 0x97, 0x5b, 0xe6, 0xeb, 0x69, 0x38, - 0x4e, 0xbb, 0xe1, 0x5f, 0x91, 0xbc, 0x03, 0x92, 0x57, 0x00, 0xd9, 0x96, 0xa6, 0xdc, 0x2c, 0xfb, - 0x51, 0xb1, 0x2d, 0xed, 0x4a, 0xc0, 0xe9, 0x2a, 0x80, 0x9a, 0xb6, 0x13, 0xae, 0x20, 0x73, 0xc3, - 0x15, 0x34, 0x6d, 0xe7, 0xca, 0x10, 0xaf, 0x9e, 0x3d, 0x8c, 0xee, 0xfc, 0x61, 0x0a, 0xaa, 0x51, - 0x42, 0xe7, 0xba, 0xa2, 0xc2, 0xd1, 0xc0, 0x3a, 0x3a, 0xac, 0x2e, 0x77, 0x0c, 0x5b, 0x4d, 0x86, - 0xa6, 0xee, 0x11, 0x0b, 0xdf, 0xec, 0xc9, 0xfb, 0x65, 0xe1, 0x74, 0x5c, 0xcd, 0xef, 0x5f, 0xc2, - 0xbc, 0x2b, 0xa7, 0xec, 0x6f, 0xf5, 0x99, 0xfb, 0x77, 0xdb, 0x6a, 0xe8, 0x4f, 0x52, 0x70, 0x62, - 0x40, 0x0b, 0xff, 0x26, 0xbb, 0xf3, 0x9f, 0x1d, 0xa8, 0x30, 0x37, 0x6b, 0xe9, 0xf5, 0x20, 0x9f, - 0x50, 0xc1, 0x73, 0x6b, 0xbe, 0x05, 0x75, 0xe4, 0x37, 0xe6, 0x9e, 0x81, 0x5b, 0x22, 0xb9, 0x78, - 0x9b, 0xce, 0x42, 0x76, 0x47, 0xb7, 0x1d, 0xf7, 0xc3, 0x0b, 0xa1, 0xe6, 0x84, 0xb8, 0x28, 0xad, - 0x84, 0xa0, 0x42, 0x21, 0xd7, 0x4c, 0xb3, 0xcd, 0xab, 0x97, 0x16, 0x60, 0xd2, 0x57, 0xc6, 0xc1, - 0xe7, 0x20, 0xdb, 0x35, 0xcd, 0x36, 0x07, 0x9f, 0x0e, 0x83, 0x13, 0x5a, 0xde, 0x4d, 0x4a, 0x27, - 0x4d, 0x03, 0x62, 0x20, 0xec, 0x93, 0x20, 0x1c, 0xfa, 0xc3, 0x29, 0x98, 0x0a, 0x14, 0xbb, 0x97, - 0x96, 0x72, 0x81, 0xaf, 0x49, 0xf5, 0x6d, 0xd1, 0x33, 0x7a, 0xf7, 0x7a, 0x3a, 0xcb, 0xee, 0xbe, - 0x05, 0xd5, 0x3d, 0xfb, 0x47, 0x25, 0x71, 0xcb, 0x55, 0x01, 0xf0, 0xa5, 0x62, 0xef, 0x0a, 0xd7, - 0x1c, 0x9d, 0xf4, 0xa8, 0xde, 0x1d, 0x4b, 0xc7, 0x63, 0xde, 0x11, 0xf4, 0x53, 0xfe, 0x63, 0x54, - 0x77, 0x0e, 0xe7, 0x13, 0xf0, 0x77, 0xc5, 0x91, 0xb9, 0xe8, 0x7f, 0x0b, 0xa6, 0xa3, 0x56, 0xc1, - 0xe8, 0x81, 0xe1, 0x08, 0xfd, 0x71, 0x4b, 0xf5, 0x3d, 0x87, 0xe0, 0x70, 0xab, 0x7f, 0x25, 0x05, - 0xb7, 0x0d, 0x5d, 0xec, 0xa1, 0xc7, 0x86, 0xc3, 0x0e, 0x89, 0xa4, 0xaa, 0xf5, 0x1b, 0x61, 0x75, - 0x9b, 0xa6, 0x04, 0xf6, 0xf3, 0xa3, 0x25, 0xda, 0xb7, 0xfe, 0x18, 0x30, 0xb0, 0xfd, 0xb1, 0xa6, - 0x34, 0x82, 0x5e, 0x8a, 0xde, 0xd7, 0x3e, 0x13, 0x89, 0x30, 0x78, 0xc9, 0x53, 0x7d, 0x20, 0x39, - 0x83, 0x7f, 0xd8, 0xa3, 0x62, 0xe9, 0x01, 0xc3, 0x3e, 0x64, 0xc1, 0x30, 0x60, 0xd8, 0x87, 0x05, - 0xea, 0x7c, 0xd8, 0x87, 0x46, 0x92, 0x03, 0x86, 0x3d, 0x49, 0x00, 0x3d, 0x60, 0xd8, 0x13, 0x05, - 0xae, 0xd2, 0x08, 0xda, 0x81, 0xf1, 0x40, 0x9c, 0x82, 0x4e, 0x47, 0xc2, 0x45, 0x05, 0x90, 0xd5, - 0x7b, 0x92, 0x90, 0xfa, 0xc7, 0x3f, 0xc2, 0x35, 0x0f, 0x18, 0xff, 0xc1, 0xd1, 0x47, 0xf5, 0x81, - 0xe4, 0x0c, 0x6e, 0xdd, 0xd7, 0xdc, 0xad, 0x16, 0x1f, 0x01, 0x9a, 0x4b, 0x88, 0x24, 0x6a, 0x3e, - 0x93, 0x98, 0xde, 0xad, 0x78, 0xb7, 0xef, 0xb4, 0x75, 0xb4, 0xd0, 0x22, 0x5d, 0x5b, 0xf5, 0xde, - 0x44, 0xb4, 0x6e, 0x65, 0xab, 0x7c, 0x1f, 0xe1, 0x64, 0x24, 0x9b, 0xcf, 0x69, 0x55, 0x6f, 0x1f, - 0x42, 0xe1, 0xc2, 0xad, 0xbb, 0x1b, 0x83, 0x52, 0x34, 0xb9, 0xdf, 0x59, 0x55, 0x4f, 0x0d, 0xa5, - 0x11, 0xa0, 0x37, 0x3d, 0xd5, 0xff, 0xa5, 0x7c, 0xdf, 0xb5, 0xbf, 0x16, 0x36, 0xb0, 0xad, 0xdb, - 0x87, 0xba, 0xf6, 0x37, 0x3c, 0x9b, 0xff, 0x8b, 0x39, 0x28, 0x5d, 0x60, 0xa8, 0xf4, 0x5b, 0xc7, - 0xe8, 0x89, 0x84, 0x1e, 0xb8, 0x4c, 0x3c, 0xf0, 0x0f, 0x0e, 0x6a, 0x5c, 0x90, 0xae, 0x2f, 0xb6, - 0xf9, 0x47, 0x8f, 0xd8, 0x07, 0x4b, 0xbc, 0xaf, 0xc6, 0x94, 0x0e, 0x75, 0x64, 0x95, 0x9d, 0x15, - 0xe0, 0xa7, 0x44, 0xc3, 0x78, 0x12, 0xfb, 0x7e, 0xd2, 0x06, 0x29, 0xa1, 0x9f, 0x3c, 0x41, 0x9f, - 0x4c, 0xc1, 0x11, 0x4a, 0xe5, 0x05, 0x82, 0x94, 0x52, 0x1c, 0xac, 0xe9, 0x1b, 0xe5, 0x15, 0xd5, - 0xb7, 0x2c, 0xa2, 0x18, 0x8d, 0x3a, 0xdf, 0xef, 0xbd, 0xd5, 0x57, 0x69, 0x18, 0x4e, 0xfa, 0xc1, - 0x41, 0x0d, 0xf5, 0xf3, 0xca, 0xf4, 0x03, 0x9d, 0xc1, 0xb2, 0xe8, 0xcf, 0x54, 0x0f, 0x89, 0x0d, - 0x27, 0xb9, 0x40, 0xbd, 0x18, 0x21, 0x10, 0x9e, 0xaf, 0x41, 0xd1, 0x67, 0x7c, 0x66, 0x46, 0x07, - 0x1c, 0x6b, 0xf3, 0xd6, 0xdd, 0x88, 0xe3, 0xf9, 0x7c, 0x9f, 0xec, 0x87, 0x40, 0xbf, 0x96, 0x82, - 0x23, 0xde, 0xda, 0xde, 0x0f, 0x9e, 0x4b, 0xbe, 0xba, 0x3f, 0x17, 0x94, 0x5a, 0x24, 0x1e, 0x91, - 0x5a, 0x94, 0x83, 0x94, 0xa7, 0x7b, 0x51, 0x0e, 0xe3, 0x39, 0x18, 0xf7, 0x2f, 0xfe, 0xbc, 0x8f, - 0x17, 0x0e, 0xdb, 0xce, 0x9c, 0xe6, 0xbd, 0x0d, 0x1c, 0xed, 0x90, 0x83, 0x40, 0xa8, 0x0a, 0x79, - 0xbc, 0xd7, 0x35, 0x2d, 0x07, 0x37, 0xe9, 0x59, 0xe4, 0xbc, 0xec, 0x3e, 0x4b, 0xd7, 0x20, 0x62, - 0x60, 0xd1, 0xd3, 0xa1, 0x2f, 0x2f, 0xdd, 0xc8, 0xa2, 0xa2, 0xff, 0x63, 0x4d, 0xfe, 0xaf, 0x28, - 0xdd, 0x6c, 0xb3, 0xf1, 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0x73, 0x3c, 0xb3, 0x75, 0xb7, 0x9b, - 0x00, 0x00, + 0x07, 0x60, 0x96, 0x92, 0x98, 0x7d, 0x07, 0x5b, 0x8a, 0xd6, 0x51, 0x6d, 0x9b, 0x0a, 0x2d, 0x4f, + 0x49, 0x11, 0x79, 0x77, 0x89, 0xbc, 0x5a, 0x10, 0x6f, 0xd0, 0x43, 0x30, 0x43, 0x39, 0xba, 0xfd, + 0x8e, 0xa3, 0xf7, 0x3a, 0x58, 0x21, 0xab, 0x37, 0x9b, 0x7a, 0x12, 0xb7, 0x65, 0xd3, 0x84, 0x62, + 0x95, 0x13, 0x90, 0x16, 0xd9, 0x68, 0x11, 0x6e, 0xa3, 0x6c, 0x6d, 0x6c, 0x60, 0x4b, 0x75, 0xb0, + 0x82, 0x5f, 0xec, 0xab, 0x1d, 0x5b, 0x51, 0x8d, 0x96, 0xb2, 0xa3, 0xda, 0x3b, 0xd5, 0x59, 0x02, + 0xd0, 0x4c, 0x57, 0x53, 0xf2, 0x51, 0x42, 0x78, 0x9e, 0xd3, 0x2d, 0x51, 0xb2, 0x79, 0xa3, 0x75, + 0x41, 0xb5, 0x77, 0x50, 0x03, 0x0e, 0x53, 0x14, 0xdb, 0xb1, 0x74, 0xa3, 0xad, 0x68, 0x3b, 0x58, + 0xbb, 0xa2, 0xf4, 0x9d, 0xed, 0x47, 0xab, 0xb7, 0xf8, 0xeb, 0xa7, 0x2d, 0x5c, 0xa7, 0x34, 0x0b, + 0x84, 0x64, 0xd3, 0xd9, 0x7e, 0x14, 0xad, 0x43, 0x89, 0x0c, 0x46, 0x57, 0x7f, 0x09, 0x2b, 0xdb, + 0xa6, 0x45, 0x5d, 0x63, 0x39, 0xc2, 0x34, 0xf9, 0x24, 0x38, 0x77, 0x89, 0x33, 0xac, 0x9a, 0x2d, + 0xdc, 0x18, 0x5f, 0x5f, 0x5b, 0x5a, 0x5a, 0x94, 0x8b, 0x02, 0xe5, 0x9c, 0x69, 0x11, 0x85, 0x6a, + 0x9b, 0xae, 0x80, 0x8b, 0x4c, 0xa1, 0xda, 0xa6, 0x10, 0xef, 0x43, 0x30, 0xa3, 0x69, 0xac, 0xcf, + 0xba, 0xa6, 0xf0, 0x35, 0x96, 0x5d, 0xad, 0x04, 0x84, 0xa5, 0x69, 0xe7, 0x19, 0x01, 0xd7, 0x71, + 0x1b, 0x3d, 0x06, 0x87, 0x3c, 0x61, 0xf9, 0x19, 0xa7, 0x07, 0x7a, 0x19, 0x66, 0x7d, 0x08, 0x66, + 0x7a, 0x7b, 0x83, 0x8c, 0x28, 0x50, 0x63, 0x6f, 0x2f, 0xcc, 0xf6, 0x08, 0xcc, 0xf6, 0x76, 0x7a, + 0x83, 0x7c, 0xf7, 0xf8, 0xf9, 0x50, 0x6f, 0xa7, 0x17, 0x66, 0xbc, 0x93, 0x2e, 0xb8, 0x2d, 0xac, + 0xa9, 0x0e, 0x6e, 0x55, 0x8f, 0xf8, 0xc9, 0x7d, 0x2f, 0xd0, 0x69, 0xa8, 0x68, 0x9a, 0x82, 0x0d, + 0x75, 0xab, 0x83, 0x15, 0xd5, 0xc2, 0x86, 0x6a, 0x57, 0xeb, 0x7e, 0xe2, 0xb2, 0xa6, 0x2d, 0xd1, + 0xb7, 0xf3, 0xf4, 0x25, 0xba, 0x07, 0xa6, 0xcd, 0xad, 0x17, 0x34, 0xa6, 0x92, 0x4a, 0xcf, 0xc2, + 0xdb, 0xfa, 0x6e, 0xf5, 0x0e, 0x2a, 0xdf, 0x29, 0xf2, 0x82, 0x2a, 0xe4, 0x1a, 0x2d, 0x46, 0xa7, + 0xa0, 0xa2, 0xd9, 0x3b, 0xaa, 0xd5, 0xa3, 0x36, 0xd9, 0xee, 0xa9, 0x1a, 0xae, 0xde, 0xc9, 0x48, + 0x59, 0xf9, 0x45, 0x51, 0x4c, 0xa6, 0x84, 0x7d, 0x4d, 0xdf, 0x76, 0x04, 0xe2, 0xdd, 0x6c, 0x4a, + 0xd0, 0x32, 0x8e, 0x76, 0x12, 0x2a, 0x44, 0x14, 0x81, 0x8a, 0x4f, 0x52, 0xb2, 0x72, 0x6f, 0xa7, + 0xe7, 0xaf, 0xf7, 0x04, 0x4c, 0x12, 0x4a, 0xaf, 0xd2, 0x53, 0x2c, 0x20, 0xeb, 0xed, 0xf8, 0x6a, + 0x7c, 0x10, 0x0e, 0x13, 0xa2, 0x2e, 0x76, 0xd4, 0x96, 0xea, 0xa8, 0x3e, 0xea, 0xfb, 0x28, 0x35, + 0x91, 0xfb, 0x2a, 0x7f, 0x19, 0x68, 0xa7, 0xd5, 0xdf, 0xda, 0x73, 0x35, 0xeb, 0x7e, 0xd6, 0x4e, + 0x52, 0x26, 0x74, 0xeb, 0x6d, 0x0b, 0xba, 0xa5, 0x06, 0x94, 0xfc, 0x8a, 0x8f, 0x0a, 0xc0, 0x54, + 0xbf, 0x92, 0x22, 0x51, 0xd0, 0xc2, 0xa5, 0x45, 0x12, 0xbf, 0x3c, 0xbf, 0x54, 0x49, 0x93, 0x38, + 0x6a, 0x65, 0x79, 0x63, 0x49, 0x91, 0x37, 0x2f, 0x6e, 0x2c, 0xaf, 0x2e, 0x55, 0x32, 0xbe, 0x80, + 0xfd, 0xa9, 0x6c, 0xfe, 0xae, 0xca, 0xdd, 0xd2, 0xb7, 0xd3, 0x50, 0x0e, 0xae, 0xc0, 0xd0, 0xe3, + 0x70, 0x44, 0xa4, 0x4b, 0x6c, 0xec, 0x28, 0xd7, 0x74, 0x8b, 0xce, 0xc8, 0xae, 0xca, 0xbc, 0xa3, + 0xab, 0x13, 0xb3, 0x9c, 0x6a, 0x1d, 0x3b, 0xcf, 0xea, 0x16, 0x99, 0x6f, 0x5d, 0xd5, 0x41, 0x2b, + 0x50, 0x37, 0x4c, 0xc5, 0x76, 0x54, 0xa3, 0xa5, 0x5a, 0x2d, 0xc5, 0x4b, 0x54, 0x29, 0xaa, 0xa6, + 0x61, 0xdb, 0x36, 0x99, 0x27, 0x74, 0x51, 0x6e, 0x35, 0xcc, 0x75, 0x4e, 0xec, 0xb9, 0x88, 0x79, + 0x4e, 0x1a, 0xd2, 0xdf, 0xcc, 0x30, 0xfd, 0xbd, 0x05, 0x0a, 0x5d, 0xb5, 0xa7, 0x60, 0xc3, 0xb1, + 0xf6, 0x68, 0xdc, 0x9d, 0x97, 0xf3, 0x5d, 0xb5, 0xb7, 0x44, 0x9e, 0xdf, 0x91, 0xe5, 0xcf, 0x53, + 0xd9, 0x7c, 0xbe, 0x52, 0x78, 0x2a, 0x9b, 0x2f, 0x54, 0x40, 0x7a, 0x2d, 0x03, 0x25, 0x7f, 0x1c, + 0x4e, 0x96, 0x35, 0x1a, 0x75, 0x59, 0x29, 0x6a, 0xd4, 0x4e, 0x8c, 0x8c, 0xda, 0xe7, 0x16, 0x88, + 0x2f, 0x6b, 0xe4, 0x58, 0x74, 0x2c, 0x33, 0x4e, 0x12, 0x47, 0x10, 0x65, 0xc3, 0x2c, 0x1a, 0xc9, + 0xcb, 0xfc, 0x09, 0x9d, 0x87, 0xdc, 0x0b, 0x36, 0xc5, 0xce, 0x51, 0xec, 0x3b, 0x46, 0x63, 0x3f, + 0xb5, 0x4e, 0xc1, 0x0b, 0x4f, 0xad, 0x2b, 0x17, 0x2f, 0xc9, 0xab, 0xf3, 0x2b, 0x32, 0x67, 0x47, + 0x47, 0x21, 0xdb, 0x51, 0x5f, 0xda, 0x0b, 0x7a, 0x3d, 0x5a, 0x94, 0x74, 0x10, 0x8e, 0x42, 0xf6, + 0x1a, 0x56, 0xaf, 0x04, 0x7d, 0x0d, 0x2d, 0x7a, 0x1b, 0x27, 0xc3, 0x69, 0x18, 0xa7, 0xf2, 0x42, + 0x00, 0x5c, 0x62, 0x95, 0x31, 0x94, 0x87, 0xec, 0xc2, 0x25, 0x99, 0x4c, 0x88, 0x0a, 0x94, 0x58, + 0xa9, 0xb2, 0xb6, 0xbc, 0xb4, 0xb0, 0x54, 0x49, 0x4b, 0x0f, 0x41, 0x8e, 0x09, 0x81, 0x4c, 0x16, + 0x57, 0x0c, 0x95, 0x31, 0xfe, 0xc8, 0x31, 0x52, 0xe2, 0xed, 0xe6, 0x6a, 0x73, 0x49, 0xae, 0xa4, + 0x83, 0x43, 0x9d, 0xad, 0x8c, 0x4b, 0x36, 0x94, 0xfc, 0x81, 0xf8, 0x3b, 0xb3, 0xc8, 0xfe, 0x46, + 0x0a, 0x8a, 0xbe, 0xc0, 0x9a, 0x44, 0x44, 0x6a, 0xa7, 0x63, 0x5e, 0x53, 0xd4, 0x8e, 0xae, 0xda, + 0x5c, 0x35, 0x80, 0x16, 0xcd, 0x93, 0x92, 0xa4, 0x43, 0xf7, 0x0e, 0x4d, 0x91, 0xf1, 0x4a, 0x4e, + 0xfa, 0x5c, 0x0a, 0x2a, 0xe1, 0xc8, 0x36, 0xd4, 0xcc, 0xd4, 0x8f, 0xb2, 0x99, 0xd2, 0x67, 0x52, + 0x50, 0x0e, 0x86, 0xb3, 0xa1, 0xe6, 0xdd, 0xfe, 0x23, 0x6d, 0xde, 0x9f, 0xa5, 0x61, 0x32, 0x10, + 0xc4, 0x26, 0x6d, 0xdd, 0x8b, 0x30, 0xad, 0xb7, 0x70, 0xb7, 0x67, 0x3a, 0xd8, 0xd0, 0xf6, 0x94, + 0x0e, 0xbe, 0x8a, 0x3b, 0x55, 0x89, 0x1a, 0x8d, 0xd3, 0xa3, 0xc3, 0xe4, 0xb9, 0x65, 0x8f, 0x6f, + 0x85, 0xb0, 0x35, 0x66, 0x96, 0x17, 0x97, 0x56, 0xd7, 0x2e, 0x6d, 0x2c, 0x5d, 0x5c, 0xf8, 0x80, + 0xb2, 0x79, 0xf1, 0xe9, 0x8b, 0x97, 0x9e, 0xbd, 0x28, 0x57, 0xf4, 0x10, 0xd9, 0xdb, 0x38, 0xed, + 0xd7, 0xa0, 0x12, 0x6e, 0x14, 0x3a, 0x02, 0x51, 0xcd, 0xaa, 0x8c, 0xa1, 0x19, 0x98, 0xba, 0x78, + 0x49, 0x59, 0x5f, 0x5e, 0x5c, 0x52, 0x96, 0xce, 0x9d, 0x5b, 0x5a, 0xd8, 0x58, 0x67, 0x89, 0x0f, + 0x97, 0x7a, 0x23, 0x30, 0xc1, 0xa5, 0x4f, 0x67, 0x60, 0x26, 0xa2, 0x25, 0x68, 0x9e, 0x2f, 0x59, + 0xd8, 0x2a, 0xea, 0xfe, 0x24, 0xad, 0x9f, 0x23, 0x31, 0xc3, 0x9a, 0x6a, 0x39, 0x7c, 0x85, 0x73, + 0x0a, 0x88, 0x94, 0x0c, 0x47, 0xdf, 0xd6, 0xb1, 0xc5, 0xf3, 0x44, 0x6c, 0x1d, 0x33, 0xe5, 0x95, + 0xb3, 0x54, 0xd1, 0x7d, 0x80, 0x7a, 0xa6, 0xad, 0x3b, 0xfa, 0x55, 0xac, 0xe8, 0x86, 0x48, 0x2a, + 0x65, 0xe9, 0x2e, 0x53, 0x45, 0xbc, 0x59, 0x36, 0x1c, 0x97, 0xda, 0xc0, 0x6d, 0x35, 0x44, 0x4d, + 0x8c, 0x79, 0x46, 0xae, 0x88, 0x37, 0x2e, 0xf5, 0xed, 0x50, 0x6a, 0x99, 0x7d, 0x12, 0xec, 0x31, + 0x3a, 0xe2, 0x3b, 0x52, 0x72, 0x91, 0x95, 0xb9, 0x24, 0x3c, 0x8c, 0xf7, 0xb2, 0x59, 0x25, 0xb9, + 0xc8, 0xca, 0x18, 0xc9, 0xdd, 0x30, 0xa5, 0xb6, 0xdb, 0x16, 0x01, 0x17, 0x40, 0x6c, 0x61, 0x52, + 0x76, 0x8b, 0x29, 0x61, 0xed, 0x29, 0xc8, 0x0b, 0x39, 0x10, 0x57, 0x4d, 0x24, 0xa1, 0xf4, 0xd8, + 0x6a, 0x3b, 0x7d, 0xb2, 0x20, 0xe7, 0x0d, 0xf1, 0xf2, 0x76, 0x28, 0xe9, 0xb6, 0xe2, 0x25, 0xe7, + 0xd3, 0xc7, 0xd3, 0x27, 0xf3, 0x72, 0x51, 0xb7, 0xdd, 0xc4, 0xa6, 0xf4, 0xc5, 0x34, 0x94, 0x83, + 0x9b, 0x0b, 0x68, 0x11, 0xf2, 0x1d, 0x53, 0xa3, 0xbb, 0x87, 0x7c, 0x67, 0xeb, 0x64, 0xcc, 0x7e, + 0xc4, 0xdc, 0x0a, 0xa7, 0x97, 0x5d, 0xce, 0xda, 0x7f, 0x48, 0x41, 0x5e, 0x14, 0xa3, 0xc3, 0x90, + 0xed, 0xa9, 0xce, 0x0e, 0x85, 0x1b, 0x6f, 0xa6, 0x2b, 0x29, 0x99, 0x3e, 0x93, 0x72, 0xbb, 0xa7, + 0x1a, 0x54, 0x05, 0x78, 0x39, 0x79, 0x26, 0xe3, 0xda, 0xc1, 0x6a, 0x8b, 0xae, 0x7a, 0xcc, 0x6e, + 0x17, 0x1b, 0x8e, 0x2d, 0xc6, 0x95, 0x97, 0x2f, 0xf0, 0x62, 0x74, 0x2f, 0x4c, 0x3b, 0x96, 0xaa, + 0x77, 0x02, 0xb4, 0x59, 0x4a, 0x5b, 0x11, 0x2f, 0x5c, 0xe2, 0x06, 0x1c, 0x15, 0xb8, 0x2d, 0xec, + 0xa8, 0xda, 0x0e, 0x6e, 0x79, 0x4c, 0x39, 0x9a, 0xdd, 0x38, 0xc2, 0x09, 0x16, 0xf9, 0x7b, 0xc1, + 0x2b, 0x7d, 0x3b, 0x05, 0xd3, 0x62, 0x9d, 0xd6, 0x72, 0x85, 0xb5, 0x0a, 0xa0, 0x1a, 0x86, 0xe9, + 0xf8, 0xc5, 0x35, 0xa8, 0xca, 0x03, 0x7c, 0x73, 0xf3, 0x2e, 0x93, 0xec, 0x03, 0xa8, 0x75, 0x01, + 0xbc, 0x37, 0x43, 0xc5, 0x56, 0x87, 0x22, 0xdf, 0x39, 0xa2, 0xdb, 0x8f, 0x6c, 0x65, 0x0f, 0xac, + 0x88, 0x2c, 0xe8, 0xd0, 0x2c, 0x8c, 0x6f, 0xe1, 0xb6, 0x6e, 0xf0, 0x7c, 0x30, 0x7b, 0x10, 0xf9, + 0x97, 0xac, 0x9b, 0x7f, 0x69, 0x7e, 0x22, 0x05, 0x33, 0x9a, 0xd9, 0x0d, 0xb7, 0xb7, 0x59, 0x09, + 0xa5, 0x17, 0xec, 0x0b, 0xa9, 0xe7, 0x9f, 0xf0, 0xed, 0xb4, 0xb6, 0xcd, 0x8e, 0x6a, 0xb4, 0xbd, + 0xfd, 0x53, 0xfa, 0x43, 0xbb, 0xbf, 0x8d, 0x8d, 0xfb, 0xdb, 0xa6, 0x6f, 0x37, 0xf5, 0xac, 0xf7, + 0xf3, 0xaf, 0x53, 0xa9, 0x2f, 0xa4, 0x33, 0xe7, 0xd7, 0x9a, 0x5f, 0x4a, 0xd7, 0xce, 0xb3, 0xea, + 0xd6, 0x84, 0x78, 0x64, 0xbc, 0xdd, 0xc1, 0x1a, 0xe9, 0x32, 0x7c, 0xef, 0x5e, 0x98, 0x6d, 0x9b, + 0x6d, 0x93, 0x22, 0x9e, 0x26, 0xbf, 0xf8, 0x8e, 0x6c, 0xc1, 0x2d, 0xad, 0xc5, 0x6e, 0xdf, 0x36, + 0x2e, 0xc2, 0x0c, 0x27, 0x56, 0xe8, 0x96, 0x10, 0x5b, 0xd8, 0xa0, 0x91, 0x69, 0xb5, 0xea, 0xef, + 0x7d, 0x97, 0x3a, 0x74, 0x79, 0x9a, 0xb3, 0x92, 0x77, 0x6c, 0xed, 0xd3, 0x90, 0xe1, 0x50, 0x00, + 0x8f, 0x4d, 0x5b, 0x6c, 0xc5, 0x20, 0xfe, 0x5b, 0x8e, 0x38, 0xe3, 0x43, 0x5c, 0xe7, 0xac, 0x8d, + 0x05, 0x98, 0x3c, 0x08, 0xd6, 0xbf, 0xe3, 0x58, 0x25, 0xec, 0x07, 0x39, 0x0f, 0x53, 0x14, 0x44, + 0xeb, 0xdb, 0x8e, 0xd9, 0xa5, 0x36, 0x71, 0x34, 0xcc, 0x1f, 0x7e, 0x97, 0xcd, 0xa3, 0x32, 0x61, + 0x5b, 0x70, 0xb9, 0x1a, 0x0d, 0xa0, 0xbb, 0x60, 0x2d, 0xac, 0x75, 0x62, 0x10, 0xbe, 0xc9, 0x1b, + 0xe2, 0xd2, 0x37, 0x2e, 0xc3, 0x2c, 0xf9, 0x4d, 0x4d, 0x96, 0xbf, 0x25, 0xf1, 0x39, 0xb8, 0xea, + 0xb7, 0x3f, 0xcc, 0xa6, 0xea, 0x8c, 0x0b, 0xe0, 0x6b, 0x93, 0x6f, 0x14, 0xdb, 0xd8, 0x71, 0xb0, + 0x65, 0x2b, 0x6a, 0x27, 0xaa, 0x79, 0xbe, 0x24, 0x46, 0xf5, 0xd7, 0xdf, 0x08, 0x8e, 0xe2, 0x79, + 0xc6, 0x39, 0xdf, 0xe9, 0x34, 0x36, 0xe1, 0x48, 0x84, 0x56, 0x24, 0xc0, 0xfc, 0x34, 0xc7, 0x9c, + 0x1d, 0xd0, 0x0c, 0x02, 0xbb, 0x06, 0xa2, 0xdc, 0x1d, 0xcb, 0x04, 0x98, 0xbf, 0xc1, 0x31, 0x11, + 0xe7, 0x15, 0x43, 0x4a, 0x10, 0x9f, 0x82, 0xe9, 0xab, 0xd8, 0xda, 0x32, 0x6d, 0x9e, 0x38, 0x4a, + 0x00, 0xf7, 0x19, 0x0e, 0x37, 0xc5, 0x19, 0x69, 0x26, 0x89, 0x60, 0x3d, 0x06, 0xf9, 0x6d, 0x55, + 0xc3, 0x09, 0x20, 0x3e, 0xcb, 0x21, 0x26, 0x08, 0x3d, 0x61, 0x9d, 0x87, 0x52, 0xdb, 0xe4, 0x5e, + 0x2b, 0x9e, 0xfd, 0x73, 0x9c, 0xbd, 0x28, 0x78, 0x38, 0x44, 0xcf, 0xec, 0xf5, 0x3b, 0xc4, 0xa5, + 0xc5, 0x43, 0xfc, 0xa6, 0x80, 0x10, 0x3c, 0x1c, 0xe2, 0x00, 0x62, 0x7d, 0x55, 0x40, 0xd8, 0x3e, + 0x79, 0x3e, 0x09, 0x45, 0xd3, 0xe8, 0xec, 0x99, 0x46, 0x92, 0x46, 0x7c, 0x9e, 0x23, 0x00, 0x67, + 0x21, 0x00, 0x67, 0xa1, 0x90, 0x74, 0x20, 0xfe, 0xe1, 0x1b, 0x62, 0x7a, 0x88, 0x11, 0x38, 0x0f, + 0x53, 0xc2, 0x40, 0xe9, 0xa6, 0x91, 0x00, 0xe2, 0x1f, 0x71, 0x88, 0xb2, 0x8f, 0x8d, 0x77, 0xc3, + 0xc1, 0xb6, 0xd3, 0xc6, 0x49, 0x40, 0xbe, 0x28, 0xba, 0xc1, 0x59, 0xb8, 0x28, 0xb7, 0xb0, 0xa1, + 0xed, 0x24, 0x43, 0xf8, 0x2d, 0x21, 0x4a, 0xc1, 0x43, 0x20, 0x16, 0x60, 0xb2, 0xab, 0x5a, 0xf6, + 0x8e, 0xda, 0x49, 0x34, 0x1c, 0xff, 0x98, 0x63, 0x94, 0x5c, 0x26, 0x2e, 0x91, 0xbe, 0x71, 0x10, + 0x98, 0x2f, 0x09, 0x89, 0xf8, 0xd8, 0xf8, 0xd4, 0xb3, 0x1d, 0x9a, 0x65, 0x3b, 0x08, 0xda, 0x3f, + 0x11, 0x53, 0x8f, 0xf1, 0xae, 0xfa, 0x11, 0xcf, 0x42, 0xc1, 0xd6, 0x5f, 0x4a, 0x04, 0xf3, 0x4f, + 0xc5, 0x48, 0x53, 0x06, 0xc2, 0xfc, 0x01, 0x38, 0x1a, 0xe9, 0x26, 0x12, 0x80, 0xfd, 0x33, 0x0e, + 0x76, 0x38, 0xc2, 0x55, 0x70, 0x93, 0x70, 0x50, 0xc8, 0xdf, 0x16, 0x26, 0x01, 0x87, 0xb0, 0xd6, + 0xc8, 0x3a, 0xc2, 0x56, 0xb7, 0x0f, 0x26, 0xb5, 0xdf, 0x11, 0x52, 0x63, 0xbc, 0x01, 0xa9, 0x6d, + 0xc0, 0x61, 0x8e, 0x78, 0xb0, 0x71, 0xfd, 0x5d, 0x61, 0x58, 0x19, 0xf7, 0x66, 0x70, 0x74, 0x3f, + 0x08, 0x35, 0x57, 0x9c, 0x22, 0x60, 0xb5, 0x95, 0xae, 0xda, 0x4b, 0x80, 0xfc, 0x7b, 0x1c, 0x59, + 0x58, 0x7c, 0x37, 0xe2, 0xb5, 0x57, 0xd5, 0x1e, 0x01, 0x7f, 0x0e, 0xaa, 0x02, 0xbc, 0x6f, 0x58, + 0x58, 0x33, 0xdb, 0x86, 0xfe, 0x12, 0x6e, 0x25, 0x80, 0xfe, 0xe7, 0xa1, 0xa1, 0xda, 0xf4, 0xb1, + 0x13, 0xe4, 0x65, 0xa8, 0xb8, 0xb1, 0x8a, 0xa2, 0x77, 0x7b, 0xa6, 0xe5, 0xc4, 0x20, 0xfe, 0x0b, + 0x31, 0x52, 0x2e, 0xdf, 0x32, 0x65, 0x6b, 0x2c, 0x41, 0x99, 0x3e, 0x26, 0x55, 0xc9, 0x2f, 0x73, + 0xa0, 0x49, 0x8f, 0x8b, 0x1b, 0x0e, 0xcd, 0xec, 0xf6, 0x54, 0x2b, 0x89, 0xfd, 0xfb, 0x97, 0xc2, + 0x70, 0x70, 0x16, 0x6e, 0x38, 0x9c, 0xbd, 0x1e, 0x26, 0xde, 0x3e, 0x01, 0xc2, 0x57, 0x84, 0xe1, + 0x10, 0x3c, 0x1c, 0x42, 0x04, 0x0c, 0x09, 0x20, 0xbe, 0x2a, 0x20, 0x04, 0x0f, 0x81, 0x78, 0xc6, + 0x73, 0xb4, 0x16, 0x6e, 0xeb, 0xb6, 0x63, 0xb1, 0x30, 0x79, 0x34, 0xd4, 0xd7, 0xde, 0x08, 0x06, + 0x61, 0xb2, 0x8f, 0x95, 0x58, 0x22, 0x9e, 0x76, 0xa5, 0xab, 0xa8, 0xf8, 0x86, 0x7d, 0x5d, 0x58, + 0x22, 0x1f, 0x1b, 0x69, 0x9b, 0x2f, 0x42, 0x24, 0x62, 0xd7, 0xc8, 0xda, 0x21, 0x01, 0xdc, 0xef, + 0x87, 0x1a, 0xb7, 0x2e, 0x78, 0x09, 0xa6, 0x2f, 0xfe, 0xe9, 0x1b, 0x57, 0xf0, 0x5e, 0x22, 0xed, + 0xfc, 0x83, 0x50, 0xfc, 0xb3, 0xc9, 0x38, 0x99, 0x0d, 0x99, 0x0a, 0xc5, 0x53, 0x28, 0xee, 0xfc, + 0x50, 0xf5, 0x6f, 0xbf, 0xc9, 0xfb, 0x1b, 0x0c, 0xa7, 0x1a, 0x2b, 0x44, 0xc9, 0x83, 0x41, 0x4f, + 0x3c, 0xd8, 0x87, 0xdf, 0x74, 0xf5, 0x3c, 0x10, 0xf3, 0x34, 0xce, 0xc1, 0x64, 0x20, 0xe0, 0x89, + 0x87, 0xfa, 0x08, 0x87, 0x2a, 0xf9, 0xe3, 0x9d, 0xc6, 0x43, 0x90, 0x25, 0xc1, 0x4b, 0x3c, 0xfb, + 0xcf, 0x71, 0x76, 0x4a, 0xde, 0x78, 0x1f, 0xe4, 0x45, 0xd0, 0x12, 0xcf, 0xfa, 0xf3, 0x9c, 0xd5, + 0x65, 0x21, 0xec, 0x22, 0x60, 0x89, 0x67, 0xff, 0x05, 0xc1, 0x2e, 0x58, 0x08, 0x7b, 0x72, 0x11, + 0x7e, 0xe3, 0xef, 0x64, 0xb9, 0xd3, 0x11, 0xb2, 0x3b, 0x0b, 0x13, 0x3c, 0x52, 0x89, 0xe7, 0xfe, + 0x18, 0xaf, 0x5c, 0x70, 0x34, 0x1e, 0x81, 0xf1, 0x84, 0x02, 0xff, 0x25, 0xce, 0xca, 0xe8, 0x1b, + 0x0b, 0x50, 0xf4, 0x45, 0x27, 0xf1, 0xec, 0xbf, 0xcc, 0xd9, 0xfd, 0x5c, 0xa4, 0xe9, 0x3c, 0x3a, + 0x89, 0x07, 0xf8, 0x84, 0x68, 0x3a, 0xe7, 0x20, 0x62, 0x13, 0x81, 0x49, 0x3c, 0xf7, 0x27, 0x85, + 0xd4, 0x05, 0x4b, 0xe3, 0x49, 0x28, 0xb8, 0xce, 0x26, 0x9e, 0xff, 0xef, 0x72, 0x7e, 0x8f, 0x87, + 0x48, 0xc0, 0xe7, 0xec, 0xe2, 0x21, 0x3e, 0x25, 0x24, 0xe0, 0xe3, 0x22, 0xd3, 0x28, 0x1c, 0xc0, + 0xc4, 0x23, 0xfd, 0x3d, 0x31, 0x8d, 0x42, 0xf1, 0x0b, 0x19, 0x4d, 0x6a, 0xf3, 0xe3, 0x21, 0x7e, + 0x45, 0x8c, 0x26, 0xa5, 0x27, 0xcd, 0x08, 0x47, 0x04, 0xf1, 0x18, 0x7f, 0x5f, 0x34, 0x23, 0x14, + 0x10, 0x34, 0xd6, 0x00, 0x0d, 0x46, 0x03, 0xf1, 0x78, 0xaf, 0x70, 0xbc, 0xe9, 0x81, 0x60, 0xa0, + 0xf1, 0x2c, 0x1c, 0x8e, 0x8e, 0x04, 0xe2, 0x51, 0x7f, 0xfd, 0xcd, 0xd0, 0xda, 0xcd, 0x1f, 0x08, + 0x34, 0x36, 0x3c, 0x97, 0xe2, 0x8f, 0x02, 0xe2, 0x61, 0x3f, 0xfd, 0x66, 0xd0, 0x70, 0xfb, 0x83, + 0x80, 0xc6, 0x3c, 0x80, 0xe7, 0x80, 0xe3, 0xb1, 0x3e, 0xc3, 0xb1, 0x7c, 0x4c, 0x64, 0x6a, 0x70, + 0xff, 0x1b, 0xcf, 0xff, 0x59, 0x31, 0x35, 0x38, 0x07, 0x99, 0x1a, 0xc2, 0xf5, 0xc6, 0x73, 0x7f, + 0x4e, 0x4c, 0x0d, 0xc1, 0x42, 0x34, 0xdb, 0xe7, 0xdd, 0xe2, 0x11, 0x3e, 0x2f, 0x34, 0xdb, 0xc7, + 0xd5, 0xb8, 0x08, 0xd3, 0x03, 0x0e, 0x31, 0x1e, 0xea, 0x0b, 0x1c, 0xaa, 0x12, 0xf6, 0x87, 0x7e, + 0xe7, 0xc5, 0x9d, 0x61, 0x3c, 0xda, 0x3f, 0x08, 0x39, 0x2f, 0xee, 0x0b, 0x1b, 0x67, 0x21, 0x6f, + 0xf4, 0x3b, 0x1d, 0x32, 0x79, 0xd0, 0xe8, 0x33, 0x7f, 0xd5, 0xff, 0xfe, 0x43, 0x2e, 0x1d, 0xc1, + 0xd0, 0x78, 0x08, 0xc6, 0x71, 0x77, 0x0b, 0xb7, 0xe2, 0x38, 0xbf, 0xf7, 0x43, 0x61, 0x30, 0x09, + 0x75, 0xe3, 0x49, 0x00, 0x96, 0x1a, 0xa1, 0xdb, 0x83, 0x31, 0xbc, 0xff, 0xe3, 0x87, 0xfc, 0x34, + 0x8e, 0xc7, 0xe2, 0x01, 0xb0, 0xb3, 0x3d, 0xa3, 0x01, 0xde, 0x08, 0x02, 0xd0, 0x11, 0x79, 0x0c, + 0x26, 0x5e, 0xb0, 0x4d, 0xc3, 0x51, 0xdb, 0x71, 0xdc, 0xff, 0x93, 0x73, 0x0b, 0x7a, 0x22, 0xb0, + 0xae, 0x69, 0x61, 0x47, 0x6d, 0xdb, 0x71, 0xbc, 0xff, 0x8b, 0xf3, 0xba, 0x0c, 0x84, 0x59, 0x53, + 0x6d, 0x27, 0x49, 0xbf, 0xff, 0xb7, 0x60, 0x16, 0x0c, 0xa4, 0xd1, 0xe4, 0xf7, 0x15, 0xbc, 0x17, + 0xc7, 0xfb, 0x7d, 0xd1, 0x68, 0x4e, 0xdf, 0x78, 0x1f, 0x14, 0xc8, 0x4f, 0x76, 0xc4, 0x2e, 0x86, + 0xf9, 0xff, 0x70, 0x66, 0x8f, 0x83, 0xd4, 0x6c, 0x3b, 0x2d, 0x47, 0x8f, 0x17, 0xf6, 0x75, 0x3e, + 0xd2, 0x82, 0xbe, 0x31, 0x0f, 0x45, 0xdb, 0x69, 0xb5, 0xfa, 0x3c, 0x3e, 0x8d, 0x61, 0xff, 0xbf, + 0x3f, 0x74, 0x53, 0x16, 0x2e, 0x0f, 0x19, 0xed, 0x6b, 0x57, 0x9c, 0x9e, 0x49, 0xb7, 0x40, 0xe2, + 0x10, 0xde, 0xe4, 0x08, 0x3e, 0x96, 0xc6, 0x02, 0x94, 0x48, 0x5f, 0x2c, 0xdc, 0xc3, 0x74, 0xbf, + 0x2a, 0x06, 0xe2, 0x2f, 0xb9, 0x00, 0x02, 0x4c, 0xcd, 0x9f, 0x1e, 0x76, 0xef, 0x26, 0x3a, 0x6d, + 0x0c, 0xe7, 0xcd, 0xf3, 0x26, 0x4b, 0x18, 0x3f, 0x2f, 0x05, 0xd2, 0xc5, 0x6d, 0xd3, 0xcb, 0xd6, + 0xba, 0x8b, 0x1c, 0xf8, 0xfd, 0x34, 0xdc, 0x49, 0x8f, 0xfb, 0x5a, 0x5d, 0xdd, 0x70, 0x4e, 0x6b, + 0xd6, 0x5e, 0xcf, 0x31, 0x4f, 0x77, 0xb1, 0x75, 0xa5, 0x83, 0xf9, 0x1f, 0x9e, 0xfd, 0xad, 0x7a, + 0x64, 0x73, 0x8c, 0x6c, 0x8e, 0xbd, 0xaf, 0x45, 0x66, 0x8b, 0xa5, 0x05, 0x98, 0x58, 0xb3, 0x4c, + 0x73, 0xfb, 0x52, 0x0f, 0x21, 0x7e, 0x82, 0x99, 0x9f, 0x8c, 0xa3, 0x6a, 0xc8, 0x6f, 0x3c, 0xa5, + 0xbd, 0x1b, 0x4f, 0x08, 0xb2, 0x2d, 0xd5, 0x51, 0x69, 0xc2, 0xbc, 0x24, 0xd3, 0xdf, 0x52, 0x13, + 0xc6, 0x29, 0x08, 0x7a, 0x0c, 0x32, 0x66, 0xcf, 0xe6, 0xd9, 0xfd, 0xdb, 0xe7, 0x86, 0xb5, 0x65, + 0x8e, 0x57, 0xd9, 0xcc, 0x7e, 0x73, 0xbf, 0x3e, 0x26, 0x13, 0x9e, 0xe6, 0xda, 0x5f, 0x7f, 0xe7, + 0x58, 0xea, 0xb7, 0x5e, 0x3b, 0x96, 0x1a, 0x7a, 0x83, 0x69, 0xce, 0x27, 0x28, 0x9f, 0x30, 0x86, + 0xc9, 0xc5, 0xbd, 0xc7, 0xf4, 0x8b, 0x69, 0x38, 0xe6, 0x23, 0xea, 0xe8, 0x5b, 0xf6, 0xe9, 0x2b, + 0x57, 0xd9, 0x95, 0x27, 0x2e, 0x35, 0xe4, 0x6b, 0x29, 0x79, 0x3f, 0x77, 0xe5, 0xea, 0x10, 0x79, + 0xcd, 0x41, 0x76, 0x4d, 0xd5, 0xad, 0x88, 0xab, 0x60, 0xb3, 0xde, 0xe1, 0x56, 0x52, 0xc6, 0x1e, + 0xa4, 0x33, 0x90, 0x7f, 0x7a, 0xf9, 0xe1, 0x07, 0x93, 0xf0, 0x64, 0x38, 0x4f, 0x53, 0x16, 0xa2, + 0xf8, 0x5a, 0x84, 0x38, 0xbe, 0xf1, 0xfa, 0xb1, 0x54, 0xe4, 0xa5, 0xae, 0x68, 0x91, 0xf0, 0xde, + 0xba, 0xc2, 0xf8, 0x64, 0x1a, 0xea, 0xe1, 0x5d, 0x01, 0x32, 0x15, 0x6d, 0x47, 0xed, 0xf6, 0x86, + 0xdd, 0xe9, 0x3a, 0x0b, 0x85, 0x0d, 0x41, 0x83, 0xaa, 0x30, 0x61, 0x63, 0xcd, 0x34, 0x5a, 0x36, + 0xed, 0x49, 0x46, 0x16, 0x8f, 0xa4, 0x37, 0x86, 0x6a, 0x98, 0x36, 0x3f, 0x72, 0xca, 0x1e, 0x9a, + 0xbf, 0x96, 0x3a, 0xd8, 0xdc, 0x28, 0xbb, 0x55, 0xd1, 0x09, 0xb2, 0x96, 0x7a, 0xfe, 0xde, 0x51, + 0x1b, 0x2a, 0xec, 0xe6, 0x9a, 0xdb, 0x05, 0xdf, 0xee, 0xc9, 0xb1, 0xf0, 0xee, 0xc9, 0xb3, 0xb8, + 0xd3, 0x79, 0xda, 0x30, 0xaf, 0x19, 0x1b, 0x84, 0xc7, 0x15, 0xc9, 0xc7, 0xd3, 0x70, 0x6c, 0x60, + 0xa3, 0x84, 0x9b, 0x97, 0x61, 0x12, 0x69, 0x40, 0x7e, 0x51, 0x58, 0xad, 0x83, 0x0a, 0xe4, 0x57, + 0x0e, 0x28, 0x90, 0x49, 0x51, 0x93, 0x90, 0xc7, 0x3d, 0xf1, 0xf2, 0x10, 0xed, 0xbf, 0x01, 0x71, + 0x7c, 0xe4, 0x09, 0xb8, 0xdd, 0xa7, 0x40, 0xea, 0x96, 0xa6, 0xf3, 0xeb, 0x81, 0xfe, 0x19, 0x73, + 0xc8, 0x37, 0x63, 0x08, 0xc9, 0x1c, 0x7d, 0x19, 0x3d, 0x69, 0x6a, 0xc9, 0x6c, 0x57, 0x2d, 0x66, + 0x96, 0xd6, 0xe2, 0x14, 0xb7, 0x16, 0x33, 0x8c, 0xd2, 0x5f, 0x8d, 0xc3, 0x84, 0xb8, 0xcb, 0xf9, + 0x28, 0x64, 0xb1, 0xb6, 0x63, 0xf2, 0xd3, 0xee, 0xd2, 0x5c, 0x64, 0x7f, 0xe6, 0x38, 0xf5, 0x92, + 0xb6, 0x63, 0x5e, 0x18, 0x93, 0x29, 0x07, 0xbd, 0x03, 0xd6, 0xe9, 0xdb, 0x3b, 0xfc, 0x50, 0xf2, + 0x89, 0xd1, 0xac, 0xe7, 0x08, 0xe9, 0x85, 0x31, 0x99, 0xf1, 0x90, 0x6a, 0xe9, 0xfd, 0xb5, 0x6c, + 0x92, 0x6a, 0x97, 0x8d, 0x6d, 0x5a, 0x2d, 0xe1, 0x40, 0x17, 0x00, 0x6c, 0xec, 0x88, 0xa3, 0x0c, + 0xe3, 0x94, 0xff, 0xee, 0xd1, 0xfc, 0xeb, 0xd8, 0x61, 0x6e, 0xeb, 0xc2, 0x98, 0x5c, 0xb0, 0xc5, + 0x03, 0x41, 0xd2, 0x0d, 0xdd, 0x51, 0xb4, 0x1d, 0x55, 0x37, 0xe8, 0x1e, 0x7c, 0x2c, 0xd2, 0xb2, + 0xa1, 0x3b, 0x0b, 0x84, 0x9c, 0x20, 0xe9, 0xe2, 0x81, 0x88, 0x82, 0xde, 0x19, 0xe5, 0x97, 0xac, + 0x62, 0x44, 0xf1, 0x0c, 0x21, 0x25, 0xa2, 0xa0, 0x3c, 0xe8, 0x69, 0x28, 0xd2, 0xed, 0x56, 0x65, + 0xab, 0x63, 0x6a, 0x57, 0xf8, 0xcd, 0x92, 0x93, 0xa3, 0x21, 0x9a, 0x84, 0xa1, 0x49, 0xe8, 0x2f, + 0x8c, 0xc9, 0xb0, 0xe5, 0x3e, 0xa1, 0x26, 0xe4, 0xd9, 0xb1, 0x5f, 0x67, 0x97, 0xdf, 0x0d, 0xbc, + 0x73, 0x34, 0x12, 0x3d, 0x01, 0xbc, 0xb1, 0x7b, 0x61, 0x4c, 0x9e, 0xd0, 0xd8, 0x4f, 0xb4, 0x04, + 0x05, 0x6c, 0xb4, 0x78, 0x73, 0x8a, 0xfc, 0x16, 0xd5, 0x68, 0xbd, 0x30, 0x5a, 0xa2, 0x31, 0x79, + 0xcc, 0x7f, 0xa3, 0x27, 0x20, 0xa7, 0x99, 0xdd, 0xae, 0xee, 0xd0, 0x3b, 0x86, 0xc5, 0x33, 0x77, + 0xc4, 0x34, 0x84, 0xd2, 0x5e, 0x18, 0x93, 0x39, 0x17, 0x19, 0x9e, 0x16, 0xee, 0xe8, 0x57, 0xb1, + 0x45, 0x3a, 0x33, 0x93, 0x64, 0x78, 0x16, 0x19, 0x3d, 0xed, 0x4e, 0xa1, 0x25, 0x1e, 0x9a, 0x13, + 0xdc, 0xbd, 0x48, 0x77, 0x43, 0xd1, 0xa7, 0xc9, 0xc4, 0x62, 0xf1, 0x15, 0x08, 0x77, 0xf6, 0xe2, + 0x51, 0x2a, 0x43, 0xc9, 0xaf, 0xb7, 0x52, 0xd7, 0x65, 0xa4, 0x9b, 0xf8, 0x55, 0x98, 0xb8, 0x8a, + 0x2d, 0x9b, 0xed, 0xe0, 0x53, 0x46, 0xfe, 0x88, 0x4e, 0xc0, 0x24, 0x95, 0x9b, 0x22, 0xde, 0xb3, + 0x6b, 0xc9, 0x25, 0x5a, 0x78, 0x99, 0x13, 0xd5, 0xa1, 0xd8, 0x3b, 0xd3, 0x73, 0x49, 0xd8, 0xdd, + 0x68, 0xe8, 0x9d, 0xe9, 0x71, 0x02, 0xa9, 0x01, 0x95, 0xb0, 0xea, 0xfa, 0xbd, 0x66, 0x21, 0xc2, + 0x6b, 0x16, 0x84, 0xa7, 0xfd, 0xdd, 0xb4, 0xcb, 0xec, 0x6a, 0x2b, 0x99, 0x6e, 0xc4, 0x48, 0x50, + 0xee, 0xe2, 0x99, 0xda, 0x40, 0x68, 0xe7, 0xfa, 0x9a, 0x66, 0x9e, 0x84, 0x22, 0x9f, 0xfc, 0xd3, + 0x7a, 0x4a, 0xa6, 0x1c, 0xe8, 0x28, 0x51, 0x28, 0x55, 0x37, 0x14, 0xbd, 0x25, 0x6e, 0x13, 0xd3, + 0xe7, 0xe5, 0x16, 0x7a, 0x06, 0x2a, 0x9a, 0x69, 0xd8, 0xd8, 0xb0, 0xfb, 0xb6, 0xd2, 0x53, 0x2d, + 0xb5, 0xeb, 0x5d, 0xba, 0x8b, 0x1e, 0xa6, 0x05, 0x41, 0xbe, 0x46, 0xa9, 0xe5, 0x29, 0x2d, 0x58, + 0x80, 0x56, 0x00, 0xae, 0xaa, 0x1d, 0xbd, 0xa5, 0x3a, 0xa6, 0x65, 0xf3, 0xcb, 0x29, 0xc3, 0xc0, + 0x2e, 0x0b, 0xc2, 0xcd, 0x5e, 0x4b, 0x75, 0x30, 0x0f, 0xa2, 0x7c, 0xfc, 0xe8, 0x2e, 0x98, 0x52, + 0x7b, 0x3d, 0xc5, 0x76, 0x54, 0x07, 0x2b, 0x5b, 0x7b, 0x0e, 0xb6, 0xa9, 0xbd, 0x28, 0xc9, 0x93, + 0x6a, 0xaf, 0xb7, 0x4e, 0x4a, 0x9b, 0xa4, 0x50, 0x6a, 0xb9, 0xa3, 0x4d, 0xa7, 0xa6, 0x1b, 0xdb, + 0xa5, 0xbc, 0xd8, 0x8e, 0x94, 0xd1, 0xa3, 0x15, 0x4c, 0x06, 0xe2, 0x34, 0x4a, 0x6e, 0x07, 0xeb, + 0xed, 0x1d, 0x76, 0xbd, 0x3d, 0x23, 0xf3, 0x27, 0x32, 0x30, 0x3d, 0xcb, 0xbc, 0x8a, 0xf9, 0xcd, + 0x76, 0xf6, 0x20, 0xfd, 0x6a, 0x1a, 0xa6, 0x07, 0xa6, 0x2f, 0xc1, 0xa5, 0x07, 0xfc, 0x79, 0x5d, + 0xe4, 0x37, 0x3a, 0x4b, 0x70, 0xd5, 0x16, 0xbf, 0xb4, 0x52, 0x3c, 0x73, 0xdb, 0x10, 0x09, 0x5c, + 0xa0, 0x44, 0xbc, 0xe3, 0x9c, 0x05, 0x6d, 0x42, 0xa5, 0xa3, 0xda, 0x8e, 0xc2, 0x66, 0x11, 0xbb, + 0x25, 0x9c, 0x19, 0x69, 0x09, 0x56, 0x54, 0x31, 0xfb, 0x88, 0x72, 0x73, 0xb8, 0x72, 0x27, 0x50, + 0x8a, 0x9e, 0x83, 0xd9, 0xad, 0xbd, 0x97, 0x54, 0xc3, 0xd1, 0x0d, 0x7a, 0xd8, 0x28, 0x38, 0x46, + 0xf5, 0x21, 0xd0, 0x4b, 0x57, 0xf5, 0x16, 0x36, 0x34, 0x31, 0x38, 0x33, 0x2e, 0x84, 0x3b, 0x78, + 0xb6, 0xf4, 0x1c, 0x94, 0x83, 0xb6, 0x08, 0x95, 0x21, 0xed, 0xec, 0x72, 0x89, 0xa4, 0x9d, 0x5d, + 0xf4, 0x30, 0x8f, 0xc8, 0xd3, 0xf4, 0xb4, 0xdc, 0x30, 0x67, 0xc1, 0xb9, 0xbd, 0xbb, 0x84, 0x92, + 0xe4, 0xce, 0x04, 0xd7, 0x30, 0x84, 0xb1, 0xa5, 0x53, 0x30, 0x15, 0x32, 0x62, 0xbe, 0x61, 0x4d, + 0xf9, 0x87, 0x55, 0x9a, 0x82, 0xc9, 0x80, 0xad, 0x92, 0xfe, 0x28, 0x07, 0x79, 0xf7, 0x1b, 0x05, + 0x17, 0xa0, 0x80, 0x77, 0x35, 0xdc, 0x73, 0x84, 0x55, 0x18, 0x65, 0xc4, 0x19, 0xcf, 0x92, 0xa0, + 0x27, 0xe6, 0xca, 0x65, 0x46, 0x8f, 0x05, 0x5c, 0xf2, 0x89, 0x38, 0x10, 0xbf, 0x4f, 0x7e, 0x3c, + 0xe8, 0x93, 0xef, 0x88, 0xe1, 0x0d, 0x39, 0xe5, 0xc7, 0x02, 0x4e, 0x39, 0xae, 0xe2, 0x80, 0x57, + 0x5e, 0x8e, 0xf0, 0xca, 0x71, 0xdd, 0x1f, 0xe2, 0x96, 0x97, 0x23, 0xdc, 0xf2, 0xc9, 0xd8, 0xb6, + 0x44, 0xfa, 0xe5, 0xc7, 0x83, 0x7e, 0x39, 0x4e, 0x1c, 0x21, 0xc7, 0xbc, 0x12, 0xe5, 0x98, 0x4f, + 0xc5, 0x60, 0x0c, 0xf5, 0xcc, 0x0b, 0x03, 0x9e, 0xf9, 0xae, 0x18, 0xa8, 0x08, 0xd7, 0xbc, 0x1c, + 0xf0, 0x89, 0x90, 0x48, 0x36, 0xd1, 0x4e, 0x11, 0x9d, 0x1b, 0xf4, 0xf2, 0x77, 0xc7, 0xa9, 0x5a, + 0x94, 0x9b, 0x7f, 0x32, 0xe4, 0xe6, 0xef, 0x8c, 0xeb, 0x55, 0xc8, 0xcf, 0x7b, 0xde, 0xf9, 0x14, + 0xb1, 0x8f, 0xa1, 0x99, 0x41, 0x6c, 0x29, 0xb6, 0x2c, 0xd3, 0xe2, 0x8e, 0x8f, 0x3d, 0x48, 0x27, + 0x89, 0xc5, 0xf6, 0xf4, 0x7f, 0x84, 0x27, 0xa7, 0x93, 0xd6, 0xa7, 0xed, 0xd2, 0xd7, 0x52, 0x1e, + 0x2f, 0xb5, 0x6c, 0x7e, 0x6b, 0x5f, 0xe0, 0xd6, 0xde, 0xe7, 0xe0, 0xd3, 0x41, 0x07, 0x5f, 0x87, + 0x22, 0xf1, 0x29, 0x21, 0xdf, 0xad, 0xf6, 0x84, 0xef, 0x46, 0xf7, 0xc0, 0x34, 0xb5, 0xbf, 0x2c, + 0x0c, 0xe0, 0x86, 0x24, 0x4b, 0x0d, 0xc9, 0x14, 0x79, 0xc1, 0x24, 0xc8, 0x1c, 0xc5, 0xfd, 0x30, + 0xe3, 0xa3, 0x25, 0xb8, 0xd4, 0x17, 0x30, 0x27, 0x55, 0x71, 0xa9, 0xe7, 0x7b, 0xbd, 0x0b, 0xaa, + 0xbd, 0x23, 0xad, 0x7a, 0x02, 0xf2, 0xe2, 0x02, 0x04, 0x59, 0xcd, 0x6c, 0xb1, 0x7e, 0x4f, 0xca, + 0xf4, 0x37, 0x89, 0x15, 0x3a, 0x66, 0x9b, 0x9f, 0x80, 0x24, 0x3f, 0x09, 0x95, 0x3b, 0xb5, 0x0b, + 0x6c, 0xce, 0x4a, 0x5f, 0x4e, 0x79, 0x78, 0x5e, 0xa8, 0x10, 0xe5, 0xd5, 0x53, 0x37, 0xd3, 0xab, + 0xa7, 0xdf, 0x9a, 0x57, 0x97, 0xde, 0x4c, 0x79, 0x43, 0xea, 0xfa, 0xeb, 0x1b, 0x13, 0x01, 0xd1, + 0x2e, 0x76, 0x13, 0x9c, 0x9d, 0xd4, 0x65, 0x0f, 0x22, 0xd4, 0xca, 0x45, 0x24, 0x28, 0x26, 0x7c, + 0x49, 0x0d, 0xf4, 0x10, 0xf5, 0xf3, 0xe6, 0x36, 0x37, 0x0d, 0xf5, 0x98, 0x44, 0x8f, 0xcc, 0xa8, + 0x7d, 0xfe, 0xa5, 0x10, 0x08, 0x1b, 0x6e, 0x85, 0x02, 0x69, 0x3a, 0xbb, 0xfe, 0x04, 0x3c, 0xbd, + 0x28, 0x0a, 0xa4, 0x16, 0xa0, 0x41, 0x1b, 0x83, 0x2e, 0x42, 0x0e, 0x5f, 0xa5, 0xa7, 0x51, 0x59, + 0xb2, 0xe9, 0xd6, 0xa1, 0x8e, 0x18, 0x1b, 0x4e, 0xb3, 0x4a, 0x84, 0xf9, 0xbd, 0xfd, 0x7a, 0x85, + 0xf1, 0xdc, 0x67, 0x76, 0x75, 0x07, 0x77, 0x7b, 0xce, 0x9e, 0xcc, 0x51, 0xa4, 0x5f, 0x48, 0x13, + 0x7f, 0x18, 0xb0, 0x3f, 0x91, 0xe2, 0x15, 0x93, 0x26, 0xed, 0x0b, 0x91, 0x92, 0x89, 0xfc, 0x36, + 0x80, 0xb6, 0x6a, 0x2b, 0xd7, 0x54, 0xc3, 0xc1, 0x2d, 0x2e, 0xf7, 0x42, 0x5b, 0xb5, 0x9f, 0xa5, + 0x05, 0x24, 0xde, 0x24, 0xaf, 0xfb, 0x36, 0x6e, 0xd1, 0x01, 0xc8, 0xc8, 0x13, 0x6d, 0xd5, 0xde, + 0xb4, 0x71, 0xcb, 0xd7, 0xd7, 0x89, 0x9b, 0xd1, 0xd7, 0xa0, 0xbc, 0xf3, 0x61, 0x79, 0x7f, 0x2c, + 0xed, 0xcd, 0x0e, 0x2f, 0x7c, 0xf8, 0xf1, 0x94, 0xc5, 0x67, 0xe9, 0x9a, 0x22, 0xe8, 0x04, 0xd0, + 0x07, 0x60, 0xda, 0x9d, 0x95, 0x4a, 0x9f, 0xce, 0x56, 0xa1, 0x85, 0x07, 0x9b, 0xdc, 0x95, 0xab, + 0xc1, 0x62, 0x1b, 0xfd, 0x0c, 0x1c, 0x09, 0xd9, 0x20, 0xb7, 0x82, 0xf4, 0x81, 0x4c, 0xd1, 0xa1, + 0xa0, 0x29, 0x12, 0xf8, 0x9e, 0xf4, 0x32, 0x37, 0x65, 0xd6, 0xdc, 0x41, 0x42, 0x58, 0xbf, 0x7b, + 0x8b, 0xd2, 0x09, 0xe9, 0x8f, 0x53, 0x30, 0x15, 0x6a, 0x20, 0x7a, 0x14, 0xc6, 0x99, 0x07, 0x4e, + 0x8d, 0x4c, 0x84, 0x50, 0x89, 0xf3, 0x3e, 0x31, 0x06, 0x34, 0x0f, 0x79, 0xcc, 0xa3, 0x6b, 0x2e, + 0x94, 0x3b, 0x63, 0x82, 0x70, 0xce, 0xef, 0xb2, 0xa1, 0x45, 0x28, 0xb8, 0xa2, 0x8f, 0x59, 0xb9, + 0xb9, 0x23, 0xc7, 0x41, 0x3c, 0x46, 0x69, 0x01, 0x8a, 0xbe, 0xe6, 0xb1, 0xbb, 0x80, 0xbb, 0x7c, + 0xb9, 0xc5, 0x02, 0xe8, 0x7c, 0x57, 0xdd, 0xa5, 0x2b, 0x2d, 0x74, 0x04, 0x26, 0xc8, 0xcb, 0x36, + 0xbf, 0x2c, 0x95, 0x91, 0x73, 0x5d, 0x75, 0xf7, 0xbc, 0x6a, 0x4b, 0x1f, 0x4f, 0x41, 0x39, 0xd8, + 0x4e, 0x74, 0x2f, 0x20, 0x42, 0xab, 0xb6, 0xb1, 0x62, 0xf4, 0xbb, 0xcc, 0x47, 0x0a, 0xc4, 0xa9, + 0xae, 0xba, 0x3b, 0xdf, 0xc6, 0x17, 0xfb, 0x5d, 0x5a, 0xb5, 0x8d, 0x56, 0xa1, 0x22, 0x88, 0x45, + 0xb2, 0x8b, 0x4b, 0xe5, 0xe8, 0xe0, 0xf7, 0x6a, 0x38, 0x01, 0x5b, 0xeb, 0xbe, 0x42, 0xd6, 0xba, + 0x65, 0x86, 0x27, 0xde, 0x48, 0x0f, 0xc1, 0x54, 0xa8, 0xc7, 0x48, 0x82, 0xc9, 0x5e, 0x7f, 0x4b, + 0xb9, 0x82, 0xf7, 0xe8, 0xf5, 0x77, 0xa6, 0xea, 0x05, 0xb9, 0xd8, 0xeb, 0x6f, 0x3d, 0x8d, 0xf7, + 0x68, 0xee, 0x50, 0xd2, 0xa0, 0x1c, 0x5c, 0x4c, 0x11, 0xc7, 0x61, 0x99, 0x7d, 0xa3, 0x25, 0x3e, + 0x6c, 0x40, 0x1f, 0xd0, 0x59, 0x18, 0xbf, 0x6a, 0x32, 0x6d, 0x1e, 0xb5, 0x7a, 0xba, 0x6c, 0x3a, + 0xd8, 0xb7, 0x24, 0x63, 0x3c, 0x92, 0x0d, 0xe3, 0x54, 0x2f, 0x23, 0x37, 0x2a, 0x2e, 0x03, 0xa8, + 0x8e, 0x63, 0xe9, 0x5b, 0x7d, 0x0f, 0xbe, 0x3a, 0x37, 0x98, 0xd6, 0x9f, 0x5b, 0x53, 0x75, 0xab, + 0x79, 0x2b, 0xd7, 0xec, 0x59, 0x8f, 0xc7, 0xa7, 0xdd, 0x3e, 0x24, 0xe9, 0x8d, 0x2c, 0xe4, 0xd8, + 0x72, 0x13, 0x3d, 0x11, 0x4c, 0x7e, 0x14, 0xcf, 0x1c, 0x1b, 0xd6, 0x7c, 0x46, 0xc5, 0x5b, 0xef, + 0x46, 0x50, 0x77, 0x85, 0x33, 0x0a, 0xcd, 0xe2, 0x6b, 0xfb, 0xf5, 0x09, 0x1a, 0x7d, 0x2c, 0x2f, + 0x7a, 0xe9, 0x85, 0x61, 0xab, 0x6b, 0x91, 0xcb, 0xc8, 0x1e, 0x38, 0x97, 0x71, 0x01, 0x26, 0x7d, + 0xe1, 0x96, 0xde, 0xe2, 0xeb, 0x94, 0x63, 0xa3, 0x26, 0xdd, 0xf2, 0x22, 0x6f, 0x7f, 0xd1, 0x0d, + 0xc7, 0x96, 0x5b, 0xe8, 0x64, 0x70, 0x91, 0x4d, 0xa3, 0x36, 0x16, 0x2e, 0xf8, 0xd6, 0xcd, 0xf4, + 0x4e, 0xfe, 0x2d, 0x50, 0xa0, 0x17, 0x9b, 0x29, 0x09, 0x8b, 0x1e, 0xf2, 0xa4, 0x80, 0xbe, 0xbc, + 0x1b, 0xa6, 0xbc, 0xc0, 0x86, 0x91, 0xe4, 0x19, 0x8a, 0x57, 0x4c, 0x09, 0x1f, 0x80, 0x59, 0xfa, + 0x01, 0xbc, 0x30, 0x75, 0x81, 0x52, 0x23, 0xf2, 0xee, 0x72, 0x90, 0xe3, 0x4e, 0x28, 0x7b, 0x26, + 0x94, 0xd2, 0x02, 0x4b, 0x7d, 0xb8, 0xa5, 0x94, 0xec, 0x28, 0xe4, 0xdd, 0xb0, 0xb3, 0xc8, 0xbe, + 0xac, 0xa7, 0xb2, 0x68, 0xd3, 0x0d, 0x64, 0x2d, 0x6c, 0xf7, 0x3b, 0x0e, 0x07, 0x29, 0x51, 0x1a, + 0x1a, 0xc8, 0xca, 0xac, 0x9c, 0xd2, 0x9e, 0x80, 0x49, 0x61, 0x55, 0x18, 0xdd, 0x24, 0xa5, 0x2b, + 0x89, 0x42, 0x4a, 0x74, 0x0a, 0x2a, 0x3d, 0xcb, 0xec, 0x99, 0x36, 0xb6, 0x14, 0xb5, 0xd5, 0xb2, + 0xb0, 0x6d, 0x57, 0xcb, 0x0c, 0x4f, 0x94, 0xcf, 0xb3, 0x62, 0xe9, 0x3d, 0x30, 0x21, 0xe2, 0xe9, + 0x59, 0x18, 0x6f, 0xba, 0x16, 0x32, 0x2b, 0xb3, 0x07, 0xe2, 0x5f, 0xe7, 0x7b, 0x3d, 0x9e, 0x5d, + 0x23, 0x3f, 0xa5, 0x0e, 0x4c, 0xf0, 0x01, 0x8b, 0xcc, 0xa9, 0xac, 0x42, 0xa9, 0xa7, 0x5a, 0xa4, + 0x1b, 0xfe, 0xcc, 0xca, 0xb0, 0x15, 0xe1, 0x9a, 0x6a, 0x39, 0xeb, 0xd8, 0x09, 0x24, 0x58, 0x8a, + 0x94, 0x9f, 0x15, 0x49, 0x8f, 0xc1, 0x64, 0x80, 0xc6, 0xfb, 0x0e, 0x21, 0x9f, 0xe8, 0xf4, 0xc1, + 0x6d, 0x49, 0xda, 0x6b, 0x89, 0x74, 0x16, 0x0a, 0xee, 0x58, 0x91, 0x85, 0x86, 0x10, 0x05, 0xff, + 0xb0, 0x21, 0x7f, 0xa4, 0x49, 0x24, 0xf3, 0x1a, 0xff, 0x44, 0x53, 0x46, 0x66, 0x0f, 0x12, 0xf6, + 0x19, 0x26, 0xe6, 0xcd, 0xd0, 0xe3, 0x30, 0xc1, 0x0d, 0x13, 0x9f, 0x8f, 0xc3, 0xd2, 0x45, 0x6b, + 0xd4, 0x52, 0x89, 0x74, 0x11, 0xb3, 0x5b, 0x5e, 0x35, 0x69, 0x7f, 0x35, 0x1f, 0x82, 0xbc, 0x30, + 0x3e, 0x41, 0x2f, 0xc1, 0x6a, 0x38, 0x1e, 0xe7, 0x25, 0x78, 0x25, 0x1e, 0x23, 0xd1, 0x26, 0x5b, + 0x6f, 0x1b, 0xb8, 0xa5, 0x78, 0x53, 0x90, 0x5f, 0x98, 0x9d, 0x62, 0x2f, 0x56, 0xc4, 0xfc, 0x92, + 0x1e, 0x80, 0x1c, 0x6b, 0x6b, 0xa4, 0x89, 0x8b, 0x72, 0xad, 0xdf, 0x4d, 0x41, 0x5e, 0xb8, 0x8f, + 0x48, 0xa6, 0x40, 0x27, 0xd2, 0x37, 0xda, 0x89, 0x9b, 0x6f, 0x92, 0xee, 0x03, 0x44, 0x35, 0x45, + 0xb9, 0x6a, 0x3a, 0xba, 0xd1, 0x56, 0xd8, 0x58, 0xf0, 0x7b, 0x83, 0xf4, 0xcd, 0x65, 0xfa, 0x62, + 0x8d, 0x94, 0xdf, 0x73, 0x02, 0x8a, 0xbe, 0x2c, 0x17, 0x9a, 0x80, 0xcc, 0x45, 0x7c, 0xad, 0x32, + 0x86, 0x8a, 0x30, 0x21, 0x63, 0x9a, 0x23, 0xa8, 0xa4, 0xce, 0xbc, 0x31, 0x01, 0x53, 0xf3, 0xcd, + 0x85, 0xe5, 0xf9, 0x5e, 0xaf, 0xa3, 0xf3, 0xfb, 0x74, 0x97, 0x20, 0x4b, 0xd7, 0xc9, 0x09, 0xf6, + 0x77, 0x6a, 0x49, 0x12, 0x4e, 0x48, 0x86, 0x71, 0xba, 0x9c, 0x46, 0x49, 0xb6, 0x7d, 0x6a, 0x89, + 0xf2, 0x50, 0xa4, 0x91, 0x54, 0xe1, 0x12, 0xec, 0x06, 0xd5, 0x92, 0x24, 0xa7, 0xd0, 0xcf, 0x40, + 0xc1, 0x5b, 0x27, 0x27, 0xdd, 0x23, 0xaa, 0x25, 0x4e, 0x5b, 0x11, 0x7c, 0x6f, 0x65, 0x90, 0x74, + 0x6b, 0xa2, 0x96, 0x38, 0x5f, 0x83, 0x9e, 0x83, 0x09, 0xb1, 0x06, 0x4b, 0xb6, 0x8b, 0x53, 0x4b, + 0x98, 0x52, 0x22, 0xc3, 0xc7, 0x96, 0xce, 0x49, 0xb6, 0xaa, 0x6a, 0x89, 0xf2, 0x66, 0x68, 0x13, + 0x72, 0x3c, 0xf8, 0x4d, 0xb4, 0xd3, 0x53, 0x4b, 0x96, 0x28, 0x22, 0x42, 0xf6, 0x92, 0x13, 0x49, + 0xb7, 0xe7, 0x6a, 0x89, 0x13, 0x86, 0x48, 0x05, 0xf0, 0xad, 0xa7, 0x13, 0xef, 0xbb, 0xd5, 0x92, + 0x27, 0x02, 0xd1, 0x07, 0x21, 0xef, 0xae, 0x9a, 0x12, 0xee, 0xa4, 0xd5, 0x92, 0xe6, 0xe2, 0x9a, + 0x9b, 0x89, 0x4f, 0x49, 0xdc, 0x1b, 0x7b, 0x4a, 0xc2, 0xdb, 0xe4, 0x76, 0xb7, 0xc1, 0xff, 0x32, + 0x05, 0x47, 0xc3, 0xdb, 0xc9, 0xaa, 0xb1, 0x37, 0xe4, 0x40, 0xc0, 0x90, 0xd3, 0x22, 0x8f, 0x43, + 0x66, 0xde, 0xd8, 0x23, 0xc1, 0x06, 0xfd, 0xb6, 0x5f, 0xdf, 0xea, 0x88, 0x34, 0x1d, 0x79, 0xde, + 0xb4, 0x3a, 0xd1, 0xa7, 0x46, 0x1a, 0xd9, 0xef, 0x7f, 0xbe, 0x3e, 0xd6, 0xbc, 0x12, 0xd1, 0xab, + 0x98, 0xb3, 0x02, 0xf9, 0x79, 0x63, 0x4f, 0x1c, 0x13, 0x18, 0xa7, 0x1d, 0x3a, 0xe8, 0xf6, 0xff, + 0xeb, 0x25, 0x82, 0xec, 0xfb, 0x3e, 0x30, 0xef, 0x71, 0x8e, 0x3d, 0x0d, 0xd9, 0xe1, 0x8f, 0x3f, + 0x31, 0x50, 0x1b, 0x2e, 0x4d, 0xe9, 0x3c, 0x64, 0x17, 0x4c, 0x9d, 0x86, 0x3c, 0x2d, 0x6c, 0x98, + 0x5d, 0x91, 0xf3, 0xa4, 0x0f, 0xe8, 0x04, 0xe4, 0xd4, 0xae, 0xd9, 0x37, 0x1c, 0x11, 0x35, 0x13, + 0x57, 0xf2, 0x5f, 0xf7, 0xeb, 0x99, 0x65, 0xc3, 0x91, 0xf9, 0xab, 0x46, 0xf6, 0x2f, 0x5e, 0xad, + 0xa7, 0xa4, 0xa7, 0x60, 0x62, 0x11, 0x6b, 0x37, 0x82, 0xb5, 0x88, 0xb5, 0x10, 0xd6, 0x29, 0xc8, + 0x2f, 0x1b, 0x0e, 0xfb, 0x68, 0xd8, 0x6d, 0x90, 0xd1, 0x0d, 0xb6, 0x2d, 0x12, 0xaa, 0x9f, 0x94, + 0x13, 0xd2, 0x45, 0xac, 0xb9, 0xa4, 0x2d, 0xac, 0x85, 0x49, 0x09, 0x3c, 0x29, 0x97, 0x9a, 0x50, + 0xba, 0xac, 0x76, 0x78, 0xb8, 0x87, 0x6d, 0x74, 0x1f, 0x14, 0x54, 0xf1, 0x40, 0x57, 0x56, 0xa5, + 0x66, 0xf9, 0x07, 0xfb, 0x75, 0xf0, 0x88, 0x64, 0x8f, 0xa0, 0x91, 0x7d, 0xf9, 0xbf, 0x1d, 0x4f, + 0x49, 0x26, 0x4c, 0x9c, 0x57, 0x6d, 0x6a, 0xe9, 0x1f, 0x0c, 0x24, 0x52, 0x68, 0xa4, 0xd8, 0x3c, + 0x74, 0x7d, 0xbf, 0x3e, 0xbd, 0xa7, 0x76, 0x3b, 0x0d, 0xc9, 0x7b, 0x27, 0xf9, 0xf3, 0x2b, 0x73, + 0xbe, 0xfc, 0x0a, 0x8d, 0x24, 0x9b, 0x33, 0xd7, 0xf7, 0xeb, 0x53, 0x1e, 0x0f, 0x79, 0x23, 0xb9, + 0x49, 0x17, 0xa9, 0x07, 0x39, 0x16, 0xf4, 0x46, 0xee, 0x10, 0xf2, 0x94, 0x4f, 0xda, 0x4b, 0xf9, + 0x34, 0x0e, 0x94, 0x66, 0xe0, 0x71, 0x19, 0xe3, 0x68, 0x64, 0x3f, 0xfa, 0x6a, 0x7d, 0x4c, 0xb2, + 0x00, 0xad, 0xeb, 0xdd, 0x7e, 0x87, 0x5d, 0xfc, 0x16, 0x5b, 0x4d, 0x0f, 0xb2, 0x76, 0xd3, 0x74, + 0x12, 0x0b, 0xc8, 0xa6, 0xe6, 0xb8, 0x92, 0x72, 0x81, 0xb0, 0x38, 0xe3, 0x5b, 0xfb, 0xf5, 0x14, + 0x6d, 0x3d, 0x95, 0xd1, 0x5d, 0x90, 0x63, 0xa1, 0x3c, 0x8f, 0x7f, 0xca, 0x82, 0x87, 0xf5, 0x49, + 0xe6, 0x6f, 0xa5, 0x27, 0x60, 0x62, 0xd5, 0x6e, 0x2f, 0x92, 0x2e, 0x1d, 0x85, 0x7c, 0xd7, 0x6e, + 0x2b, 0xbe, 0x68, 0x6a, 0xa2, 0x6b, 0xb7, 0x37, 0x86, 0x44, 0x61, 0x7c, 0x58, 0xde, 0x0b, 0xb9, + 0x8d, 0x5d, 0xca, 0x7e, 0xc2, 0x95, 0x52, 0xc6, 0xdf, 0x46, 0x8e, 0x1e, 0x60, 0xfa, 0x48, 0x06, + 0x60, 0x63, 0xd7, 0xed, 0xe1, 0x90, 0x2d, 0x38, 0x24, 0x41, 0xce, 0xd9, 0x75, 0x23, 0xea, 0x42, + 0x13, 0x5e, 0xdb, 0xaf, 0xe7, 0x36, 0x76, 0xc9, 0xf2, 0x42, 0xe6, 0x6f, 0x82, 0xa9, 0xac, 0x4c, + 0x28, 0x95, 0xe5, 0x26, 0xf0, 0xb2, 0x11, 0x09, 0xbc, 0x71, 0xdf, 0x0e, 0xc0, 0x11, 0x98, 0xb0, + 0xd4, 0x6b, 0x0a, 0x19, 0x51, 0xf6, 0x15, 0xd2, 0x9c, 0xa5, 0x5e, 0x5b, 0x31, 0xdb, 0x68, 0x01, + 0xb2, 0x1d, 0xb3, 0x2d, 0xf2, 0x6e, 0x87, 0x45, 0xa7, 0x48, 0xc4, 0xc5, 0x4f, 0x13, 0xaf, 0x98, + 0xed, 0xe6, 0x11, 0x22, 0xff, 0x2f, 0xfd, 0x69, 0x7d, 0x2a, 0x58, 0x6e, 0xcb, 0x94, 0xd9, 0x4d, + 0x06, 0xe6, 0x87, 0x26, 0x03, 0x0b, 0xa3, 0x92, 0x81, 0x10, 0x4c, 0x06, 0xde, 0x41, 0xf7, 0x34, + 0xd9, 0x1e, 0xce, 0xec, 0x40, 0xf0, 0x39, 0x6f, 0xec, 0xd1, 0x5d, 0xd4, 0x5b, 0xa1, 0xe0, 0x1e, + 0x14, 0xe2, 0x9f, 0x7d, 0xf6, 0x0a, 0xb8, 0xbe, 0x7d, 0x34, 0x05, 0xe5, 0x60, 0x8b, 0x69, 0x3e, + 0xc7, 0x6e, 0xf3, 0x0f, 0xa6, 0xb2, 0xb4, 0x27, 0x51, 0x8a, 0x65, 0x91, 0x29, 0x0f, 0xe9, 0xfc, + 0x7c, 0x48, 0xe7, 0x67, 0x84, 0x80, 0xd8, 0xdd, 0x1d, 0xa6, 0xea, 0xb3, 0x5c, 0x3a, 0x25, 0x5f, + 0xa1, 0xed, 0xa9, 0x3e, 0xd5, 0x88, 0x9f, 0x85, 0xa2, 0xef, 0x6d, 0x64, 0x50, 0xff, 0x48, 0x44, + 0xb2, 0x63, 0xda, 0x1d, 0x10, 0xf1, 0x46, 0x6c, 0x21, 0x78, 0xa4, 0xae, 0xa2, 0x16, 0x5c, 0xa2, + 0xa4, 0xc7, 0x2b, 0x9a, 0x8b, 0x7f, 0xf2, 0x9d, 0x63, 0x63, 0x2f, 0xbf, 0x76, 0x6c, 0x6c, 0xe8, + 0xf9, 0x4c, 0x29, 0xfe, 0x0b, 0xf3, 0xae, 0x97, 0xf9, 0xd8, 0xfb, 0xe1, 0x56, 0x4e, 0x63, 0x3b, + 0xea, 0x15, 0xdd, 0x68, 0x8b, 0xbf, 0xdc, 0xdd, 0x94, 0x79, 0x6f, 0x78, 0xe9, 0x8d, 0xbb, 0x9d, + 0xb7, 0x7a, 0x68, 0xac, 0x16, 0xe5, 0x0d, 0xa5, 0xfd, 0x2c, 0xa0, 0x55, 0xbb, 0xbd, 0x60, 0x61, + 0xf6, 0xb1, 0x11, 0xbe, 0x4e, 0x0a, 0x5e, 0xf6, 0xe1, 0x36, 0xea, 0x96, 0xb9, 0x60, 0x5f, 0xdc, + 0xef, 0x46, 0x7b, 0x39, 0xa2, 0xc0, 0x15, 0xa1, 0x25, 0x00, 0x9a, 0x5e, 0xb1, 0x6d, 0x2f, 0x99, + 0x57, 0x0f, 0x63, 0x2c, 0xb8, 0x14, 0xb2, 0xea, 0x60, 0x5b, 0x8c, 0xb5, 0xc7, 0x88, 0x3e, 0x04, + 0x33, 0x5d, 0xdd, 0x50, 0x6c, 0xdc, 0xd9, 0x56, 0x5a, 0xb8, 0x43, 0x3f, 0xc5, 0xc2, 0x37, 0xee, + 0x0a, 0xcd, 0x15, 0xee, 0x98, 0xee, 0x8a, 0x1f, 0xb3, 0xb9, 0x65, 0xc3, 0xb9, 0xbe, 0x5f, 0xaf, + 0x31, 0xef, 0x10, 0x01, 0x29, 0xc9, 0xd3, 0x5d, 0xdd, 0x58, 0xc7, 0x9d, 0xed, 0x45, 0xb7, 0x0c, + 0xbd, 0x04, 0xd3, 0x9c, 0xc2, 0xf4, 0x92, 0x1e, 0xc4, 0xf6, 0x94, 0x9a, 0xab, 0xd7, 0xf7, 0xeb, + 0x55, 0x86, 0x36, 0x40, 0x22, 0xfd, 0x60, 0xbf, 0x7e, 0x7f, 0x82, 0x36, 0xcd, 0x6b, 0x9a, 0x70, + 0x8f, 0x15, 0x17, 0x84, 0x97, 0x90, 0xba, 0xbd, 0x04, 0xbd, 0xa8, 0x7b, 0x3c, 0x5c, 0xf7, 0x00, + 0x49, 0xd2, 0xba, 0x7d, 0xae, 0xd9, 0xcb, 0xe0, 0x8b, 0xba, 0x0f, 0x43, 0xae, 0xd7, 0xdf, 0x12, + 0xbb, 0x68, 0x05, 0x99, 0x3f, 0xa1, 0x93, 0xfe, 0x8d, 0xb4, 0xe2, 0x99, 0x92, 0x18, 0x4f, 0x12, + 0xab, 0xb8, 0x69, 0x4e, 0x16, 0xfb, 0xd1, 0xe8, 0xe3, 0x6b, 0x19, 0xa8, 0xac, 0xda, 0xed, 0xa5, + 0x96, 0xee, 0xdc, 0x64, 0xf5, 0xea, 0x45, 0x49, 0x87, 0x7a, 0xb3, 0xe6, 0xc2, 0xf5, 0xfd, 0x7a, + 0x99, 0x49, 0xe7, 0x66, 0xca, 0xa4, 0x0b, 0x53, 0x9e, 0x5e, 0x2a, 0x96, 0xea, 0x70, 0xf7, 0xd4, + 0x5c, 0x4c, 0xa8, 0x81, 0x8b, 0x58, 0xbb, 0xbe, 0x5f, 0x3f, 0xcc, 0x5a, 0x16, 0x82, 0x92, 0xe4, + 0xb2, 0x16, 0x98, 0x0b, 0x68, 0x37, 0x5a, 0xf1, 0xe9, 0xfe, 0x53, 0xf3, 0xc2, 0xdb, 0xa8, 0xf4, + 0x7c, 0xe8, 0xbe, 0x9a, 0x86, 0x22, 0x71, 0xf5, 0xac, 0x1c, 0x47, 0x4f, 0x85, 0xd4, 0x8f, 0x70, + 0x2a, 0xa4, 0xdf, 0x99, 0xa9, 0x70, 0x8f, 0x1b, 0x6b, 0x67, 0x86, 0xea, 0x7c, 0x30, 0xe4, 0xfe, + 0x8f, 0x19, 0x6a, 0x55, 0xe9, 0x0a, 0x52, 0xc6, 0xad, 0x77, 0x83, 0x00, 0x7f, 0x2e, 0x05, 0x87, + 0x3c, 0xf1, 0xd8, 0x96, 0x16, 0x92, 0xe2, 0x33, 0xd7, 0xf7, 0xeb, 0xb7, 0x86, 0xa5, 0xe8, 0x23, + 0xbb, 0x01, 0x49, 0xce, 0xb8, 0x40, 0xeb, 0x96, 0x16, 0xdd, 0x8e, 0x96, 0xed, 0xb8, 0xed, 0xc8, + 0x0c, 0x6f, 0x87, 0x8f, 0xec, 0x2d, 0xb5, 0x63, 0xd1, 0x76, 0x06, 0x07, 0x35, 0x9b, 0x70, 0x50, + 0xbf, 0x9e, 0x86, 0xc9, 0x55, 0xbb, 0xbd, 0x69, 0xb4, 0x7e, 0x32, 0x21, 0x0e, 0x3a, 0x21, 0x3e, + 0x9e, 0x82, 0xf2, 0x05, 0xdd, 0x76, 0x4c, 0x4b, 0xd7, 0xd4, 0x0e, 0x5d, 0xcd, 0x78, 0x67, 0x24, + 0x53, 0x07, 0x3f, 0x23, 0xf9, 0x08, 0xe4, 0xae, 0xaa, 0x1d, 0xf6, 0xef, 0x8a, 0x32, 0x74, 0x8f, + 0x30, 0xe4, 0x3b, 0xc2, 0x39, 0x60, 0x4e, 0xce, 0x9b, 0xf3, 0x3b, 0x69, 0x98, 0x0a, 0x05, 0x1e, + 0xa8, 0x09, 0x59, 0x6a, 0xd1, 0xd9, 0x82, 0x77, 0xee, 0x00, 0x71, 0x05, 0x59, 0x13, 0x53, 0x5e, + 0xf4, 0x53, 0x90, 0xef, 0xaa, 0xbb, 0xcc, 0x33, 0xb0, 0xf5, 0xcd, 0xfc, 0xc1, 0x70, 0xbc, 0xd5, + 0xab, 0xc0, 0x91, 0xe4, 0x89, 0xae, 0xba, 0x4b, 0xfd, 0x41, 0x0f, 0xa6, 0x48, 0xa9, 0xb6, 0xa3, + 0x1a, 0x6d, 0xec, 0x77, 0x3f, 0x17, 0x0e, 0x5c, 0xc9, 0x61, 0xaf, 0x12, 0x1f, 0x9c, 0x24, 0x4f, + 0x76, 0xd5, 0xdd, 0x05, 0x5a, 0x40, 0x6a, 0x6c, 0xe4, 0x5f, 0x79, 0xb5, 0x3e, 0x46, 0x25, 0xf6, + 0xef, 0x53, 0x00, 0x9e, 0xc4, 0xd0, 0x06, 0x54, 0x42, 0xee, 0x4b, 0x9c, 0x31, 0x8a, 0x0d, 0xf0, + 0xbc, 0x85, 0xed, 0x94, 0x16, 0x1a, 0x82, 0x0f, 0x42, 0x91, 0x9d, 0x12, 0x50, 0x68, 0x32, 0x3e, + 0x1d, 0x9b, 0x8c, 0x3f, 0x46, 0xb0, 0xae, 0xef, 0xd7, 0x11, 0xeb, 0x8e, 0x8f, 0x59, 0xa2, 0x29, + 0x7a, 0x60, 0x25, 0x84, 0x21, 0xd8, 0x97, 0xa2, 0x2f, 0xb6, 0xa0, 0x67, 0xcf, 0x4c, 0x43, 0xbf, + 0x82, 0x2d, 0x77, 0x8d, 0xcc, 0x1e, 0x51, 0x0d, 0xf2, 0xec, 0xab, 0x82, 0xce, 0x9e, 0xf8, 0x77, + 0x15, 0xe2, 0x99, 0x70, 0x5d, 0xc3, 0x5b, 0xb6, 0x2e, 0x46, 0x41, 0x16, 0x8f, 0xe8, 0x1c, 0x54, + 0x6c, 0xac, 0xf5, 0x2d, 0xdd, 0xd9, 0x53, 0x34, 0xd3, 0x70, 0x54, 0xcd, 0xe1, 0x4e, 0xfb, 0x96, + 0xeb, 0xfb, 0xf5, 0x23, 0xac, 0xad, 0x61, 0x0a, 0x49, 0x9e, 0x12, 0x45, 0x0b, 0xac, 0x84, 0xd4, + 0xd0, 0xc2, 0x8e, 0xaa, 0x77, 0x6c, 0xbe, 0xb0, 0x15, 0x8f, 0xbe, 0xbe, 0xfc, 0xf6, 0x84, 0x7f, + 0x33, 0xea, 0x1a, 0x54, 0xcc, 0x1e, 0xb6, 0x22, 0xec, 0xd1, 0x8a, 0x57, 0x73, 0x98, 0xe2, 0x06, + 0x4c, 0xc2, 0x94, 0xc0, 0x10, 0x16, 0xe1, 0x5c, 0xe0, 0xcc, 0x19, 0x8b, 0x1b, 0xd3, 0xe1, 0x2e, + 0x87, 0x29, 0x24, 0xff, 0x41, 0x33, 0x16, 0x5d, 0x1e, 0x86, 0xdc, 0x0b, 0xaa, 0xde, 0x11, 0x9f, + 0x5a, 0x95, 0xf9, 0x13, 0x5a, 0x86, 0x9c, 0xed, 0xa8, 0x4e, 0x9f, 0x85, 0xde, 0xe3, 0xcd, 0xf7, + 0x24, 0x6c, 0x73, 0xd3, 0x34, 0x5a, 0xeb, 0x94, 0x51, 0xe6, 0x00, 0xe8, 0x1c, 0xe4, 0x1c, 0xf3, + 0x0a, 0x36, 0xb8, 0x50, 0x0f, 0x34, 0xd3, 0x69, 0xa2, 0x8e, 0x71, 0x23, 0x07, 0x3c, 0xa3, 0xac, + 0xd8, 0x3b, 0xaa, 0x85, 0x6d, 0x16, 0x2a, 0x37, 0x97, 0x0f, 0x3c, 0x1d, 0x8f, 0x84, 0x3d, 0x05, + 0xc3, 0x93, 0xe4, 0x29, 0xb7, 0x68, 0x9d, 0x96, 0x84, 0x23, 0xe7, 0x89, 0x1b, 0x8a, 0x9c, 0xcf, + 0x41, 0xa5, 0x6f, 0x6c, 0x99, 0x06, 0xfd, 0x2c, 0x22, 0x4f, 0xd3, 0xe4, 0x8f, 0xa7, 0x4e, 0x66, + 0xfc, 0xa3, 0x15, 0xa6, 0x90, 0xe4, 0x29, 0xb7, 0x88, 0x9f, 0x7e, 0x6c, 0x41, 0xd9, 0xa3, 0xa2, + 0x53, 0xb6, 0x10, 0x3b, 0x65, 0x6f, 0xe7, 0x53, 0xf6, 0x50, 0xb8, 0x16, 0x6f, 0xd6, 0x4e, 0xba, + 0x85, 0x84, 0x0d, 0xbd, 0x3f, 0xb0, 0x8c, 0x04, 0x5e, 0xc3, 0x50, 0x2b, 0x93, 0x7c, 0x05, 0x59, + 0x7c, 0x47, 0x56, 0x90, 0x8d, 0xd2, 0x47, 0x5f, 0xad, 0x8f, 0xb9, 0x13, 0xf6, 0x17, 0xd3, 0x90, + 0x5b, 0xbc, 0x4c, 0xaf, 0x51, 0xfe, 0x98, 0x86, 0x0f, 0x3e, 0xeb, 0xf5, 0x3e, 0x98, 0x60, 0xb2, + 0xb0, 0xd1, 0x19, 0x18, 0xef, 0x91, 0x1f, 0x3c, 0xd7, 0x78, 0x78, 0x40, 0xa5, 0x29, 0x9d, 0x58, + 0x61, 0x52, 0x52, 0xe9, 0x0b, 0x19, 0x80, 0xc5, 0xcb, 0x97, 0x37, 0x2c, 0xbd, 0xd7, 0xc1, 0xce, + 0x4f, 0xc2, 0xeb, 0x77, 0x4f, 0x78, 0xed, 0x1b, 0xe3, 0xa7, 0xa1, 0xe8, 0x8d, 0x91, 0x8d, 0x1e, + 0x87, 0xbc, 0xc3, 0x7f, 0xf3, 0xa1, 0xae, 0x0d, 0x0e, 0xb5, 0x20, 0xe7, 0xc3, 0xed, 0x72, 0x48, + 0xff, 0x25, 0x0d, 0x10, 0x97, 0x9c, 0xf9, 0x31, 0x08, 0xc0, 0xcf, 0x41, 0x8e, 0x7b, 0x9c, 0xcc, + 0x0d, 0x45, 0xab, 0x9c, 0xdb, 0x37, 0x4a, 0xdf, 0x49, 0xc3, 0xcc, 0xa6, 0x30, 0xbb, 0x3f, 0x91, + 0x30, 0xba, 0x00, 0x13, 0xd8, 0x70, 0x2c, 0x1d, 0x8b, 0x34, 0xf8, 0xc9, 0xb0, 0x96, 0x46, 0x48, + 0x8b, 0xfe, 0xbb, 0x04, 0x71, 0x5a, 0x8e, 0xb3, 0xfb, 0x64, 0xfc, 0x89, 0x0c, 0x54, 0x87, 0x71, + 0xa1, 0x05, 0x98, 0xd2, 0x2c, 0x4c, 0x0b, 0x14, 0xff, 0xce, 0x49, 0xb3, 0xe6, 0xcb, 0x18, 0x05, + 0x09, 0x24, 0xb9, 0x2c, 0x4a, 0xb8, 0x43, 0x6e, 0xd3, 0x04, 0x15, 0x99, 0x2a, 0x84, 0x2a, 0x61, + 0x10, 0x2d, 0x71, 0x8f, 0xec, 0xa5, 0xa5, 0xfc, 0x00, 0xcc, 0x25, 0x97, 0xbd, 0x52, 0xea, 0x93, + 0x5f, 0x84, 0x29, 0xdd, 0xd0, 0x1d, 0x5d, 0xed, 0x28, 0x5b, 0x6a, 0x47, 0x35, 0xb4, 0x1b, 0x59, + 0x8a, 0x30, 0x6f, 0xca, 0xab, 0x0d, 0xc1, 0x49, 0x72, 0x99, 0x97, 0x34, 0x59, 0x01, 0x19, 0x11, + 0x51, 0x55, 0xf6, 0x86, 0x02, 0x37, 0xc1, 0xee, 0x1b, 0x91, 0x5f, 0xca, 0xc0, 0xb4, 0x9b, 0x9f, + 0xf9, 0xc9, 0x50, 0x24, 0x1d, 0x8a, 0x55, 0x00, 0x66, 0x40, 0x88, 0xe7, 0xb8, 0x81, 0xd1, 0x20, + 0x26, 0xa8, 0xc0, 0x10, 0x16, 0x6d, 0xc7, 0x37, 0x1e, 0x7f, 0x9e, 0x81, 0x92, 0x7f, 0x3c, 0x7e, + 0xe2, 0xd2, 0xdf, 0x45, 0x19, 0xb3, 0x79, 0xcf, 0x24, 0x66, 0xf9, 0x77, 0x51, 0x42, 0x26, 0x71, + 0x60, 0x2a, 0x0d, 0xb7, 0x85, 0x7f, 0x95, 0x86, 0x1c, 0x3f, 0x97, 0xad, 0x0d, 0xac, 0x22, 0x52, + 0x71, 0xe7, 0xbe, 0x47, 0x2f, 0x22, 0x5e, 0x89, 0x5c, 0x44, 0x94, 0xbb, 0xea, 0xae, 0x12, 0xb8, + 0xc5, 0x94, 0x3a, 0x39, 0xd9, 0x3c, 0xea, 0xa1, 0x04, 0xdf, 0xb3, 0x5c, 0x88, 0x77, 0x26, 0x17, + 0x3d, 0x02, 0x45, 0x42, 0xe1, 0x79, 0x05, 0xc2, 0x7e, 0xd8, 0x4b, 0x3e, 0xf8, 0x5e, 0x4a, 0x32, + 0x74, 0xd5, 0xdd, 0x25, 0xf6, 0x80, 0x56, 0x00, 0xed, 0xb8, 0xa9, 0x2f, 0xc5, 0x13, 0x21, 0xe1, + 0xbf, 0xed, 0xfa, 0x7e, 0xfd, 0x28, 0xe3, 0x1f, 0xa4, 0x91, 0xe4, 0x69, 0xaf, 0x50, 0xa0, 0x3d, + 0x08, 0x40, 0xfa, 0xa5, 0xb0, 0x33, 0x21, 0x6c, 0x09, 0xeb, 0x3b, 0x28, 0xe1, 0xbd, 0x93, 0xe4, + 0x02, 0x79, 0x58, 0x24, 0xbf, 0x7d, 0x82, 0xff, 0xe5, 0x14, 0x20, 0xcf, 0xf7, 0xb8, 0xfb, 0xf5, + 0xef, 0xa7, 0xf7, 0x12, 0xc5, 0xca, 0x28, 0x15, 0xbd, 0xc8, 0xf2, 0xf8, 0xc4, 0x22, 0xcb, 0x37, + 0x55, 0xef, 0xf3, 0xec, 0x73, 0x7a, 0x68, 0x56, 0x30, 0xc2, 0x06, 0xff, 0xeb, 0x14, 0x1c, 0x1d, + 0x50, 0x1c, 0xb7, 0x5d, 0x97, 0x01, 0x59, 0xbe, 0x97, 0xfc, 0x3f, 0x14, 0xa5, 0xf8, 0x7f, 0xfc, + 0x4b, 0xa8, 0x7f, 0xd3, 0xd6, 0x80, 0x8d, 0xbf, 0x79, 0xde, 0x84, 0x67, 0x14, 0x53, 0x30, 0xeb, + 0xaf, 0xde, 0xed, 0xc0, 0x39, 0x28, 0xf9, 0x6b, 0xe7, 0x4d, 0xbf, 0x75, 0x54, 0xd3, 0x79, 0xab, + 0x03, 0x7c, 0x68, 0xd9, 0x9b, 0x7d, 0xe2, 0x9f, 0x4e, 0xc6, 0xf5, 0xde, 0x3d, 0xc8, 0x16, 0x9a, + 0x85, 0xac, 0xc5, 0xff, 0x2f, 0x05, 0xd9, 0x35, 0xd3, 0xec, 0x20, 0x13, 0xa6, 0x0d, 0xd3, 0x51, + 0x88, 0xb2, 0xe0, 0x96, 0xc2, 0x73, 0x23, 0x2c, 0x0b, 0xba, 0x70, 0x30, 0xa1, 0x7c, 0x6f, 0xbf, + 0x3e, 0x08, 0x25, 0x4f, 0x19, 0xa6, 0xd3, 0xa4, 0x25, 0x1b, 0x2c, 0x73, 0xf2, 0x21, 0x98, 0x0c, + 0x56, 0xc6, 0x32, 0x45, 0xcf, 0x1e, 0xb8, 0xb2, 0x20, 0xcc, 0xf5, 0xfd, 0xfa, 0xac, 0x37, 0x09, + 0xdc, 0x62, 0x49, 0x2e, 0x6d, 0xf9, 0x6a, 0x6f, 0xe4, 0x49, 0xef, 0xbf, 0xff, 0x6a, 0x3d, 0xd5, + 0x3c, 0x37, 0xf4, 0x04, 0xc0, 0x7d, 0x23, 0x9b, 0xb0, 0xeb, 0x6e, 0xf5, 0x07, 0xcf, 0x02, 0x7c, + 0xea, 0x34, 0xd4, 0x42, 0x67, 0x01, 0xe8, 0x3d, 0xe4, 0x21, 0x27, 0x01, 0x46, 0xff, 0x03, 0xff, + 0x21, 0x07, 0x05, 0x46, 0x1e, 0x36, 0x90, 0xae, 0xc0, 0x61, 0x7a, 0x94, 0xd3, 0x33, 0x5b, 0xe2, + 0x2b, 0x31, 0x87, 0xdd, 0x04, 0x5a, 0x8a, 0xff, 0xbf, 0x70, 0x96, 0x0d, 0x7b, 0x0c, 0xc0, 0xab, + 0xd9, 0xbd, 0x70, 0xc3, 0x5b, 0xca, 0x5a, 0xcf, 0xfe, 0x91, 0x3f, 0x85, 0x91, 0x7d, 0xc4, 0xd2, + 0xaf, 0xa5, 0xe0, 0xc8, 0x40, 0x6d, 0x5c, 0xeb, 0x9f, 0x0c, 0x5c, 0x18, 0x4d, 0x25, 0xcb, 0xd1, + 0xfb, 0xbf, 0xfc, 0xd0, 0x88, 0x68, 0x57, 0x2d, 0xaa, 0x5d, 0xac, 0xc2, 0x40, 0xc3, 0x5e, 0x84, + 0x43, 0xc1, 0x76, 0x09, 0x21, 0x3c, 0x07, 0xe5, 0xe0, 0x6a, 0x81, 0x87, 0x12, 0xef, 0x39, 0xb8, + 0x87, 0x9c, 0x0c, 0xac, 0x18, 0xa4, 0x67, 0xc3, 0x82, 0x77, 0x25, 0xf1, 0xbe, 0xc1, 0xc3, 0xf7, + 0xb1, 0x82, 0xf0, 0xdd, 0xcd, 0xfa, 0x6a, 0x0a, 0x8e, 0x07, 0x91, 0x3d, 0x23, 0x6c, 0xbf, 0xed, + 0xfd, 0x7a, 0x2b, 0xea, 0xf1, 0x9f, 0x52, 0x70, 0xfb, 0x88, 0x96, 0x73, 0xf1, 0x58, 0x30, 0xeb, + 0xb3, 0xee, 0x16, 0x2f, 0x16, 0x2a, 0x23, 0x0d, 0xf7, 0x40, 0xae, 0x71, 0xbb, 0x85, 0x1f, 0x45, + 0x9a, 0x19, 0x7c, 0x67, 0xcb, 0x33, 0x83, 0x16, 0xf9, 0xad, 0xe9, 0xd6, 0x37, 0x52, 0x70, 0x2a, + 0xd8, 0xab, 0x88, 0x15, 0xdd, 0xbb, 0x7b, 0x60, 0xfe, 0x4d, 0x0a, 0xee, 0x49, 0xd2, 0x05, 0x3e, + 0x42, 0xcf, 0xc3, 0x8c, 0x17, 0x5f, 0x85, 0x07, 0xe8, 0x44, 0x82, 0x55, 0x31, 0x57, 0x6a, 0xe4, + 0xa2, 0xdc, 0x9c, 0x91, 0xf8, 0xa3, 0x14, 0x9f, 0x73, 0xfe, 0x71, 0x77, 0xc5, 0x1e, 0x5c, 0x12, + 0x1c, 0x50, 0xec, 0xbe, 0x65, 0xc1, 0x64, 0x60, 0x59, 0x10, 0x31, 0xa0, 0xe9, 0x9b, 0x64, 0x41, + 0x0c, 0x6e, 0x4c, 0x23, 0x62, 0xb3, 0x75, 0x98, 0x89, 0x98, 0x23, 0xee, 0x85, 0xd3, 0xd8, 0x29, + 0x22, 0xa3, 0xc1, 0x59, 0x20, 0xfd, 0xe7, 0x14, 0xd4, 0x69, 0x85, 0x11, 0x23, 0xf6, 0x37, 0x59, + 0x8e, 0x98, 0xdb, 0xcb, 0xc8, 0x6e, 0x71, 0x81, 0xce, 0x43, 0x8e, 0x29, 0x23, 0x97, 0xe1, 0x01, + 0xb4, 0x98, 0x33, 0x7a, 0x76, 0x79, 0x51, 0xf4, 0x2b, 0x7a, 0xfa, 0xbf, 0x4d, 0xf2, 0x7b, 0x0b, + 0xd3, 0xff, 0x5f, 0x09, 0xbb, 0x1c, 0xdd, 0x72, 0x2e, 0xa2, 0x0f, 0xbe, 0x65, 0xbb, 0xcc, 0x3f, + 0x18, 0xf4, 0xb6, 0x19, 0x60, 0xb7, 0xf9, 0x31, 0x06, 0xf8, 0xdd, 0x37, 0x02, 0xae, 0x01, 0x8e, + 0xe9, 0xc2, 0xbb, 0xdc, 0x00, 0x5f, 0x4f, 0xc3, 0x51, 0xda, 0x0d, 0xff, 0xc2, 0xe3, 0x1d, 0x90, + 0xbc, 0x02, 0xc8, 0xb6, 0x34, 0xe5, 0x66, 0xd9, 0x8f, 0x8a, 0x6d, 0x69, 0x97, 0x03, 0xbe, 0x55, + 0x01, 0xd4, 0xb2, 0x9d, 0x70, 0x05, 0x99, 0x1b, 0xae, 0xa0, 0x65, 0x3b, 0x97, 0x47, 0x38, 0xef, + 0xec, 0x41, 0x74, 0xe7, 0x0f, 0x52, 0x50, 0x8b, 0x12, 0x3a, 0xd7, 0x15, 0x15, 0x0e, 0x07, 0x96, + 0xcb, 0x61, 0x75, 0xb9, 0x63, 0xd4, 0xa2, 0x31, 0x34, 0x75, 0x0f, 0x59, 0xf8, 0x66, 0x4f, 0xde, + 0xaf, 0x08, 0xa7, 0xe3, 0x6a, 0xfe, 0xe0, 0x4a, 0xe5, 0x5d, 0x39, 0x65, 0x7f, 0x73, 0xc0, 0xdc, + 0xbf, 0xdb, 0x16, 0x3d, 0x7f, 0x9c, 0x82, 0x63, 0x43, 0x5a, 0xf8, 0x37, 0xd9, 0x9d, 0xff, 0xec, + 0x50, 0x85, 0xb9, 0x59, 0x2b, 0xac, 0x07, 0xf9, 0x84, 0x0a, 0x1e, 0x4f, 0xf3, 0xad, 0x9b, 0x23, + 0x3f, 0x25, 0xf7, 0x0c, 0xdc, 0x12, 0xc9, 0xc5, 0xdb, 0x74, 0x06, 0xb2, 0x3b, 0xba, 0xed, 0xb8, + 0xdf, 0x57, 0x08, 0x35, 0x27, 0xc4, 0x45, 0x69, 0x25, 0x04, 0x15, 0x0a, 0xb9, 0x66, 0x9a, 0x1d, + 0x5e, 0xbd, 0xb4, 0x00, 0xd3, 0xbe, 0x32, 0x0e, 0x3e, 0x07, 0xd9, 0x9e, 0x69, 0x76, 0x38, 0xf8, + 0x6c, 0x18, 0x9c, 0xd0, 0xf2, 0x6e, 0x52, 0x3a, 0x69, 0x16, 0x10, 0x03, 0x61, 0x5f, 0xfe, 0xe0, + 0xd0, 0x4f, 0xc3, 0x4c, 0xa0, 0xd4, 0xbd, 0x9a, 0x94, 0x0b, 0x7c, 0x33, 0x6a, 0x60, 0x23, 0x9e, + 0xd1, 0xbb, 0x97, 0xd0, 0xe9, 0xd3, 0x99, 0x3f, 0x2c, 0x89, 0xfb, 0xa8, 0x0a, 0x80, 0x2f, 0x69, + 0x7a, 0x57, 0x98, 0x3b, 0x3a, 0x3d, 0x51, 0xbb, 0x3b, 0x96, 0x8e, 0x87, 0xad, 0x63, 0xe8, 0xa7, + 0xfc, 0x07, 0x9e, 0xee, 0x1c, 0xcd, 0x27, 0xe0, 0xef, 0x8a, 0x23, 0x73, 0xd1, 0xff, 0x16, 0xcc, + 0x46, 0xad, 0x57, 0xd1, 0x03, 0xa3, 0x11, 0x06, 0x43, 0x8f, 0xda, 0x7b, 0x0e, 0xc0, 0xe1, 0x56, + 0xff, 0x4a, 0x0a, 0x6e, 0x1b, 0xb9, 0x2c, 0x43, 0x8f, 0x8d, 0x86, 0x1d, 0x11, 0x0c, 0xd5, 0x1a, + 0x37, 0xc2, 0xea, 0x36, 0x4d, 0x09, 0xec, 0xbc, 0x47, 0x4b, 0x74, 0x60, 0x09, 0x31, 0x64, 0x60, + 0x07, 0xc3, 0x45, 0x69, 0x0c, 0xbd, 0x14, 0xbd, 0x03, 0x7d, 0x3a, 0x12, 0x61, 0xf8, 0xaa, 0xa5, + 0xf6, 0x40, 0x72, 0x06, 0xff, 0xb0, 0x47, 0x85, 0xc3, 0x43, 0x86, 0x7d, 0x44, 0xcc, 0x3f, 0x64, + 0xd8, 0x47, 0xc5, 0xda, 0x7c, 0xd8, 0x47, 0x06, 0x83, 0x43, 0x86, 0x3d, 0x49, 0x0c, 0x3c, 0x64, + 0xd8, 0x13, 0xc5, 0x9e, 0xd2, 0x18, 0xda, 0x81, 0xc9, 0x40, 0xa8, 0x81, 0x4e, 0x45, 0xc2, 0x45, + 0xc5, 0x80, 0xb5, 0x7b, 0x92, 0x90, 0xfa, 0xc7, 0x3f, 0xc2, 0xbb, 0x0e, 0x19, 0xff, 0xe1, 0x01, + 0x44, 0xed, 0x81, 0xe4, 0x0c, 0x6e, 0xdd, 0xd7, 0xdc, 0x4d, 0x11, 0x1f, 0x01, 0x9a, 0x4b, 0x88, + 0x24, 0x6a, 0x3e, 0x9d, 0x98, 0xde, 0xad, 0xf8, 0xca, 0xc0, 0xb9, 0xe8, 0x68, 0xa1, 0x45, 0x7a, + 0xa7, 0xda, 0xbd, 0x89, 0x68, 0xdd, 0xca, 0x56, 0x79, 0xc6, 0xff, 0x78, 0x24, 0x9b, 0xcf, 0xef, + 0xd4, 0x6e, 0x1f, 0x41, 0xe1, 0xc2, 0xad, 0xbb, 0x5b, 0x78, 0x52, 0x34, 0xb9, 0xdf, 0xdf, 0xd4, + 0x4e, 0x8c, 0xa4, 0x11, 0xa0, 0x37, 0x3d, 0x29, 0xff, 0xe5, 0xfc, 0xc0, 0x05, 0xbd, 0x36, 0x36, + 0xb0, 0xad, 0xdb, 0x07, 0xba, 0xa0, 0x37, 0x3a, 0xef, 0xfe, 0xf3, 0x39, 0x28, 0x9d, 0x67, 0xa8, + 0xf4, 0xab, 0xc4, 0xe8, 0x89, 0x84, 0x5e, 0xb4, 0x4c, 0xbc, 0xe8, 0x0f, 0xf6, 0xeb, 0x5c, 0x90, + 0xc2, 0x9f, 0x22, 0x9b, 0x7f, 0x9e, 0x88, 0x7d, 0x5a, 0xc4, 0xfb, 0xbe, 0x4b, 0xe9, 0x40, 0x87, + 0x4b, 0xd9, 0xae, 0x3e, 0x3f, 0xcf, 0x19, 0xc6, 0x93, 0xd8, 0x97, 0x8e, 0x36, 0x48, 0x09, 0xfd, + 0x38, 0x09, 0xfa, 0x54, 0x0a, 0x0e, 0x51, 0x2a, 0x2f, 0x96, 0xa3, 0x94, 0xe2, 0x08, 0xcc, 0xc0, + 0x28, 0xaf, 0xa8, 0xbe, 0x95, 0x0d, 0xc5, 0x68, 0x36, 0xf8, 0xce, 0xec, 0xad, 0xbe, 0x4a, 0xc3, + 0x70, 0xd2, 0x0f, 0xf6, 0xeb, 0x68, 0x90, 0x57, 0xa6, 0x9f, 0xd2, 0x0c, 0x96, 0x45, 0x7f, 0x50, + 0x7a, 0x44, 0x78, 0x37, 0xcd, 0x05, 0xea, 0xc5, 0x08, 0x81, 0x08, 0x7b, 0x0d, 0x8a, 0x3e, 0xe3, + 0x53, 0x1d, 0x1f, 0x72, 0x00, 0xcd, 0x5b, 0x3a, 0x23, 0x8e, 0xe7, 0xf3, 0x7d, 0xb2, 0x1f, 0x02, + 0xfd, 0x6a, 0x0a, 0x0e, 0x79, 0xcb, 0x73, 0x3f, 0x78, 0x2e, 0xf9, 0x02, 0xfd, 0x6c, 0x50, 0x6a, + 0x91, 0x78, 0x44, 0x6a, 0x51, 0x0e, 0x52, 0x9e, 0xed, 0x47, 0x39, 0x8c, 0xe7, 0x60, 0xd2, 0xbf, + 0x7e, 0xf3, 0x3e, 0x33, 0x38, 0x6a, 0xe3, 0x71, 0x96, 0xf7, 0x36, 0x70, 0x08, 0x43, 0x0e, 0x02, + 0xa1, 0x1a, 0xe4, 0xf1, 0x6e, 0xcf, 0xb4, 0x1c, 0xdc, 0xa2, 0xa7, 0x86, 0xf3, 0xb2, 0xfb, 0x2c, + 0x5d, 0x83, 0x88, 0x81, 0x45, 0x4f, 0x87, 0xbe, 0x91, 0x74, 0x23, 0xeb, 0x82, 0xc1, 0xcf, 0x2a, + 0xf9, 0xbf, 0x77, 0x74, 0xb3, 0xcd, 0xc6, 0xff, 0x0f, 0x00, 0x00, 0xff, 0xff, 0x80, 0x62, 0x08, + 0xbb, 0x61, 0x9b, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) diff --git a/x/upgrade/types/query.pb.go b/x/upgrade/types/query.pb.go index 6c1218611e..3edc0920ff 100644 --- a/x/upgrade/types/query.pb.go +++ b/x/upgrade/types/query.pb.go @@ -27,7 +27,7 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package -// QueryCurrentPlanRequest is the request type for the Query/CurrentPlan RPC method +// QueryCurrentPlanRequest is the request type for the Query/CurrentPlan RPC method. type QueryCurrentPlanRequest struct { } @@ -64,9 +64,9 @@ func (m *QueryCurrentPlanRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryCurrentPlanRequest proto.InternalMessageInfo -// QueryCurrentPlanResponse is the response type for the Query/CurrentPlan RPC method +// QueryCurrentPlanResponse is the response type for the Query/CurrentPlan RPC method. type QueryCurrentPlanResponse struct { - // plan is the current upgrade plan + // plan is the current upgrade plan. Plan *Plan `protobuf:"bytes,1,opt,name=plan,proto3" json:"plan,omitempty"` } @@ -110,9 +110,9 @@ func (m *QueryCurrentPlanResponse) GetPlan() *Plan { return nil } -// QueryCurrentPlanRequest is the request type for the Query/AppliedPlan RPC method +// QueryCurrentPlanRequest is the request type for the Query/AppliedPlan RPC method. type QueryAppliedPlanRequest struct { - // name is the name of the applied plan to query for + // name is the name of the applied plan to query for. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -156,9 +156,9 @@ func (m *QueryAppliedPlanRequest) GetName() string { return "" } -// QueryAppliedPlanResponse is the response type for the Query/AppliedPlan RPC method +// QueryAppliedPlanResponse is the response type for the Query/AppliedPlan RPC method. type QueryAppliedPlanResponse struct { - // height is the block height at which the plan was applied + // height is the block height at which the plan was applied. Height int64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"` } @@ -245,9 +245,9 @@ const _ = grpc.SupportPackageIsVersion4 // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type QueryClient interface { - // CurrentPlan queries the current upgrade plan + // CurrentPlan queries the current upgrade plan. CurrentPlan(ctx context.Context, in *QueryCurrentPlanRequest, opts ...grpc.CallOption) (*QueryCurrentPlanResponse, error) - // AppliedPlan queries a previously applied upgrade plan by its name + // AppliedPlan queries a previously applied upgrade plan by its name. AppliedPlan(ctx context.Context, in *QueryAppliedPlanRequest, opts ...grpc.CallOption) (*QueryAppliedPlanResponse, error) } @@ -279,9 +279,9 @@ func (c *queryClient) AppliedPlan(ctx context.Context, in *QueryAppliedPlanReque // QueryServer is the server API for Query service. type QueryServer interface { - // CurrentPlan queries the current upgrade plan + // CurrentPlan queries the current upgrade plan. CurrentPlan(context.Context, *QueryCurrentPlanRequest) (*QueryCurrentPlanResponse, error) - // AppliedPlan queries a previously applied upgrade plan by its name + // AppliedPlan queries a previously applied upgrade plan by its name. AppliedPlan(context.Context, *QueryAppliedPlanRequest) (*QueryAppliedPlanResponse, error) }